Skip to content

Commit f2ff6c4

Browse files
committed
Add printast tests for anonymous variables
1 parent 5cb5ee0 commit f2ff6c4

File tree

3 files changed

+665
-1
lines changed

3 files changed

+665
-1
lines changed
Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
import java.io.Closeable;
2+
import java.util.List;
3+
import java.util.function.BiFunction;
4+
5+
record SubRecord(int z) { }
6+
record MyRecord(int x, SubRecord y) { }
7+
8+
public class AnonDecls {
9+
10+
public static void test(List<String> ss, Object o) {
11+
12+
// Note each construct is repeated to ensure this doesn't produce database inconsistencies
13+
14+
int _ = 1;
15+
int _ = 2;
16+
17+
try (Closeable _ = null) { } catch (Exception _) { }
18+
try (Closeable _ = null) { } catch (Exception _) { }
19+
20+
int x = 0;
21+
22+
for (int _ = 1; x < 10; x++) { }
23+
for (int _ = 2; x > 0; x--) { }
24+
25+
for (var _ : ss) { }
26+
for (var _ : ss) { }
27+
28+
BiFunction<Integer, Integer, Integer> f1 = (_, _) -> 1;
29+
BiFunction<Integer, Integer, Integer> f2 = (_, _) -> 2;
30+
31+
switch (o) {
32+
case SubRecord _:
33+
case MyRecord _:
34+
default:
35+
}
36+
37+
switch (o) {
38+
case SubRecord _:
39+
case MyRecord (int _, SubRecord _):
40+
default:
41+
}
42+
43+
switch (o) {
44+
case SubRecord _:
45+
case MyRecord (int _, SubRecord (int _)):
46+
default:
47+
}
48+
49+
switch (o) {
50+
case SubRecord _:
51+
case MyRecord (_, _):
52+
default:
53+
}
54+
55+
switch (o) {
56+
case MyRecord (_, _), SubRecord(_):
57+
default:
58+
}
59+
60+
switch (o) {
61+
case MyRecord (_, _), SubRecord(_) when ss != null:
62+
default:
63+
}
64+
65+
switch (o) {
66+
// Note use of binding patterns, not records with unnamed patterns as above
67+
case MyRecord _, SubRecord _:
68+
default:
69+
}
70+
71+
switch (o) {
72+
case SubRecord _ -> { }
73+
case MyRecord _ -> { }
74+
default -> { }
75+
}
76+
77+
switch (o) {
78+
case SubRecord _ -> { }
79+
case MyRecord (int _, SubRecord _) -> { }
80+
default -> { }
81+
}
82+
83+
switch (o) {
84+
case SubRecord _ -> { }
85+
case MyRecord (int _, SubRecord (int _)) -> { }
86+
default -> { }
87+
}
88+
89+
switch (o) {
90+
case SubRecord _ -> { }
91+
case MyRecord (_, _) -> { }
92+
default -> { }
93+
}
94+
95+
switch (o) {
96+
case MyRecord (_, _), SubRecord(_) -> { }
97+
default -> { }
98+
}
99+
100+
switch (o) {
101+
case MyRecord (_, _), SubRecord(_) when ss != null -> { }
102+
default -> { }
103+
}
104+
105+
var x1 = switch (o) {
106+
case SubRecord _:
107+
case MyRecord _:
108+
default:
109+
yield 1;
110+
};
111+
112+
var x2 = switch (o) {
113+
case SubRecord _:
114+
case MyRecord (int _, SubRecord _):
115+
default:
116+
yield 1;
117+
};
118+
119+
var x3 = switch (o) {
120+
case SubRecord _:
121+
case MyRecord (int _, SubRecord (int _)):
122+
default:
123+
yield 1;
124+
};
125+
126+
var x4 = switch (o) {
127+
case SubRecord _:
128+
case MyRecord (_, _):
129+
default:
130+
yield 1;
131+
};
132+
133+
var x5 = switch (o) {
134+
case MyRecord (_, _), SubRecord(_):
135+
default:
136+
yield 1;
137+
};
138+
139+
var x6 = switch (o) {
140+
case MyRecord (_, _), SubRecord(_) when ss != null:
141+
default:
142+
yield 1;
143+
};
144+
145+
var x7 = switch (o) {
146+
case SubRecord _ -> 1;
147+
case MyRecord _ -> 2;
148+
default -> 3;
149+
};
150+
151+
var x8 = switch (o) {
152+
case SubRecord _ -> 1;
153+
case MyRecord (int _, SubRecord _) -> 2;
154+
default -> 3;
155+
};
156+
157+
var x9 = switch (o) {
158+
case SubRecord _ -> 1;
159+
case MyRecord (int _, SubRecord (int _)) -> 2;
160+
default -> 3;
161+
};
162+
163+
var x10 = switch (o) {
164+
case SubRecord _ -> 1;
165+
case MyRecord (_, _) -> 2;
166+
default -> 3;
167+
};
168+
169+
var x11 = switch (o) {
170+
case MyRecord (_, _), SubRecord(_) -> 1;
171+
default -> 2;
172+
};
173+
174+
var x12 = switch (o) {
175+
case MyRecord (_, _), SubRecord(_) when ss != null -> 1;
176+
default -> 2;
177+
};
178+
179+
}
180+
181+
}

0 commit comments

Comments
 (0)