168 "enum TK { EOF(TokenKind.EOF, 0), NEW_MIDDLE(XEXPR1|XTERM)",
169 "enum TK { EOF(TokenKind.EOF, 0), NEW_MIDDLE(XEXPR1|XTERM); ",
170 "enum Tt { FOO, BAR, BAZ,;",
171 "class C",
172 "class C extends D",
173 "class C implements D",
174 "class C implements D, E",
175 "interface I extends D",
176 "interface I extends D, E",
177 "enum E",
178 "enum E implements I1",
179 "enum E implements I1, I2",
180 "@interface Anno",
181 "void f()",
182 "void f() throws E",
183 "@A(",
184 "int n = 4,",
185 "int n,",
186 "int[] m = {1, 2},",
187 "int[] m = {1, 2}, n = {3, 4},",
188 "Map<String,"
189 };
190
191 static final String[] unknown = new String[] {
192 "new ;"
193 };
194
195 static final Map<Completeness, String[]> statusToCases = new HashMap<>();
196 static {
197 statusToCases.put(COMPLETE, complete);
198 statusToCases.put(COMPLETE_WITH_SEMI, complete_with_semi);
199 statusToCases.put(CONSIDERED_INCOMPLETE, considered_incomplete);
200 statusToCases.put(DEFINITELY_INCOMPLETE, definitely_incomplete);
201 }
202
203 private void assertStatus(String input, Completeness status, String source) {
204 String augSrc;
205 switch (status) {
206 case COMPLETE_WITH_SEMI:
207 augSrc = source + ";";
208 break;
|
168 "enum TK { EOF(TokenKind.EOF, 0), NEW_MIDDLE(XEXPR1|XTERM)",
169 "enum TK { EOF(TokenKind.EOF, 0), NEW_MIDDLE(XEXPR1|XTERM); ",
170 "enum Tt { FOO, BAR, BAZ,;",
171 "class C",
172 "class C extends D",
173 "class C implements D",
174 "class C implements D, E",
175 "interface I extends D",
176 "interface I extends D, E",
177 "enum E",
178 "enum E implements I1",
179 "enum E implements I1, I2",
180 "@interface Anno",
181 "void f()",
182 "void f() throws E",
183 "@A(",
184 "int n = 4,",
185 "int n,",
186 "int[] m = {1, 2},",
187 "int[] m = {1, 2}, n = {3, 4},",
188 "Map<String,",
189 "switch (x) {",
190 "var v = switch (x) {",
191 "var v = switch (x) { case ",
192 "var v = switch (x) { case 0:",
193 "var v = switch (x) { case 0: break 12; ",
194 };
195
196 static final String[] unknown = new String[] {
197 "new ;"
198 };
199
200 static final Map<Completeness, String[]> statusToCases = new HashMap<>();
201 static {
202 statusToCases.put(COMPLETE, complete);
203 statusToCases.put(COMPLETE_WITH_SEMI, complete_with_semi);
204 statusToCases.put(CONSIDERED_INCOMPLETE, considered_incomplete);
205 statusToCases.put(DEFINITELY_INCOMPLETE, definitely_incomplete);
206 }
207
208 private void assertStatus(String input, Completeness status, String source) {
209 String augSrc;
210 switch (status) {
211 case COMPLETE_WITH_SEMI:
212 augSrc = source + ";";
213 break;
|