Add patterns module: pattern matching from JDK 21 to 27

Type, record and primitive patterns, guards, sealed exhaustiveness, MatchException via separate compilation, and eight captured transcripts.

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:50:40 +00:00
parent 96b25c8fc4
commit bc91b9c8d0
36 changed files with 736 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
$ javac src/RecordPatterns.java && java RecordPatterns (21.0.10+7-Ubuntu-124.04)
point at 3,4
not a point
7
box of string hi
box of int 7
box of 2.5
$ javac src/RecordPatterns.java && java RecordPatterns (25.0.4.1+1-LTS)
point at 3,4
not a point
7
box of string hi
box of int 7
box of 2.5
$ javac src/RecordPatterns.java && java RecordPatterns (27+35)
point at 3,4
not a point
7
box of string hi
box of int 7
box of 2.5
$ 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
$ javac src/MatchExceptionDemo.java && java MatchExceptionDemo (27+35)
MatchException: java.lang.IllegalStateException: accessor blew up
cause: java.lang.IllegalStateException: accessor blew up