Runnable sources, broken examples and captured transcripts for the ankurm.com JEP 513 article, including the JDK 25 vs 27 compiler wording differences. Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
80 lines
3.7 KiB
Plaintext
80 lines
3.7 KiB
Plaintext
$ javac broken/ReadFieldBeforeSuper.java (25.0.4.1+1)
|
|
ReadFieldBeforeSuper.java:5: error: cannot reference size before supertype constructor has been called
|
|
1 error
|
|
$ javac broken/ReadFieldBeforeSuper.java (27+35)
|
|
ReadFieldBeforeSuper.java:5: error: reference to size may only appear after an explicit constructor invocation
|
|
1 error
|
|
|
|
$ javac broken/CallMethodBeforeSuper.java (25.0.4.1+1)
|
|
CallMethodBeforeSuper.java:5: error: cannot reference compute() before supertype constructor has been called
|
|
1 error
|
|
$ javac broken/CallMethodBeforeSuper.java (27+35)
|
|
CallMethodBeforeSuper.java:5: error: reference to compute() may only appear after an explicit constructor invocation
|
|
1 error
|
|
|
|
$ javac broken/PassThisBeforeSuper.java (25.0.4.1+1)
|
|
PassThisBeforeSuper.java:4: error: cannot reference this before supertype constructor has been called
|
|
1 error
|
|
$ javac broken/PassThisBeforeSuper.java (27+35)
|
|
PassThisBeforeSuper.java:4: error: reference to this may only appear after an explicit constructor invocation
|
|
1 error
|
|
|
|
$ javac broken/ReadFinalBeforeAssign.java (25.0.4.1+1)
|
|
ReadFinalBeforeAssign.java:5: error: cannot reference this before supertype constructor has been called
|
|
1 error
|
|
$ javac broken/ReadFinalBeforeAssign.java (27+35)
|
|
ReadFinalBeforeAssign.java:5: error: reference to this may only appear after an explicit constructor invocation
|
|
1 error
|
|
|
|
$ javac broken/InnerOuterThis.java (25.0.4.1+1)
|
|
InnerOuterThis.java:5: error: cannot reference x before supertype constructor has been called
|
|
1 error
|
|
$ javac broken/InnerOuterThis.java (27+35)
|
|
InnerOuterThis.java:5: error: reference to x may only appear after an explicit constructor invocation
|
|
1 error
|
|
|
|
$ javac broken/NewInnerBeforeSuper.java (25.0.4.1+1)
|
|
NewInnerBeforeSuper.java:5: error: cannot reference this before supertype constructor has been called
|
|
1 error
|
|
$ javac broken/NewInnerBeforeSuper.java (27+35)
|
|
NewInnerBeforeSuper.java:5: error: reference to this may only appear after an explicit constructor invocation
|
|
1 error
|
|
|
|
$ javac broken/AssignFieldWithInitializer.java (25.0.4.1+1)
|
|
AssignFieldWithInitializer.java:5: error: cannot assign initialized field 'size' before supertype constructor has been called
|
|
1 error
|
|
$ javac broken/AssignFieldWithInitializer.java (27+35)
|
|
AssignFieldWithInitializer.java:5: error: assignment to initialized field 'size' may only appear after an explicit constructor invocation
|
|
1 error
|
|
|
|
$ javac broken/AssignInheritedField.java (25.0.4.1+1)
|
|
AssignInheritedField.java:4: error: cannot reference shared before supertype constructor has been called
|
|
1 error
|
|
$ javac broken/AssignInheritedField.java (27+35)
|
|
AssignInheritedField.java:4: error: reference to shared may only appear after an explicit constructor invocation
|
|
1 error
|
|
|
|
$ javac broken/ReturnBeforeSuper.java (25.0.4.1+1)
|
|
ReturnBeforeSuper.java:4: error: 'return' not allowed before explicit constructor invocation
|
|
1 error
|
|
$ javac broken/ReturnBeforeSuper.java (27+35)
|
|
ReturnBeforeSuper.java:4: error: 'return' not allowed before explicit constructor invocation
|
|
1 error
|
|
|
|
$ javac broken/SuperInBranch.java (25.0.4.1+1)
|
|
SuperInBranch.java:4: error: explicit constructor invocation not allowed here
|
|
SuperInBranch.java:4: error: explicit constructor invocation not allowed here
|
|
2 errors
|
|
$ javac broken/SuperInBranch.java (27+35)
|
|
SuperInBranch.java:4: error: explicit constructor invocation not allowed here
|
|
SuperInBranch.java:4: error: explicit constructor invocation not allowed here
|
|
2 errors
|
|
|
|
$ javac broken/TwoSuperCalls.java (25.0.4.1+1)
|
|
TwoSuperCalls.java:5: error: redundant explicit constructor invocation
|
|
1 error
|
|
$ javac broken/TwoSuperCalls.java (27+35)
|
|
TwoSuperCalls.java:5: error: redundant explicit constructor invocation
|
|
1 error
|
|
|