aboutsummaryrefslogtreecommitdiff
path: root/test/pretty
diff options
context:
space:
mode:
Diffstat (limited to 'test/pretty')
-rw-r--r--test/pretty/resource/after/RecordPattern.java15
-rw-r--r--test/pretty/resource/after/Switch19.java32
-rw-r--r--test/pretty/resource/before/RecordPattern.java16
-rw-r--r--test/pretty/resource/before/Switch17.java2
-rw-r--r--test/pretty/resource/before/Switch19.java33
5 files changed, 97 insertions, 1 deletions
diff --git a/test/pretty/resource/after/RecordPattern.java b/test/pretty/resource/after/RecordPattern.java
new file mode 100644
index 00000000..ad9fae0b
--- /dev/null
+++ b/test/pretty/resource/after/RecordPattern.java
@@ -0,0 +1,15 @@
+record Point(int x, int y) {
+}
+record Rectangle(Point upperLeft, Point lowerRight) {
+}
+
+public class RecordPattern {
+ void recordPattern(Object o) {
+ if (o instanceof Point(int x, int y)) {
+ }
+ if (o instanceof Point(int x, int y) p) {
+ }
+ if (o instanceof Rectangle(Point(int x1, int y1), Point(int x2, int y2))) {
+ }
+ }
+} \ No newline at end of file
diff --git a/test/pretty/resource/after/Switch19.java b/test/pretty/resource/after/Switch19.java
new file mode 100644
index 00000000..5947830b
--- /dev/null
+++ b/test/pretty/resource/after/Switch19.java
@@ -0,0 +1,32 @@
+public class Switch19 {
+ String switchPatternMatching(Object o) {
+ return switch (o) {
+ case Integer i -> String.format("int %d", i);
+ case Long l -> String.format("long %d", l);
+ case Double d -> String.format("double %f", d);
+ case String s -> String.format("String %s", s);
+ default -> o.toString();
+ };
+ }
+
+ String switchNull(Object o) {
+ return switch (o) {
+ case null, default -> "?";
+ };
+ }
+
+ String switchGuardPattern(Object o) {
+ return switch (o) {
+ case String s when s.length() > 1 -> s;
+ case String s -> s;
+ default -> o.toString();
+ };
+ }
+
+ String switchParenthesizedPattern(Object o) {
+ return switch (o) {
+ case (String s) -> s;
+ default -> o.toString();
+ };
+ }
+}
diff --git a/test/pretty/resource/before/RecordPattern.java b/test/pretty/resource/before/RecordPattern.java
new file mode 100644
index 00000000..93c07965
--- /dev/null
+++ b/test/pretty/resource/before/RecordPattern.java
@@ -0,0 +1,16 @@
+// version 19:
+record Point(int x, int y) {
+}
+record Rectangle(Point upperLeft, Point lowerRight) {
+}
+
+public class RecordPattern {
+ void recordPattern(Object o) {
+ if (o instanceof Point(int x, int y)) {
+ }
+ if (o instanceof Point(int x, int y) p) {
+ }
+ if (o instanceof Rectangle(Point(int x1, int y1), Point(int x2, int y2))) {
+ }
+ }
+} \ No newline at end of file
diff --git a/test/pretty/resource/before/Switch17.java b/test/pretty/resource/before/Switch17.java
index 17754e82..42a8f181 100644
--- a/test/pretty/resource/before/Switch17.java
+++ b/test/pretty/resource/before/Switch17.java
@@ -1,4 +1,4 @@
-// version 17:
+// version 17:18
public class Switch17 {
String switchPatternMatching(Object o) {
return switch (o) {
diff --git a/test/pretty/resource/before/Switch19.java b/test/pretty/resource/before/Switch19.java
new file mode 100644
index 00000000..05b27928
--- /dev/null
+++ b/test/pretty/resource/before/Switch19.java
@@ -0,0 +1,33 @@
+// version 19:
+public class Switch19 {
+ String switchPatternMatching(Object o) {
+ return switch (o) {
+ case Integer i -> String.format("int %d", i);
+ case Long l -> String.format("long %d", l);
+ case Double d -> String.format("double %f", d);
+ case String s -> String.format("String %s", s);
+ default -> o.toString();
+ };
+ }
+
+ String switchNull(Object o) {
+ return switch (o) {
+ case null, default -> "?";
+ };
+ }
+
+ String switchGuardPattern(Object o) {
+ return switch (o) {
+ case String s when s.length() > 1 -> s;
+ case String s -> s;
+ default -> o.toString();
+ };
+ }
+
+ String switchParenthesizedPattern(Object o) {
+ return switch (o) {
+ case (String s) -> s;
+ default -> o.toString();
+ };
+ }
+}