Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ic4b5DfjBGLBr7F5km2AN
21 lines
910 B
Bash
Executable File
21 lines
910 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Compiles each file in src/broken/ (they are NOT part of the Maven build) and captures javac's own message.
|
|
set -uo pipefail
|
|
cd "$(dirname "$0")/../src/broken"
|
|
out=../../output/07-compile-errors.txt
|
|
: > "$out"
|
|
for f in FinalOverride CheckedNotHandled LossyCast MissingReturnAndUnreachable; do
|
|
echo "=== javac $f.java ===" >> "$out"
|
|
javac --release 25 -d /tmp/fresher-broken "$f.java" 2>&1 | grep -v '^Picked up JAVA_TOOL_OPTIONS' >> "$out"
|
|
echo >> "$out"
|
|
done
|
|
# The same file under both language levels: an error before Java 25, fine from Java 25 (JEP 513).
|
|
for rel in 21 25; do
|
|
echo "=== javac --release $rel PreSuper.java ===" >> "$out"
|
|
if javac --release "$rel" -d /tmp/fresher-broken "PreSuper.java" 2>&1 | grep -v '^Picked up JAVA_TOOL_OPTIONS' >> "$out"; [ "${PIPESTATUS[0]}" -eq 0 ]; then
|
|
echo "compiled without errors" >> "$out"
|
|
fi
|
|
echo >> "$out"
|
|
done
|
|
cat "$out"
|