copying: fold in graph copying (shared nodes, cycles, identity-map fix), serialization rules (constructors, record canonical constructor, ObjectInputFilter), record array components, clone() as a defensive copy, two more compile-error exhibits; 24 tests

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017ic4b4BL3cEPHQTk2McE7C
This commit is contained in:
2026-11-12 20:29:58 +05:30
co-authored by Claude Sonnet 5.5
parent 38fbd513c9
commit c8588ae520
17 changed files with 442 additions and 11 deletions
+12 -6
View File
@@ -1,9 +1,15 @@
#!/usr/bin/env bash
# Compiles the deliberately broken source and captures the compiler's own message.
# Compiles each deliberately broken source and captures the compiler's own message.
cd "$(dirname "$0")/.."
OUT=$(mktemp -d)
{
echo '$ javac src/broken/FinalFieldClone.java'
javac -d "$OUT" src/broken/FinalFieldClone.java 2>&1 | grep -v '^Picked up JAVA_TOOL_OPTIONS' || true
} > output/02-final-field-clone.txt
cat output/02-final-field-clone.txt
capture() { # <source file name> <output name>
{
echo "\$ javac src/broken/$1"
javac -d "$OUT" "src/broken/$1" 2>&1 | grep -v '^Picked up JAVA_TOOL_OPTIONS' || true
} > "output/$2.txt"
cat "output/$2.txt"
}
capture FinalFieldClone.java 02-final-field-clone
capture ForgotToOverride.java 16-forgot-override
capture WithExpression.java 17-with-expression
rm -rf "$OUT"