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
+1
View File
@@ -0,0 +1 @@
public record Circle(double r) implements Shape {}
+6
View File
@@ -0,0 +1,6 @@
public class Main {
public static void main(String[] args) {
// Triangle exists only in v2. Client was compiled before it did.
System.out.println("triangle: " + Client.area(new Triangle(3, 4)));
}
}
+1
View File
@@ -0,0 +1 @@
public sealed interface Shape permits Circle, Square, Triangle {}
+1
View File
@@ -0,0 +1 @@
public record Square(double side) implements Shape {}
+1
View File
@@ -0,0 +1 @@
public record Triangle(double base, double height) implements Shape {}