patterns: run Guards, NullCase and MatchException demos on 21 too; add switch-on-long check

Adds broken/SwitchOnLong.java and regenerates transcripts so every 'runs on 21, 25 and 27' claim has a transcript. Additive commit.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
This commit is contained in:
Claude
2026-09-24 11:54:48 +00:00
parent bc91b9c8d0
commit 65a4bbbbe3
6 changed files with 52 additions and 3 deletions
@@ -1,3 +1,11 @@
$ javac src/Guards.java && java Guards (21.0.10+7-Ubuntu-124.04)
empty string
short string: abc
long string: abcdefgh
negative -4
int 12
other
$ javac src/Guards.java && java Guards (25.0.4.1+1-LTS)
empty string
short string: abc
+4
View File
@@ -22,6 +22,10 @@ box of string hi
box of int 7
box of 2.5
$ javac src/MatchExceptionDemo.java && java MatchExceptionDemo (21.0.10+7-Ubuntu-124.04)
MatchException: java.lang.IllegalStateException: accessor blew up
cause: java.lang.IllegalStateException: accessor blew up
$ javac src/MatchExceptionDemo.java && java MatchExceptionDemo (25.0.4.1+1-LTS)
MatchException: java.lang.IllegalStateException: accessor blew up
cause: java.lang.IllegalStateException: accessor blew up
+6
View File
@@ -1,3 +1,9 @@
$ javac src/NullCase.java && java NullCase (21.0.10+7-Ubuntu-124.04)
without case null: NullPointerException
with case null: null!
case null, default: null or something else
instanceof with null: false
$ javac src/NullCase.java && java NullCase (25.0.4.1+1-LTS)
without case null: NullPointerException
with case null: null!
+20
View File
@@ -12,6 +12,26 @@ preview/PrimitiveInstanceof.java:3: error: primitive patterns are a preview feat
(use --enable-preview to enable primitive patterns)
1 error
$ javac broken/SwitchOnLong.java (21.0.10+7-Ubuntu-124.04)
broken/SwitchOnLong.java:4: error: selector type long is not allowed
String s = switch (n) { // switch on long: not allowed without the preview
^
1 error
$ javac broken/SwitchOnLong.java (25.0.4.1+1-LTS)
broken/SwitchOnLong.java:4: error: primitive patterns are a preview feature and are disabled by default.
String s = switch (n) { // switch on long: not allowed without the preview
^
(use --enable-preview to enable primitive patterns)
1 error
$ javac broken/SwitchOnLong.java (27+35)
broken/SwitchOnLong.java:4: error: primitive patterns are a preview feature and are disabled by default.
String s = switch (n) { // switch on long: not allowed without the preview
^
(use --enable-preview to enable primitive patterns)
1 error
$ javac --enable-preview --release 25 preview/PrimitiveInstanceof.java && java --enable-preview PrimitiveInstanceof (25.0.4.1+1-LTS)
100 fits in a byte: 100
1000 fits in a short: 1000