Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(688)

Side by Side Diff: pkg/analyzer-experimental/test/generated/parser_test.dart

Issue 12188023: Generated scanner and parser tests. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | pkg/analyzer-experimental/test/generated/scanner_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // This code was auto-generated, is not intended to be edited, and is subject to
2 // significant change. Please see the README file for more information.
3
4 library engine.parser_test;
5
6 import 'dart:collection';
7 import 'package:analyzer-experimental/src/generated/java_core.dart';
8 import 'package:analyzer-experimental/src/generated/java_engine.dart';
9 import 'package:analyzer-experimental/src/generated/java_junit.dart';
10 import 'package:analyzer-experimental/src/generated/source.dart';
11 import 'package:analyzer-experimental/src/generated/error.dart';
12 import 'package:analyzer-experimental/src/generated/scanner.dart';
13 import 'package:analyzer-experimental/src/generated/ast.dart';
14 import 'package:analyzer-experimental/src/generated/parser.dart';
15 import 'package:analyzer-experimental/src/generated/utilities_dart.dart';
16 import 'package:unittest/unittest.dart' as _ut;
17 import 'test_support.dart';
18 import 'scanner_test.dart' show TokenFactory;
19
20 class ParserTestCase extends EngineTestCase {
21 /**
22 * An empty array of objects used as arguments to zero-argument methods.
23 */
24 static List<Object> _EMPTY_ARGUMENTS = new List<Object>.fixedLength(0);
25 /**
26 * Invoke a parse method in {@link Parser}. The method is assumed to have the given number and
27 * type of parameters and will be invoked with the given arguments.
28 * <p>
29 * The given source is scanned and the parser is initialized to start with the first token in the
30 * source before the parse method is invoked.
31 * @param methodName the name of the parse method that should be invoked to pa rse the source
32 * @param objects the values of the arguments to the method
33 * @param source the source to be parsed by the parse method
34 * @return the result of invoking the method
35 * @throws Exception if the method could not be invoked or throws an exception
36 * @throws AssertionFailedError if the result is {@code null} or if any errors are produced
37 */
38 static Object parse(String methodName, List<Object> objects, String source) => parse2(methodName, objects, source, new List<AnalysisError>.fixedLength(0));
39 /**
40 * Invoke a parse method in {@link Parser}. The method is assumed to have the given number and
41 * type of parameters and will be invoked with the given arguments.
42 * <p>
43 * The given source is scanned and the parser is initialized to start with the first token in the
44 * source before the parse method is invoked.
45 * @param methodName the name of the parse method that should be invoked to pa rse the source
46 * @param objects the values of the arguments to the method
47 * @param source the source to be parsed by the parse method
48 * @param errorCodes the error codes of the errors that should be generated
49 * @return the result of invoking the method
50 * @throws Exception if the method could not be invoked or throws an exception
51 * @throws AssertionFailedError if the result is {@code null} or the errors pr oduced while
52 * scanning and parsing the source do not match the expected errors
53 */
54 static Object parse2(String methodName, List<Object> objects, String source, L ist<AnalysisError> errors) {
55 GatheringErrorListener listener = new GatheringErrorListener();
56 Object result = invokeParserMethod(methodName, objects, source, listener);
57 listener.assertErrors(errors);
58 return result;
59 }
60 /**
61 * Invoke a parse method in {@link Parser}. The method is assumed to have the given number and
62 * type of parameters and will be invoked with the given arguments.
63 * <p>
64 * The given source is scanned and the parser is initialized to start with the first token in the
65 * source before the parse method is invoked.
66 * @param methodName the name of the parse method that should be invoked to pa rse the source
67 * @param objects the values of the arguments to the method
68 * @param source the source to be parsed by the parse method
69 * @param errorCodes the error codes of the errors that should be generated
70 * @return the result of invoking the method
71 * @throws Exception if the method could not be invoked or throws an exception
72 * @throws AssertionFailedError if the result is {@code null} or the errors pr oduced while
73 * scanning and parsing the source do not match the expected errors
74 */
75 static Object parse3(String methodName, List<Object> objects, String source, L ist<ErrorCode> errorCodes) {
76 GatheringErrorListener listener = new GatheringErrorListener();
77 Object result = invokeParserMethod(methodName, objects, source, listener);
78 listener.assertErrors2(errorCodes);
79 return result;
80 }
81 /**
82 * Invoke a parse method in {@link Parser}. The method is assumed to have no a rguments.
83 * <p>
84 * The given source is scanned and the parser is initialized to start with the first token in the
85 * source before the parse method is invoked.
86 * @param methodName the name of the parse method that should be invoked to pa rse the source
87 * @param source the source to be parsed by the parse method
88 * @param errorCodes the error codes of the errors that should be generated
89 * @return the result of invoking the method
90 * @throws Exception if the method could not be invoked or throws an exception
91 * @throws AssertionFailedError if the result is {@code null} or the errors pr oduced while
92 * scanning and parsing the source do not match the expected errors
93 */
94 static Object parse4(String methodName, String source, List<ErrorCode> errorCo des) => parse3(methodName, ParserTestCase._EMPTY_ARGUMENTS, source, errorCodes);
95 /**
96 * Parse the given source as a compilation unit.
97 * @param source the source to be parsed
98 * @param errorCodes the error codes of the errors that are expected to be fou nd
99 * @return the compilation unit that was parsed
100 * @throws Exception if the source could not be parsed, if the compilation err ors in the source do
101 * not match those that are expected, or if the result would have been {@code null}
102 */
103 static CompilationUnit parseCompilationUnit(String source, List<ErrorCode> err orCodes) {
104 GatheringErrorListener listener = new GatheringErrorListener();
105 StringScanner scanner = new StringScanner(null, source, listener);
106 listener.setLineInfo(new TestSource(), scanner.lineStarts);
107 Token token = scanner.tokenize();
108 Parser parser = new Parser(null, listener);
109 CompilationUnit unit = parser.parseCompilationUnit(token);
110 JUnitTestCase.assertNotNull(unit);
111 listener.assertErrors2(errorCodes);
112 return unit;
113 }
114 /**
115 * Parse the given source as an expression.
116 * @param source the source to be parsed
117 * @param errorCodes the error codes of the errors that are expected to be fou nd
118 * @return the expression that was parsed
119 * @throws Exception if the source could not be parsed, if the compilation err ors in the source do
120 * not match those that are expected, or if the result would have been {@code null}
121 */
122 static Expression parseExpression(String source, List<ErrorCode> errorCodes) {
123 GatheringErrorListener listener = new GatheringErrorListener();
124 StringScanner scanner = new StringScanner(null, source, listener);
125 listener.setLineInfo(new TestSource(), scanner.lineStarts);
126 Token token = scanner.tokenize();
127 Parser parser = new Parser(null, listener);
128 Expression expression = parser.parseExpression(token);
129 JUnitTestCase.assertNotNull(expression);
130 listener.assertErrors2(errorCodes);
131 return expression as Expression;
132 }
133 /**
134 * Parse the given source as a statement.
135 * @param source the source to be parsed
136 * @param errorCodes the error codes of the errors that are expected to be fou nd
137 * @return the statement that was parsed
138 * @throws Exception if the source could not be parsed, if the compilation err ors in the source do
139 * not match those that are expected, or if the result would have been {@code null}
140 */
141 static Statement parseStatement(String source, List<ErrorCode> errorCodes) {
142 GatheringErrorListener listener = new GatheringErrorListener();
143 StringScanner scanner = new StringScanner(null, source, listener);
144 listener.setLineInfo(new TestSource(), scanner.lineStarts);
145 Token token = scanner.tokenize();
146 Parser parser = new Parser(null, listener);
147 Statement statement = parser.parseStatement(token);
148 JUnitTestCase.assertNotNull(statement);
149 listener.assertErrors2(errorCodes);
150 return statement as Statement;
151 }
152 /**
153 * Parse the given source as a sequence of statements.
154 * @param source the source to be parsed
155 * @param expectedCount the number of statements that are expected
156 * @param errorCodes the error codes of the errors that are expected to be fou nd
157 * @return the statements that were parsed
158 * @throws Exception if the source could not be parsed, if the number of state ments does not match
159 * the expected count, if the compilation errors in the source do not match th ose that
160 * are expected, or if the result would have been {@code null}
161 */
162 static List<Statement> parseStatements(String source, int expectedCount, List< ErrorCode> errorCodes) {
163 GatheringErrorListener listener = new GatheringErrorListener();
164 StringScanner scanner = new StringScanner(null, source, listener);
165 listener.setLineInfo(new TestSource(), scanner.lineStarts);
166 Token token = scanner.tokenize();
167 Parser parser = new Parser(null, listener);
168 List<Statement> statements = parser.parseStatements(token);
169 EngineTestCase.assertSize(expectedCount, statements);
170 listener.assertErrors2(errorCodes);
171 return statements;
172 }
173 /**
174 * Invoke a method in {@link Parser}. The method is assumed to have the given number and type of
175 * parameters and will be invoked with the given arguments.
176 * <p>
177 * The given source is scanned and the parser is initialized to start with the first token in the
178 * source before the method is invoked.
179 * @param methodName the name of the method that should be invoked
180 * @param objects the values of the arguments to the method
181 * @param source the source to be processed by the parse method
182 * @param listener the error listener that will be used for both scanning and parsing
183 * @return the result of invoking the method
184 * @throws Exception if the method could not be invoked or throws an exception
185 * @throws AssertionFailedError if the result is {@code null} or the errors pr oduced while
186 * scanning and parsing the source do not match the expected errors
187 */
188 static Object invokeParserMethod(String methodName, List<Object> objects, Stri ng source, GatheringErrorListener listener) {
189 StringScanner scanner = new StringScanner(null, source, listener);
190 Token tokenStream = scanner.tokenize();
191 listener.setLineInfo(new TestSource(), scanner.lineStarts);
192 Parser parser = new Parser(null, listener);
193 Object result = invokeParserMethodImpl(parser, methodName, objects, tokenStr eam);
194 JUnitTestCase.assertNotNull(result);
195 return result as Object;
196 }
197 /**
198 * Invoke a method in {@link Parser}. The method is assumed to have no argumen ts.
199 * <p>
200 * The given source is scanned and the parser is initialized to start with the first token in the
201 * source before the method is invoked.
202 * @param methodName the name of the method that should be invoked
203 * @param source the source to be processed by the parse method
204 * @param listener the error listener that will be used for both scanning and parsing
205 * @return the result of invoking the method
206 * @throws Exception if the method could not be invoked or throws an exception
207 * @throws AssertionFailedError if the result is {@code null} or the errors pr oduced while
208 * scanning and parsing the source do not match the expected errors
209 */
210 static Object invokeParserMethod2(String methodName, String source, GatheringE rrorListener listener) => invokeParserMethod(methodName, ParserTestCase._EMPTY_A RGUMENTS, source, listener);
211 /**
212 * Return a CommentAndMetadata object with the given values that can be used f or testing.
213 * @param comment the comment to be wrapped in the object
214 * @param annotations the annotations to be wrapped in the object
215 * @return a CommentAndMetadata object that can be used for testing
216 */
217 CommentAndMetadata commentAndMetadata(Comment comment, List<Annotation> annota tions) {
218 List<Annotation> metadata = new List<Annotation>();
219 for (Annotation annotation in annotations) {
220 metadata.add(annotation);
221 }
222 return new CommentAndMetadata(comment, metadata);
223 }
224 /**
225 * Return an empty CommentAndMetadata object that can be used for testing.
226 * @return an empty CommentAndMetadata object that can be used for testing
227 */
228 CommentAndMetadata emptyCommentAndMetadata() => new CommentAndMetadata(null, n ew List<Annotation>());
229 static dartSuite() {
230 _ut.group('ParserTestCase', () {
231 });
232 }
233 }
234 /**
235 * Instances of the class {@code ASTValidator} are used to validate the correct construction of an
236 * AST structure.
237 */
238 class ASTValidator extends GeneralizingASTVisitor<Object> {
239 /**
240 * A list containing the errors found while traversing the AST structure.
241 */
242 List<String> _errors = new List<String>();
243 /**
244 * Assert that no errors were found while traversing any of the AST structures that have been
245 * visited.
246 */
247 void assertValid() {
248 if (!_errors.isEmpty) {
249 StringBuffer builder = new StringBuffer();
250 builder.add("Invalid AST structure:");
251 for (String message in _errors) {
252 builder.add("\r\n ");
253 builder.add(message);
254 }
255 JUnitTestCase.fail(builder.toString());
256 }
257 }
258 Object visitNode(ASTNode node) {
259 validate(node);
260 return super.visitNode(node);
261 }
262 /**
263 * Validate that the given AST node is correctly constructed.
264 * @param node the AST node being validated
265 */
266 void validate(ASTNode node) {
267 ASTNode parent12 = node.parent;
268 if (node is CompilationUnit) {
269 if (parent12 != null) {
270 _errors.add("Compilation units should not have a parent");
271 }
272 } else {
273 if (parent12 == null) {
274 _errors.add("No parent for ${node.runtimeType.toString()}");
275 }
276 }
277 if (node.beginToken == null) {
278 _errors.add("No begin token for ${node.runtimeType.toString()}");
279 }
280 if (node.endToken == null) {
281 _errors.add("No end token for ${node.runtimeType.toString()}");
282 }
283 int nodeStart = node.offset;
284 int nodeLength = node.length;
285 if (nodeStart < 0 || nodeLength < 0) {
286 _errors.add("No source info for ${node.runtimeType.toString()}");
287 }
288 if (parent12 != null) {
289 int nodeEnd = nodeStart + nodeLength;
290 int parentStart = parent12.offset;
291 int parentEnd = parentStart + parent12.length;
292 if (nodeStart < parentStart) {
293 _errors.add("Invalid source start (${nodeStart}) for ${node.runtimeType. toString()} inside ${parent12.runtimeType.toString()} (${parentStart})");
294 }
295 if (nodeEnd > parentEnd) {
296 _errors.add("Invalid source end (${nodeEnd}) for ${node.runtimeType.toSt ring()} inside ${parent12.runtimeType.toString()} (${parentStart})");
297 }
298 }
299 }
300 }
301 /**
302 * The class {@code RecoveryParserTest} defines parser tests that test the parsi ng of invalid code
303 * sequences to ensure that the correct recovery steps are taken in the parser.
304 */
305 class RecoveryParserTest extends ParserTestCase {
306 void test_additiveExpression_missing_LHS() {
307 BinaryExpression expression = ParserTestCase.parseExpression("+ y", [ParserE rrorCode.USE_OF_UNARY_PLUS_OPERATOR]);
308 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
309 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
310 }
311 void test_additiveExpression_missing_LHS_RHS() {
312 BinaryExpression expression = ParserTestCase.parseExpression("+", [ParserErr orCode.USE_OF_UNARY_PLUS_OPERATOR]);
313 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
314 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
315 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
316 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
317 }
318 void test_additiveExpression_missing_RHS() {
319 BinaryExpression expression = ParserTestCase.parseExpression("x +", []);
320 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
321 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
322 }
323 void test_additiveExpression_missing_RHS_super() {
324 BinaryExpression expression = ParserTestCase.parseExpression("super +", []);
325 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
326 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
327 }
328 void test_additiveExpression_precedence_multiplicative_left() {
329 BinaryExpression expression = ParserTestCase.parseExpression("* +", [ParserE rrorCode.USE_OF_UNARY_PLUS_OPERATOR]);
330 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
331 }
332 void test_additiveExpression_precedence_multiplicative_right() {
333 BinaryExpression expression = ParserTestCase.parseExpression("+ *", [ParserE rrorCode.USE_OF_UNARY_PLUS_OPERATOR]);
334 EngineTestCase.assertInstanceOf(BinaryExpression, expression.rightOperand);
335 }
336 void test_additiveExpression_super() {
337 BinaryExpression expression = ParserTestCase.parseExpression("super + +", [P arserErrorCode.USE_OF_UNARY_PLUS_OPERATOR]);
338 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
339 }
340 void test_argumentDefinitionTest_missing_identifier() {
341 ArgumentDefinitionTest expression = ParserTestCase.parseExpression("?", [Par serErrorCode.MISSING_IDENTIFIER]);
342 JUnitTestCase.assertTrue(expression.identifier.isSynthetic());
343 }
344 void test_assignmentExpression_missing_compound1() {
345 AssignmentExpression expression = ParserTestCase.parseExpression("= y = 0", []);
346 Expression syntheticExpression = expression.leftHandSide;
347 EngineTestCase.assertInstanceOf(SimpleIdentifier, syntheticExpression);
348 JUnitTestCase.assertTrue(syntheticExpression.isSynthetic());
349 }
350 void test_assignmentExpression_missing_compound2() {
351 AssignmentExpression expression = ParserTestCase.parseExpression("x = = 0", []);
352 Expression syntheticExpression = (expression.rightHandSide as AssignmentExpr ession).leftHandSide;
353 EngineTestCase.assertInstanceOf(SimpleIdentifier, syntheticExpression);
354 JUnitTestCase.assertTrue(syntheticExpression.isSynthetic());
355 }
356 void test_assignmentExpression_missing_compound3() {
357 AssignmentExpression expression = ParserTestCase.parseExpression("x = y =", []);
358 Expression syntheticExpression = (expression.rightHandSide as AssignmentExpr ession).rightHandSide;
359 EngineTestCase.assertInstanceOf(SimpleIdentifier, syntheticExpression);
360 JUnitTestCase.assertTrue(syntheticExpression.isSynthetic());
361 }
362 void test_assignmentExpression_missing_LHS() {
363 AssignmentExpression expression = ParserTestCase.parseExpression("= 0", []);
364 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftHandSide);
365 JUnitTestCase.assertTrue(expression.leftHandSide.isSynthetic());
366 }
367 void test_assignmentExpression_missing_RHS() {
368 AssignmentExpression expression = ParserTestCase.parseExpression("x =", []);
369 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftHandSide);
370 JUnitTestCase.assertTrue(expression.rightHandSide.isSynthetic());
371 }
372 void test_bitwiseAndExpression_missing_LHS() {
373 BinaryExpression expression = ParserTestCase.parseExpression("& y", []);
374 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
375 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
376 }
377 void test_bitwiseAndExpression_missing_LHS_RHS() {
378 BinaryExpression expression = ParserTestCase.parseExpression("&", []);
379 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
380 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
381 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
382 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
383 }
384 void test_bitwiseAndExpression_missing_RHS() {
385 BinaryExpression expression = ParserTestCase.parseExpression("x &", []);
386 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
387 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
388 }
389 void test_bitwiseAndExpression_missing_RHS_super() {
390 BinaryExpression expression = ParserTestCase.parseExpression("super &", []);
391 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
392 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
393 }
394 void test_bitwiseAndExpression_precedence_equality_left() {
395 BinaryExpression expression = ParserTestCase.parseExpression("== &", []);
396 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
397 }
398 void test_bitwiseAndExpression_precedence_equality_right() {
399 BinaryExpression expression = ParserTestCase.parseExpression("& ==", []);
400 EngineTestCase.assertInstanceOf(BinaryExpression, expression.rightOperand);
401 }
402 void test_bitwiseAndExpression_super() {
403 BinaryExpression expression = ParserTestCase.parseExpression("super & &", [ ]);
404 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
405 }
406 void test_bitwiseOrExpression_missing_LHS() {
407 BinaryExpression expression = ParserTestCase.parseExpression("| y", []);
408 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
409 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
410 }
411 void test_bitwiseOrExpression_missing_LHS_RHS() {
412 BinaryExpression expression = ParserTestCase.parseExpression("|", []);
413 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
414 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
415 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
416 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
417 }
418 void test_bitwiseOrExpression_missing_RHS() {
419 BinaryExpression expression = ParserTestCase.parseExpression("x |", []);
420 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
421 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
422 }
423 void test_bitwiseOrExpression_missing_RHS_super() {
424 BinaryExpression expression = ParserTestCase.parseExpression("super |", []);
425 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
426 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
427 }
428 void test_bitwiseOrExpression_precedence_xor_left() {
429 BinaryExpression expression = ParserTestCase.parseExpression("^ |", []);
430 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
431 }
432 void test_bitwiseOrExpression_precedence_xor_right() {
433 BinaryExpression expression = ParserTestCase.parseExpression("| ^", []);
434 EngineTestCase.assertInstanceOf(BinaryExpression, expression.rightOperand);
435 }
436 void test_bitwiseOrExpression_super() {
437 BinaryExpression expression = ParserTestCase.parseExpression("super | |", [ ]);
438 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
439 }
440 void test_bitwiseXorExpression_missing_LHS() {
441 BinaryExpression expression = ParserTestCase.parseExpression("^ y", []);
442 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
443 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
444 }
445 void test_bitwiseXorExpression_missing_LHS_RHS() {
446 BinaryExpression expression = ParserTestCase.parseExpression("^", []);
447 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
448 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
449 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
450 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
451 }
452 void test_bitwiseXorExpression_missing_RHS() {
453 BinaryExpression expression = ParserTestCase.parseExpression("x ^", []);
454 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
455 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
456 }
457 void test_bitwiseXorExpression_missing_RHS_super() {
458 BinaryExpression expression = ParserTestCase.parseExpression("super ^", []);
459 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
460 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
461 }
462 void test_bitwiseXorExpression_precedence_and_left() {
463 BinaryExpression expression = ParserTestCase.parseExpression("& ^", []);
464 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
465 }
466 void test_bitwiseXorExpression_precedence_and_right() {
467 BinaryExpression expression = ParserTestCase.parseExpression("^ &", []);
468 EngineTestCase.assertInstanceOf(BinaryExpression, expression.rightOperand);
469 }
470 void test_bitwiseXorExpression_super() {
471 BinaryExpression expression = ParserTestCase.parseExpression("super ^ ^", [ ]);
472 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
473 }
474 void test_conditionalExpression_missingElse() {
475 ConditionalExpression expression = ParserTestCase.parse4("parseConditionalEx pression", "x ? y :", []);
476 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.elseExpression) ;
477 JUnitTestCase.assertTrue(expression.elseExpression.isSynthetic());
478 }
479 void test_conditionalExpression_missingThen() {
480 ConditionalExpression expression = ParserTestCase.parse4("parseConditionalEx pression", "x ? : z", []);
481 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.thenExpression) ;
482 JUnitTestCase.assertTrue(expression.thenExpression.isSynthetic());
483 }
484 void test_equalityExpression_missing_LHS() {
485 BinaryExpression expression = ParserTestCase.parseExpression("== y", []);
486 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
487 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
488 }
489 void test_equalityExpression_missing_LHS_RHS() {
490 BinaryExpression expression = ParserTestCase.parseExpression("==", []);
491 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
492 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
493 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
494 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
495 }
496 void test_equalityExpression_missing_RHS() {
497 BinaryExpression expression = ParserTestCase.parseExpression("x ==", []);
498 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
499 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
500 }
501 void test_equalityExpression_missing_RHS_super() {
502 BinaryExpression expression = ParserTestCase.parseExpression("super ==", []) ;
503 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
504 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
505 }
506 void test_equalityExpression_precedence_relational_left() {
507 BinaryExpression expression = ParserTestCase.parseExpression("is ==", [Parse rErrorCode.MISSING_IDENTIFIER]);
508 EngineTestCase.assertInstanceOf(IsExpression, expression.leftOperand);
509 }
510 void test_equalityExpression_precedence_relational_right() {
511 BinaryExpression expression = ParserTestCase.parseExpression("== is", [Parse rErrorCode.MISSING_IDENTIFIER]);
512 EngineTestCase.assertInstanceOf(IsExpression, expression.rightOperand);
513 }
514 void test_equalityExpression_super() {
515 BinaryExpression expression = ParserTestCase.parseExpression("super == ==", []);
516 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
517 }
518 void test_expressionList_multiple_end() {
519 List<Expression> result = ParserTestCase.parse4("parseExpressionList", ", 2, 3, 4", []);
520 EngineTestCase.assertSize(4, result);
521 Expression syntheticExpression = result[0];
522 EngineTestCase.assertInstanceOf(SimpleIdentifier, syntheticExpression);
523 JUnitTestCase.assertTrue(syntheticExpression.isSynthetic());
524 }
525 void test_expressionList_multiple_middle() {
526 List<Expression> result = ParserTestCase.parse4("parseExpressionList", "1, 2 , , 4", []);
527 EngineTestCase.assertSize(4, result);
528 Expression syntheticExpression = result[2];
529 EngineTestCase.assertInstanceOf(SimpleIdentifier, syntheticExpression);
530 JUnitTestCase.assertTrue(syntheticExpression.isSynthetic());
531 }
532 void test_expressionList_multiple_start() {
533 List<Expression> result = ParserTestCase.parse4("parseExpressionList", "1, 2 , 3,", []);
534 EngineTestCase.assertSize(4, result);
535 Expression syntheticExpression = result[3];
536 EngineTestCase.assertInstanceOf(SimpleIdentifier, syntheticExpression);
537 JUnitTestCase.assertTrue(syntheticExpression.isSynthetic());
538 }
539 void test_logicalAndExpression_missing_LHS() {
540 BinaryExpression expression = ParserTestCase.parseExpression("&& y", []);
541 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
542 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
543 }
544 void test_logicalAndExpression_missing_LHS_RHS() {
545 BinaryExpression expression = ParserTestCase.parseExpression("&&", []);
546 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
547 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
548 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
549 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
550 }
551 void test_logicalAndExpression_missing_RHS() {
552 BinaryExpression expression = ParserTestCase.parseExpression("x &&", []);
553 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
554 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
555 }
556 void test_logicalAndExpression_precedence_bitwiseOr_left() {
557 BinaryExpression expression = ParserTestCase.parseExpression("| &&", []);
558 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
559 }
560 void test_logicalAndExpression_precedence_bitwiseOr_right() {
561 BinaryExpression expression = ParserTestCase.parseExpression("&& |", []);
562 EngineTestCase.assertInstanceOf(BinaryExpression, expression.rightOperand);
563 }
564 void test_logicalOrExpression_missing_LHS() {
565 BinaryExpression expression = ParserTestCase.parseExpression("|| y", []);
566 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
567 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
568 }
569 void test_logicalOrExpression_missing_LHS_RHS() {
570 BinaryExpression expression = ParserTestCase.parseExpression("||", []);
571 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
572 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
573 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
574 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
575 }
576 void test_logicalOrExpression_missing_RHS() {
577 BinaryExpression expression = ParserTestCase.parseExpression("x ||", []);
578 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
579 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
580 }
581 void test_logicalOrExpression_precedence_logicalAnd_left() {
582 BinaryExpression expression = ParserTestCase.parseExpression("&& ||", []);
583 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
584 }
585 void test_logicalOrExpression_precedence_logicalAnd_right() {
586 BinaryExpression expression = ParserTestCase.parseExpression("|| &&", []);
587 EngineTestCase.assertInstanceOf(BinaryExpression, expression.rightOperand);
588 }
589 void test_multiplicativeExpression_missing_LHS() {
590 BinaryExpression expression = ParserTestCase.parseExpression("* y", []);
591 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
592 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
593 }
594 void test_multiplicativeExpression_missing_LHS_RHS() {
595 BinaryExpression expression = ParserTestCase.parseExpression("*", []);
596 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
597 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
598 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
599 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
600 }
601 void test_multiplicativeExpression_missing_RHS() {
602 BinaryExpression expression = ParserTestCase.parseExpression("x *", []);
603 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
604 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
605 }
606 void test_multiplicativeExpression_missing_RHS_super() {
607 BinaryExpression expression = ParserTestCase.parseExpression("super *", []);
608 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
609 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
610 }
611 void test_multiplicativeExpression_precedence_unary_left() {
612 BinaryExpression expression = ParserTestCase.parseExpression("-x *", []);
613 EngineTestCase.assertInstanceOf(PrefixExpression, expression.leftOperand);
614 }
615 void test_multiplicativeExpression_precedence_unary_right() {
616 BinaryExpression expression = ParserTestCase.parseExpression("* -y", []);
617 EngineTestCase.assertInstanceOf(PrefixExpression, expression.rightOperand);
618 }
619 void test_multiplicativeExpression_super() {
620 BinaryExpression expression = ParserTestCase.parseExpression("super == ==", []);
621 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
622 }
623 void test_prefixExpression_missing_operand_minus() {
624 PrefixExpression expression = ParserTestCase.parseExpression("-", []);
625 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.operand);
626 JUnitTestCase.assertTrue(expression.operand.isSynthetic());
627 JUnitTestCase.assertEquals(TokenType.MINUS, expression.operator.type);
628 }
629 void test_relationalExpression_missing_LHS() {
630 IsExpression expression = ParserTestCase.parseExpression("is y", []);
631 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.expression);
632 JUnitTestCase.assertTrue(expression.expression.isSynthetic());
633 }
634 void test_relationalExpression_missing_LHS_RHS() {
635 IsExpression expression = ParserTestCase.parseExpression("is", [ParserErrorC ode.MISSING_IDENTIFIER]);
636 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.expression);
637 JUnitTestCase.assertTrue(expression.expression.isSynthetic());
638 EngineTestCase.assertInstanceOf(TypeName, expression.type);
639 JUnitTestCase.assertTrue(expression.type.isSynthetic());
640 }
641 void test_relationalExpression_missing_RHS() {
642 IsExpression expression = ParserTestCase.parseExpression("x is", [ParserErro rCode.MISSING_IDENTIFIER]);
643 EngineTestCase.assertInstanceOf(TypeName, expression.type);
644 JUnitTestCase.assertTrue(expression.type.isSynthetic());
645 }
646 void test_relationalExpression_precedence_shift_right() {
647 IsExpression expression = ParserTestCase.parseExpression("<< is", [ParserErr orCode.MISSING_IDENTIFIER]);
648 EngineTestCase.assertInstanceOf(BinaryExpression, expression.expression);
649 }
650 void test_shiftExpression_missing_LHS() {
651 BinaryExpression expression = ParserTestCase.parseExpression("<< y", []);
652 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
653 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
654 }
655 void test_shiftExpression_missing_LHS_RHS() {
656 BinaryExpression expression = ParserTestCase.parseExpression("<<", []);
657 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
658 JUnitTestCase.assertTrue(expression.leftOperand.isSynthetic());
659 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
660 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
661 }
662 void test_shiftExpression_missing_RHS() {
663 BinaryExpression expression = ParserTestCase.parseExpression("x <<", []);
664 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
665 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
666 }
667 void test_shiftExpression_missing_RHS_super() {
668 BinaryExpression expression = ParserTestCase.parseExpression("super <<", []) ;
669 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.rightOperand);
670 JUnitTestCase.assertTrue(expression.rightOperand.isSynthetic());
671 }
672 void test_shiftExpression_precedence_unary_left() {
673 BinaryExpression expression = ParserTestCase.parseExpression("+ <<", [Parser ErrorCode.USE_OF_UNARY_PLUS_OPERATOR]);
674 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
675 }
676 void test_shiftExpression_precedence_unary_right() {
677 BinaryExpression expression = ParserTestCase.parseExpression("<< +", [Parser ErrorCode.USE_OF_UNARY_PLUS_OPERATOR]);
678 EngineTestCase.assertInstanceOf(BinaryExpression, expression.rightOperand);
679 }
680 void test_shiftExpression_super() {
681 BinaryExpression expression = ParserTestCase.parseExpression("super << <<", []);
682 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
683 }
684 void test_topLevelExternalFunction_extraSemicolon() {
685 CompilationUnit unit = ParserTestCase.parseCompilationUnit("external void f( A a);", [ParserErrorCode.UNEXPECTED_TOKEN]);
686 NodeList<CompilationUnitMember> declarations3 = unit.declarations;
687 EngineTestCase.assertSize(1, declarations3);
688 FunctionDeclaration declaration = declarations3[0] as FunctionDeclaration;
689 JUnitTestCase.assertNotNull(declaration);
690 }
691 static dartSuite() {
692 _ut.group('RecoveryParserTest', () {
693 _ut.test('test_additiveExpression_missing_LHS', () {
694 final __test = new RecoveryParserTest();
695 runJUnitTest(__test, __test.test_additiveExpression_missing_LHS);
696 });
697 _ut.test('test_additiveExpression_missing_LHS_RHS', () {
698 final __test = new RecoveryParserTest();
699 runJUnitTest(__test, __test.test_additiveExpression_missing_LHS_RHS);
700 });
701 _ut.test('test_additiveExpression_missing_RHS', () {
702 final __test = new RecoveryParserTest();
703 runJUnitTest(__test, __test.test_additiveExpression_missing_RHS);
704 });
705 _ut.test('test_additiveExpression_missing_RHS_super', () {
706 final __test = new RecoveryParserTest();
707 runJUnitTest(__test, __test.test_additiveExpression_missing_RHS_super);
708 });
709 _ut.test('test_additiveExpression_precedence_multiplicative_left', () {
710 final __test = new RecoveryParserTest();
711 runJUnitTest(__test, __test.test_additiveExpression_precedence_multiplic ative_left);
712 });
713 _ut.test('test_additiveExpression_precedence_multiplicative_right', () {
714 final __test = new RecoveryParserTest();
715 runJUnitTest(__test, __test.test_additiveExpression_precedence_multiplic ative_right);
716 });
717 _ut.test('test_additiveExpression_super', () {
718 final __test = new RecoveryParserTest();
719 runJUnitTest(__test, __test.test_additiveExpression_super);
720 });
721 _ut.test('test_argumentDefinitionTest_missing_identifier', () {
722 final __test = new RecoveryParserTest();
723 runJUnitTest(__test, __test.test_argumentDefinitionTest_missing_identifi er);
724 });
725 _ut.test('test_assignmentExpression_missing_LHS', () {
726 final __test = new RecoveryParserTest();
727 runJUnitTest(__test, __test.test_assignmentExpression_missing_LHS);
728 });
729 _ut.test('test_assignmentExpression_missing_RHS', () {
730 final __test = new RecoveryParserTest();
731 runJUnitTest(__test, __test.test_assignmentExpression_missing_RHS);
732 });
733 _ut.test('test_assignmentExpression_missing_compound1', () {
734 final __test = new RecoveryParserTest();
735 runJUnitTest(__test, __test.test_assignmentExpression_missing_compound1) ;
736 });
737 _ut.test('test_assignmentExpression_missing_compound2', () {
738 final __test = new RecoveryParserTest();
739 runJUnitTest(__test, __test.test_assignmentExpression_missing_compound2) ;
740 });
741 _ut.test('test_assignmentExpression_missing_compound3', () {
742 final __test = new RecoveryParserTest();
743 runJUnitTest(__test, __test.test_assignmentExpression_missing_compound3) ;
744 });
745 _ut.test('test_bitwiseAndExpression_missing_LHS', () {
746 final __test = new RecoveryParserTest();
747 runJUnitTest(__test, __test.test_bitwiseAndExpression_missing_LHS);
748 });
749 _ut.test('test_bitwiseAndExpression_missing_LHS_RHS', () {
750 final __test = new RecoveryParserTest();
751 runJUnitTest(__test, __test.test_bitwiseAndExpression_missing_LHS_RHS);
752 });
753 _ut.test('test_bitwiseAndExpression_missing_RHS', () {
754 final __test = new RecoveryParserTest();
755 runJUnitTest(__test, __test.test_bitwiseAndExpression_missing_RHS);
756 });
757 _ut.test('test_bitwiseAndExpression_missing_RHS_super', () {
758 final __test = new RecoveryParserTest();
759 runJUnitTest(__test, __test.test_bitwiseAndExpression_missing_RHS_super) ;
760 });
761 _ut.test('test_bitwiseAndExpression_precedence_equality_left', () {
762 final __test = new RecoveryParserTest();
763 runJUnitTest(__test, __test.test_bitwiseAndExpression_precedence_equalit y_left);
764 });
765 _ut.test('test_bitwiseAndExpression_precedence_equality_right', () {
766 final __test = new RecoveryParserTest();
767 runJUnitTest(__test, __test.test_bitwiseAndExpression_precedence_equalit y_right);
768 });
769 _ut.test('test_bitwiseAndExpression_super', () {
770 final __test = new RecoveryParserTest();
771 runJUnitTest(__test, __test.test_bitwiseAndExpression_super);
772 });
773 _ut.test('test_bitwiseOrExpression_missing_LHS', () {
774 final __test = new RecoveryParserTest();
775 runJUnitTest(__test, __test.test_bitwiseOrExpression_missing_LHS);
776 });
777 _ut.test('test_bitwiseOrExpression_missing_LHS_RHS', () {
778 final __test = new RecoveryParserTest();
779 runJUnitTest(__test, __test.test_bitwiseOrExpression_missing_LHS_RHS);
780 });
781 _ut.test('test_bitwiseOrExpression_missing_RHS', () {
782 final __test = new RecoveryParserTest();
783 runJUnitTest(__test, __test.test_bitwiseOrExpression_missing_RHS);
784 });
785 _ut.test('test_bitwiseOrExpression_missing_RHS_super', () {
786 final __test = new RecoveryParserTest();
787 runJUnitTest(__test, __test.test_bitwiseOrExpression_missing_RHS_super);
788 });
789 _ut.test('test_bitwiseOrExpression_precedence_xor_left', () {
790 final __test = new RecoveryParserTest();
791 runJUnitTest(__test, __test.test_bitwiseOrExpression_precedence_xor_left );
792 });
793 _ut.test('test_bitwiseOrExpression_precedence_xor_right', () {
794 final __test = new RecoveryParserTest();
795 runJUnitTest(__test, __test.test_bitwiseOrExpression_precedence_xor_righ t);
796 });
797 _ut.test('test_bitwiseOrExpression_super', () {
798 final __test = new RecoveryParserTest();
799 runJUnitTest(__test, __test.test_bitwiseOrExpression_super);
800 });
801 _ut.test('test_bitwiseXorExpression_missing_LHS', () {
802 final __test = new RecoveryParserTest();
803 runJUnitTest(__test, __test.test_bitwiseXorExpression_missing_LHS);
804 });
805 _ut.test('test_bitwiseXorExpression_missing_LHS_RHS', () {
806 final __test = new RecoveryParserTest();
807 runJUnitTest(__test, __test.test_bitwiseXorExpression_missing_LHS_RHS);
808 });
809 _ut.test('test_bitwiseXorExpression_missing_RHS', () {
810 final __test = new RecoveryParserTest();
811 runJUnitTest(__test, __test.test_bitwiseXorExpression_missing_RHS);
812 });
813 _ut.test('test_bitwiseXorExpression_missing_RHS_super', () {
814 final __test = new RecoveryParserTest();
815 runJUnitTest(__test, __test.test_bitwiseXorExpression_missing_RHS_super) ;
816 });
817 _ut.test('test_bitwiseXorExpression_precedence_and_left', () {
818 final __test = new RecoveryParserTest();
819 runJUnitTest(__test, __test.test_bitwiseXorExpression_precedence_and_lef t);
820 });
821 _ut.test('test_bitwiseXorExpression_precedence_and_right', () {
822 final __test = new RecoveryParserTest();
823 runJUnitTest(__test, __test.test_bitwiseXorExpression_precedence_and_rig ht);
824 });
825 _ut.test('test_bitwiseXorExpression_super', () {
826 final __test = new RecoveryParserTest();
827 runJUnitTest(__test, __test.test_bitwiseXorExpression_super);
828 });
829 _ut.test('test_conditionalExpression_missingElse', () {
830 final __test = new RecoveryParserTest();
831 runJUnitTest(__test, __test.test_conditionalExpression_missingElse);
832 });
833 _ut.test('test_conditionalExpression_missingThen', () {
834 final __test = new RecoveryParserTest();
835 runJUnitTest(__test, __test.test_conditionalExpression_missingThen);
836 });
837 _ut.test('test_equalityExpression_missing_LHS', () {
838 final __test = new RecoveryParserTest();
839 runJUnitTest(__test, __test.test_equalityExpression_missing_LHS);
840 });
841 _ut.test('test_equalityExpression_missing_LHS_RHS', () {
842 final __test = new RecoveryParserTest();
843 runJUnitTest(__test, __test.test_equalityExpression_missing_LHS_RHS);
844 });
845 _ut.test('test_equalityExpression_missing_RHS', () {
846 final __test = new RecoveryParserTest();
847 runJUnitTest(__test, __test.test_equalityExpression_missing_RHS);
848 });
849 _ut.test('test_equalityExpression_missing_RHS_super', () {
850 final __test = new RecoveryParserTest();
851 runJUnitTest(__test, __test.test_equalityExpression_missing_RHS_super);
852 });
853 _ut.test('test_equalityExpression_precedence_relational_left', () {
854 final __test = new RecoveryParserTest();
855 runJUnitTest(__test, __test.test_equalityExpression_precedence_relationa l_left);
856 });
857 _ut.test('test_equalityExpression_precedence_relational_right', () {
858 final __test = new RecoveryParserTest();
859 runJUnitTest(__test, __test.test_equalityExpression_precedence_relationa l_right);
860 });
861 _ut.test('test_equalityExpression_super', () {
862 final __test = new RecoveryParserTest();
863 runJUnitTest(__test, __test.test_equalityExpression_super);
864 });
865 _ut.test('test_expressionList_multiple_end', () {
866 final __test = new RecoveryParserTest();
867 runJUnitTest(__test, __test.test_expressionList_multiple_end);
868 });
869 _ut.test('test_expressionList_multiple_middle', () {
870 final __test = new RecoveryParserTest();
871 runJUnitTest(__test, __test.test_expressionList_multiple_middle);
872 });
873 _ut.test('test_expressionList_multiple_start', () {
874 final __test = new RecoveryParserTest();
875 runJUnitTest(__test, __test.test_expressionList_multiple_start);
876 });
877 _ut.test('test_logicalAndExpression_missing_LHS', () {
878 final __test = new RecoveryParserTest();
879 runJUnitTest(__test, __test.test_logicalAndExpression_missing_LHS);
880 });
881 _ut.test('test_logicalAndExpression_missing_LHS_RHS', () {
882 final __test = new RecoveryParserTest();
883 runJUnitTest(__test, __test.test_logicalAndExpression_missing_LHS_RHS);
884 });
885 _ut.test('test_logicalAndExpression_missing_RHS', () {
886 final __test = new RecoveryParserTest();
887 runJUnitTest(__test, __test.test_logicalAndExpression_missing_RHS);
888 });
889 _ut.test('test_logicalAndExpression_precedence_bitwiseOr_left', () {
890 final __test = new RecoveryParserTest();
891 runJUnitTest(__test, __test.test_logicalAndExpression_precedence_bitwise Or_left);
892 });
893 _ut.test('test_logicalAndExpression_precedence_bitwiseOr_right', () {
894 final __test = new RecoveryParserTest();
895 runJUnitTest(__test, __test.test_logicalAndExpression_precedence_bitwise Or_right);
896 });
897 _ut.test('test_logicalOrExpression_missing_LHS', () {
898 final __test = new RecoveryParserTest();
899 runJUnitTest(__test, __test.test_logicalOrExpression_missing_LHS);
900 });
901 _ut.test('test_logicalOrExpression_missing_LHS_RHS', () {
902 final __test = new RecoveryParserTest();
903 runJUnitTest(__test, __test.test_logicalOrExpression_missing_LHS_RHS);
904 });
905 _ut.test('test_logicalOrExpression_missing_RHS', () {
906 final __test = new RecoveryParserTest();
907 runJUnitTest(__test, __test.test_logicalOrExpression_missing_RHS);
908 });
909 _ut.test('test_logicalOrExpression_precedence_logicalAnd_left', () {
910 final __test = new RecoveryParserTest();
911 runJUnitTest(__test, __test.test_logicalOrExpression_precedence_logicalA nd_left);
912 });
913 _ut.test('test_logicalOrExpression_precedence_logicalAnd_right', () {
914 final __test = new RecoveryParserTest();
915 runJUnitTest(__test, __test.test_logicalOrExpression_precedence_logicalA nd_right);
916 });
917 _ut.test('test_multiplicativeExpression_missing_LHS', () {
918 final __test = new RecoveryParserTest();
919 runJUnitTest(__test, __test.test_multiplicativeExpression_missing_LHS);
920 });
921 _ut.test('test_multiplicativeExpression_missing_LHS_RHS', () {
922 final __test = new RecoveryParserTest();
923 runJUnitTest(__test, __test.test_multiplicativeExpression_missing_LHS_RH S);
924 });
925 _ut.test('test_multiplicativeExpression_missing_RHS', () {
926 final __test = new RecoveryParserTest();
927 runJUnitTest(__test, __test.test_multiplicativeExpression_missing_RHS);
928 });
929 _ut.test('test_multiplicativeExpression_missing_RHS_super', () {
930 final __test = new RecoveryParserTest();
931 runJUnitTest(__test, __test.test_multiplicativeExpression_missing_RHS_su per);
932 });
933 _ut.test('test_multiplicativeExpression_precedence_unary_left', () {
934 final __test = new RecoveryParserTest();
935 runJUnitTest(__test, __test.test_multiplicativeExpression_precedence_una ry_left);
936 });
937 _ut.test('test_multiplicativeExpression_precedence_unary_right', () {
938 final __test = new RecoveryParserTest();
939 runJUnitTest(__test, __test.test_multiplicativeExpression_precedence_una ry_right);
940 });
941 _ut.test('test_multiplicativeExpression_super', () {
942 final __test = new RecoveryParserTest();
943 runJUnitTest(__test, __test.test_multiplicativeExpression_super);
944 });
945 _ut.test('test_prefixExpression_missing_operand_minus', () {
946 final __test = new RecoveryParserTest();
947 runJUnitTest(__test, __test.test_prefixExpression_missing_operand_minus) ;
948 });
949 _ut.test('test_relationalExpression_missing_LHS', () {
950 final __test = new RecoveryParserTest();
951 runJUnitTest(__test, __test.test_relationalExpression_missing_LHS);
952 });
953 _ut.test('test_relationalExpression_missing_LHS_RHS', () {
954 final __test = new RecoveryParserTest();
955 runJUnitTest(__test, __test.test_relationalExpression_missing_LHS_RHS);
956 });
957 _ut.test('test_relationalExpression_missing_RHS', () {
958 final __test = new RecoveryParserTest();
959 runJUnitTest(__test, __test.test_relationalExpression_missing_RHS);
960 });
961 _ut.test('test_relationalExpression_precedence_shift_right', () {
962 final __test = new RecoveryParserTest();
963 runJUnitTest(__test, __test.test_relationalExpression_precedence_shift_r ight);
964 });
965 _ut.test('test_shiftExpression_missing_LHS', () {
966 final __test = new RecoveryParserTest();
967 runJUnitTest(__test, __test.test_shiftExpression_missing_LHS);
968 });
969 _ut.test('test_shiftExpression_missing_LHS_RHS', () {
970 final __test = new RecoveryParserTest();
971 runJUnitTest(__test, __test.test_shiftExpression_missing_LHS_RHS);
972 });
973 _ut.test('test_shiftExpression_missing_RHS', () {
974 final __test = new RecoveryParserTest();
975 runJUnitTest(__test, __test.test_shiftExpression_missing_RHS);
976 });
977 _ut.test('test_shiftExpression_missing_RHS_super', () {
978 final __test = new RecoveryParserTest();
979 runJUnitTest(__test, __test.test_shiftExpression_missing_RHS_super);
980 });
981 _ut.test('test_shiftExpression_precedence_unary_left', () {
982 final __test = new RecoveryParserTest();
983 runJUnitTest(__test, __test.test_shiftExpression_precedence_unary_left);
984 });
985 _ut.test('test_shiftExpression_precedence_unary_right', () {
986 final __test = new RecoveryParserTest();
987 runJUnitTest(__test, __test.test_shiftExpression_precedence_unary_right) ;
988 });
989 _ut.test('test_shiftExpression_super', () {
990 final __test = new RecoveryParserTest();
991 runJUnitTest(__test, __test.test_shiftExpression_super);
992 });
993 _ut.test('test_topLevelExternalFunction_extraSemicolon', () {
994 final __test = new RecoveryParserTest();
995 runJUnitTest(__test, __test.test_topLevelExternalFunction_extraSemicolon );
996 });
997 });
998 }
999 }
1000 /**
1001 * The class {@code SimpleParserTest} defines parser tests that test individual parsing method. The
1002 * code fragments should be as minimal as possible in order to test the method, but should not test
1003 * the interactions between the method under test and other methods.
1004 * <p>
1005 * More complex tests should be defined in the class {@link ComplexParserTest}.
1006 */
1007 class SimpleParserTest extends ParserTestCase {
1008 void fail_parseCommentReference_this() {
1009 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["this", 5], "");
1010 SimpleIdentifier identifier8 = EngineTestCase.assertInstanceOf(SimpleIdentif ier, reference.identifier);
1011 JUnitTestCase.assertNotNull(identifier8.token);
1012 JUnitTestCase.assertEquals("a", identifier8.name);
1013 JUnitTestCase.assertEquals(5, identifier8.offset);
1014 }
1015 void test_computeStringValue_emptyInterpolationPrefix() {
1016 JUnitTestCase.assertEquals("", computeStringValue("'''"));
1017 }
1018 void test_computeStringValue_escape_b() {
1019 JUnitTestCase.assertEquals("\b", computeStringValue("'\\b'"));
1020 }
1021 void test_computeStringValue_escape_f() {
1022 JUnitTestCase.assertEquals("\f", computeStringValue("'\\f'"));
1023 }
1024 void test_computeStringValue_escape_n() {
1025 JUnitTestCase.assertEquals("\n", computeStringValue("'\\n'"));
1026 }
1027 void test_computeStringValue_escape_notSpecial() {
1028 JUnitTestCase.assertEquals(":", computeStringValue("'\\:'"));
1029 }
1030 void test_computeStringValue_escape_r() {
1031 JUnitTestCase.assertEquals("\r", computeStringValue("'\\r'"));
1032 }
1033 void test_computeStringValue_escape_t() {
1034 JUnitTestCase.assertEquals("\t", computeStringValue("'\\t'"));
1035 }
1036 void test_computeStringValue_escape_u_fixed() {
1037 JUnitTestCase.assertEquals("\u4321", computeStringValue("'\\u4321'"));
1038 }
1039 void test_computeStringValue_escape_u_variable() {
1040 JUnitTestCase.assertEquals("\u0123", computeStringValue("'\\u{123}'"));
1041 }
1042 void test_computeStringValue_escape_v() {
1043 JUnitTestCase.assertEquals("\u000B", computeStringValue("'\\v'"));
1044 }
1045 void test_computeStringValue_escape_x() {
1046 JUnitTestCase.assertEquals("\u00FF", computeStringValue("'\\xFF'"));
1047 }
1048 void test_computeStringValue_noEscape_single() {
1049 JUnitTestCase.assertEquals("text", computeStringValue("'text'"));
1050 }
1051 void test_computeStringValue_noEscape_triple() {
1052 JUnitTestCase.assertEquals("text", computeStringValue("'''text'''"));
1053 }
1054 void test_computeStringValue_raw_single() {
1055 JUnitTestCase.assertEquals("text", computeStringValue("r'text'"));
1056 }
1057 void test_computeStringValue_raw_triple() {
1058 JUnitTestCase.assertEquals("text", computeStringValue("r'''text'''"));
1059 }
1060 void test_computeStringValue_raw_withEscape() {
1061 JUnitTestCase.assertEquals("two\\nlines", computeStringValue("r'two\\nlines' "));
1062 }
1063 void test_createSyntheticIdentifier() {
1064 SimpleIdentifier identifier = createSyntheticIdentifier();
1065 JUnitTestCase.assertTrue(identifier.isSynthetic());
1066 }
1067 void test_createSyntheticStringLiteral() {
1068 SimpleStringLiteral literal = createSyntheticStringLiteral();
1069 JUnitTestCase.assertTrue(literal.isSynthetic());
1070 }
1071 void test_isFunctionDeclaration_nameButNoReturn_block() {
1072 JUnitTestCase.assertTrue(isFunctionDeclaration("f() {}"));
1073 }
1074 void test_isFunctionDeclaration_nameButNoReturn_expression() {
1075 JUnitTestCase.assertTrue(isFunctionDeclaration("f() => e"));
1076 }
1077 void test_isFunctionDeclaration_normalReturn_block() {
1078 JUnitTestCase.assertTrue(isFunctionDeclaration("C f() {}"));
1079 }
1080 void test_isFunctionDeclaration_normalReturn_expression() {
1081 JUnitTestCase.assertTrue(isFunctionDeclaration("C f() => e"));
1082 }
1083 void test_isFunctionDeclaration_voidReturn_block() {
1084 JUnitTestCase.assertTrue(isFunctionDeclaration("void f() {}"));
1085 }
1086 void test_isFunctionDeclaration_voidReturn_expression() {
1087 JUnitTestCase.assertTrue(isFunctionDeclaration("void f() => e"));
1088 }
1089 void test_isFunctionExpression_false_noBody() {
1090 JUnitTestCase.assertFalse(isFunctionExpression("f();"));
1091 }
1092 void test_isFunctionExpression_false_notParameters() {
1093 JUnitTestCase.assertFalse(isFunctionExpression("(a + b) {"));
1094 }
1095 void test_isFunctionExpression_noName_block() {
1096 JUnitTestCase.assertTrue(isFunctionExpression("() {}"));
1097 }
1098 void test_isFunctionExpression_noName_expression() {
1099 JUnitTestCase.assertTrue(isFunctionExpression("() => e"));
1100 }
1101 void test_isFunctionExpression_parameter_multiple() {
1102 JUnitTestCase.assertTrue(isFunctionExpression("(a, b) {}"));
1103 }
1104 void test_isFunctionExpression_parameter_named() {
1105 JUnitTestCase.assertTrue(isFunctionExpression("({a}) {}"));
1106 }
1107 void test_isFunctionExpression_parameter_optional() {
1108 JUnitTestCase.assertTrue(isFunctionExpression("([a]) {}"));
1109 }
1110 void test_isFunctionExpression_parameter_single() {
1111 JUnitTestCase.assertTrue(isFunctionExpression("(a) {}"));
1112 }
1113 void test_isFunctionExpression_parameter_typed() {
1114 JUnitTestCase.assertTrue(isFunctionExpression("(int a, int b) {}"));
1115 }
1116 void test_isInitializedVariableDeclaration_assignment() {
1117 JUnitTestCase.assertFalse(isInitializedVariableDeclaration("a = null;"));
1118 }
1119 void test_isInitializedVariableDeclaration_comparison() {
1120 JUnitTestCase.assertFalse(isInitializedVariableDeclaration("a < 0;"));
1121 }
1122 void test_isInitializedVariableDeclaration_conditional() {
1123 JUnitTestCase.assertFalse(isInitializedVariableDeclaration("a == null ? init () : update();"));
1124 }
1125 void test_isInitializedVariableDeclaration_const_noType_initialized() {
1126 JUnitTestCase.assertTrue(isInitializedVariableDeclaration("const a = 0;"));
1127 }
1128 void test_isInitializedVariableDeclaration_const_noType_uninitialized() {
1129 JUnitTestCase.assertTrue(isInitializedVariableDeclaration("const a;"));
1130 }
1131 void test_isInitializedVariableDeclaration_const_simpleType_uninitialized() {
1132 JUnitTestCase.assertTrue(isInitializedVariableDeclaration("const A a;"));
1133 }
1134 void test_isInitializedVariableDeclaration_final_noType_initialized() {
1135 JUnitTestCase.assertTrue(isInitializedVariableDeclaration("final a = 0;"));
1136 }
1137 void test_isInitializedVariableDeclaration_final_noType_uninitialized() {
1138 JUnitTestCase.assertTrue(isInitializedVariableDeclaration("final a;"));
1139 }
1140 void test_isInitializedVariableDeclaration_final_simpleType_initialized() {
1141 JUnitTestCase.assertTrue(isInitializedVariableDeclaration("final A a = 0;")) ;
1142 }
1143 void test_isInitializedVariableDeclaration_functionDeclaration_typed() {
1144 JUnitTestCase.assertFalse(isInitializedVariableDeclaration("A f() {};"));
1145 }
1146 void test_isInitializedVariableDeclaration_functionDeclaration_untyped() {
1147 JUnitTestCase.assertFalse(isInitializedVariableDeclaration("f() {};"));
1148 }
1149 void test_isInitializedVariableDeclaration_noType_initialized() {
1150 JUnitTestCase.assertTrue(isInitializedVariableDeclaration("var a = 0;"));
1151 }
1152 void test_isInitializedVariableDeclaration_noType_uninitialized() {
1153 JUnitTestCase.assertTrue(isInitializedVariableDeclaration("var a;"));
1154 }
1155 void test_isInitializedVariableDeclaration_parameterizedType_initialized() {
1156 JUnitTestCase.assertTrue(isInitializedVariableDeclaration("List<int> a = nul l;"));
1157 }
1158 void test_isInitializedVariableDeclaration_parameterizedType_uninitialized() {
1159 JUnitTestCase.assertTrue(isInitializedVariableDeclaration("List<int> a;"));
1160 }
1161 void test_isInitializedVariableDeclaration_simpleType_initialized() {
1162 JUnitTestCase.assertTrue(isInitializedVariableDeclaration("A a = 0;"));
1163 }
1164 void test_isInitializedVariableDeclaration_simpleType_uninitialized() {
1165 JUnitTestCase.assertTrue(isInitializedVariableDeclaration("A a;"));
1166 }
1167 void test_isSwitchMember_case_labeled() {
1168 JUnitTestCase.assertTrue(isSwitchMember("l1: l2: case"));
1169 }
1170 void test_isSwitchMember_case_unlabeled() {
1171 JUnitTestCase.assertTrue(isSwitchMember("case"));
1172 }
1173 void test_isSwitchMember_default_labeled() {
1174 JUnitTestCase.assertTrue(isSwitchMember("l1: l2: default"));
1175 }
1176 void test_isSwitchMember_default_unlabeled() {
1177 JUnitTestCase.assertTrue(isSwitchMember("default"));
1178 }
1179 void test_isSwitchMember_false() {
1180 JUnitTestCase.assertFalse(isSwitchMember("break;"));
1181 }
1182 void test_parseAdditiveExpression_normal() {
1183 BinaryExpression expression = ParserTestCase.parse4("parseAdditiveExpression ", "x + y", []);
1184 JUnitTestCase.assertNotNull(expression.leftOperand);
1185 JUnitTestCase.assertNotNull(expression.operator);
1186 JUnitTestCase.assertEquals(TokenType.PLUS, expression.operator.type);
1187 JUnitTestCase.assertNotNull(expression.rightOperand);
1188 }
1189 void test_parseAdditiveExpression_super() {
1190 BinaryExpression expression = ParserTestCase.parse4("parseAdditiveExpression ", "super + y", []);
1191 EngineTestCase.assertInstanceOf(SuperExpression, expression.leftOperand);
1192 JUnitTestCase.assertNotNull(expression.operator);
1193 JUnitTestCase.assertEquals(TokenType.PLUS, expression.operator.type);
1194 JUnitTestCase.assertNotNull(expression.rightOperand);
1195 }
1196 void test_parseAnnotation_n1() {
1197 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A", []);
1198 JUnitTestCase.assertNotNull(annotation.atSign);
1199 JUnitTestCase.assertNotNull(annotation.name);
1200 JUnitTestCase.assertNull(annotation.period);
1201 JUnitTestCase.assertNull(annotation.constructorName);
1202 JUnitTestCase.assertNull(annotation.arguments);
1203 }
1204 void test_parseAnnotation_n1_a() {
1205 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A(x,y)", []);
1206 JUnitTestCase.assertNotNull(annotation.atSign);
1207 JUnitTestCase.assertNotNull(annotation.name);
1208 JUnitTestCase.assertNull(annotation.period);
1209 JUnitTestCase.assertNull(annotation.constructorName);
1210 JUnitTestCase.assertNotNull(annotation.arguments);
1211 }
1212 void test_parseAnnotation_n2() {
1213 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A.B", []) ;
1214 JUnitTestCase.assertNotNull(annotation.atSign);
1215 JUnitTestCase.assertNotNull(annotation.name);
1216 JUnitTestCase.assertNull(annotation.period);
1217 JUnitTestCase.assertNull(annotation.constructorName);
1218 JUnitTestCase.assertNull(annotation.arguments);
1219 }
1220 void test_parseAnnotation_n2_a() {
1221 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A.B(x,y)" , []);
1222 JUnitTestCase.assertNotNull(annotation.atSign);
1223 JUnitTestCase.assertNotNull(annotation.name);
1224 JUnitTestCase.assertNull(annotation.period);
1225 JUnitTestCase.assertNull(annotation.constructorName);
1226 JUnitTestCase.assertNotNull(annotation.arguments);
1227 }
1228 void test_parseAnnotation_n3() {
1229 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A.B.C", [ ]);
1230 JUnitTestCase.assertNotNull(annotation.atSign);
1231 JUnitTestCase.assertNotNull(annotation.name);
1232 JUnitTestCase.assertNotNull(annotation.period);
1233 JUnitTestCase.assertNotNull(annotation.constructorName);
1234 JUnitTestCase.assertNull(annotation.arguments);
1235 }
1236 void test_parseAnnotation_n3_a() {
1237 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A.B.C(x,y )", []);
1238 JUnitTestCase.assertNotNull(annotation.atSign);
1239 JUnitTestCase.assertNotNull(annotation.name);
1240 JUnitTestCase.assertNotNull(annotation.period);
1241 JUnitTestCase.assertNotNull(annotation.constructorName);
1242 JUnitTestCase.assertNotNull(annotation.arguments);
1243 }
1244 void test_parseArgument_named() {
1245 NamedExpression expression = ParserTestCase.parse4("parseArgument", "n: x", []);
1246 Label name18 = expression.name;
1247 JUnitTestCase.assertNotNull(name18);
1248 JUnitTestCase.assertNotNull(name18.label);
1249 JUnitTestCase.assertNotNull(name18.colon);
1250 JUnitTestCase.assertNotNull(expression.expression);
1251 }
1252 void test_parseArgument_unnamed() {
1253 String lexeme = "x";
1254 SimpleIdentifier identifier = ParserTestCase.parse4("parseArgument", lexeme, []);
1255 JUnitTestCase.assertEquals(lexeme, identifier.name);
1256 }
1257 void test_parseArgumentDefinitionTest() {
1258 ArgumentDefinitionTest test = ParserTestCase.parse4("parseArgumentDefinition Test", "?x", []);
1259 JUnitTestCase.assertNotNull(test.question);
1260 JUnitTestCase.assertNotNull(test.identifier);
1261 }
1262 void test_parseArgumentList_empty() {
1263 ArgumentList argumentList = ParserTestCase.parse4("parseArgumentList", "()", []);
1264 NodeList<Expression> arguments6 = argumentList.arguments;
1265 EngineTestCase.assertSize(0, arguments6);
1266 }
1267 void test_parseArgumentList_mixed() {
1268 ArgumentList argumentList = ParserTestCase.parse4("parseArgumentList", "(w, x, y: y, z: z)", []);
1269 NodeList<Expression> arguments7 = argumentList.arguments;
1270 EngineTestCase.assertSize(4, arguments7);
1271 }
1272 void test_parseArgumentList_noNamed() {
1273 ArgumentList argumentList = ParserTestCase.parse4("parseArgumentList", "(x, y, z)", []);
1274 NodeList<Expression> arguments8 = argumentList.arguments;
1275 EngineTestCase.assertSize(3, arguments8);
1276 }
1277 void test_parseArgumentList_onlyNamed() {
1278 ArgumentList argumentList = ParserTestCase.parse4("parseArgumentList", "(x: x, y: y)", []);
1279 NodeList<Expression> arguments9 = argumentList.arguments;
1280 EngineTestCase.assertSize(2, arguments9);
1281 }
1282 void test_parseAssertStatement() {
1283 AssertStatement statement = ParserTestCase.parse4("parseAssertStatement", "a ssert (x);", []);
1284 JUnitTestCase.assertNotNull(statement.keyword);
1285 JUnitTestCase.assertNotNull(statement.leftParenthesis);
1286 JUnitTestCase.assertNotNull(statement.condition);
1287 JUnitTestCase.assertNotNull(statement.rightParenthesis);
1288 JUnitTestCase.assertNotNull(statement.semicolon);
1289 }
1290 void test_parseAssignableExpression_expression_args_dot() {
1291 PropertyAccess propertyAccess = ParserTestCase.parse("parseAssignableExpress ion", <Object> [false], "(x)(y).z");
1292 FunctionExpressionInvocation invocation = propertyAccess.target as FunctionE xpressionInvocation;
1293 JUnitTestCase.assertNotNull(invocation.function);
1294 ArgumentList argumentList10 = invocation.argumentList;
1295 JUnitTestCase.assertNotNull(argumentList10);
1296 EngineTestCase.assertSize(1, argumentList10.arguments);
1297 JUnitTestCase.assertNotNull(propertyAccess.operator);
1298 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
1299 }
1300 void test_parseAssignableExpression_expression_dot() {
1301 PropertyAccess propertyAccess = ParserTestCase.parse("parseAssignableExpress ion", <Object> [false], "(x).y");
1302 JUnitTestCase.assertNotNull(propertyAccess.target);
1303 JUnitTestCase.assertNotNull(propertyAccess.operator);
1304 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
1305 }
1306 void test_parseAssignableExpression_expression_index() {
1307 IndexExpression expression = ParserTestCase.parse("parseAssignableExpression ", <Object> [false], "(x)[y]");
1308 JUnitTestCase.assertNotNull(expression.array);
1309 JUnitTestCase.assertNotNull(expression.leftBracket);
1310 JUnitTestCase.assertNotNull(expression.index);
1311 JUnitTestCase.assertNotNull(expression.rightBracket);
1312 }
1313 void test_parseAssignableExpression_identifier() {
1314 SimpleIdentifier identifier = ParserTestCase.parse("parseAssignableExpressio n", <Object> [false], "x");
1315 JUnitTestCase.assertNotNull(identifier);
1316 }
1317 void test_parseAssignableExpression_identifier_args_dot() {
1318 PropertyAccess propertyAccess = ParserTestCase.parse("parseAssignableExpress ion", <Object> [false], "x(y).z");
1319 MethodInvocation invocation = propertyAccess.target as MethodInvocation;
1320 JUnitTestCase.assertEquals("x", invocation.methodName.name);
1321 ArgumentList argumentList11 = invocation.argumentList;
1322 JUnitTestCase.assertNotNull(argumentList11);
1323 EngineTestCase.assertSize(1, argumentList11.arguments);
1324 JUnitTestCase.assertNotNull(propertyAccess.operator);
1325 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
1326 }
1327 void test_parseAssignableExpression_identifier_dot() {
1328 PropertyAccess propertyAccess = ParserTestCase.parse("parseAssignableExpress ion", <Object> [false], "x.y");
1329 JUnitTestCase.assertNotNull(propertyAccess.target);
1330 JUnitTestCase.assertNotNull(propertyAccess.operator);
1331 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
1332 }
1333 void test_parseAssignableExpression_identifier_index() {
1334 IndexExpression expression = ParserTestCase.parse("parseAssignableExpression ", <Object> [false], "x[y]");
1335 JUnitTestCase.assertNotNull(expression.array);
1336 JUnitTestCase.assertNotNull(expression.leftBracket);
1337 JUnitTestCase.assertNotNull(expression.index);
1338 JUnitTestCase.assertNotNull(expression.rightBracket);
1339 }
1340 void test_parseAssignableExpression_super_dot() {
1341 PropertyAccess propertyAccess = ParserTestCase.parse("parseAssignableExpress ion", <Object> [false], "super.y");
1342 EngineTestCase.assertInstanceOf(SuperExpression, propertyAccess.target);
1343 JUnitTestCase.assertNotNull(propertyAccess.operator);
1344 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
1345 }
1346 void test_parseAssignableExpression_super_index() {
1347 IndexExpression expression = ParserTestCase.parse("parseAssignableExpression ", <Object> [false], "super[y]");
1348 EngineTestCase.assertInstanceOf(SuperExpression, expression.array);
1349 JUnitTestCase.assertNotNull(expression.leftBracket);
1350 JUnitTestCase.assertNotNull(expression.index);
1351 JUnitTestCase.assertNotNull(expression.rightBracket);
1352 }
1353 void test_parseAssignableSelector_dot() {
1354 PropertyAccess selector = ParserTestCase.parse("parseAssignableSelector", <O bject> [null, true], ".x");
1355 JUnitTestCase.assertNotNull(selector.operator);
1356 JUnitTestCase.assertNotNull(selector.propertyName);
1357 }
1358 void test_parseAssignableSelector_index() {
1359 IndexExpression selector = ParserTestCase.parse("parseAssignableSelector", < Object> [null, true], "[x]");
1360 JUnitTestCase.assertNotNull(selector.leftBracket);
1361 JUnitTestCase.assertNotNull(selector.index);
1362 JUnitTestCase.assertNotNull(selector.rightBracket);
1363 }
1364 void test_parseAssignableSelector_none() {
1365 SimpleIdentifier selector = ParserTestCase.parse("parseAssignableSelector", <Object> [new SimpleIdentifier(null), true], ";");
1366 JUnitTestCase.assertNotNull(selector);
1367 }
1368 void test_parseBitwiseAndExpression_normal() {
1369 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseAndExpressi on", "x & y", []);
1370 JUnitTestCase.assertNotNull(expression.leftOperand);
1371 JUnitTestCase.assertNotNull(expression.operator);
1372 JUnitTestCase.assertEquals(TokenType.AMPERSAND, expression.operator.type);
1373 JUnitTestCase.assertNotNull(expression.rightOperand);
1374 }
1375 void test_parseBitwiseAndExpression_super() {
1376 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseAndExpressi on", "super & y", []);
1377 EngineTestCase.assertInstanceOf(SuperExpression, expression.leftOperand);
1378 JUnitTestCase.assertNotNull(expression.operator);
1379 JUnitTestCase.assertEquals(TokenType.AMPERSAND, expression.operator.type);
1380 JUnitTestCase.assertNotNull(expression.rightOperand);
1381 }
1382 void test_parseBitwiseOrExpression_normal() {
1383 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseOrExpressio n", "x | y", []);
1384 JUnitTestCase.assertNotNull(expression.leftOperand);
1385 JUnitTestCase.assertNotNull(expression.operator);
1386 JUnitTestCase.assertEquals(TokenType.BAR, expression.operator.type);
1387 JUnitTestCase.assertNotNull(expression.rightOperand);
1388 }
1389 void test_parseBitwiseOrExpression_super() {
1390 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseOrExpressio n", "super | y", []);
1391 EngineTestCase.assertInstanceOf(SuperExpression, expression.leftOperand);
1392 JUnitTestCase.assertNotNull(expression.operator);
1393 JUnitTestCase.assertEquals(TokenType.BAR, expression.operator.type);
1394 JUnitTestCase.assertNotNull(expression.rightOperand);
1395 }
1396 void test_parseBitwiseXorExpression_normal() {
1397 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseXorExpressi on", "x ^ y", []);
1398 JUnitTestCase.assertNotNull(expression.leftOperand);
1399 JUnitTestCase.assertNotNull(expression.operator);
1400 JUnitTestCase.assertEquals(TokenType.CARET, expression.operator.type);
1401 JUnitTestCase.assertNotNull(expression.rightOperand);
1402 }
1403 void test_parseBitwiseXorExpression_super() {
1404 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseXorExpressi on", "super ^ y", []);
1405 EngineTestCase.assertInstanceOf(SuperExpression, expression.leftOperand);
1406 JUnitTestCase.assertNotNull(expression.operator);
1407 JUnitTestCase.assertEquals(TokenType.CARET, expression.operator.type);
1408 JUnitTestCase.assertNotNull(expression.rightOperand);
1409 }
1410 void test_parseBlock_empty() {
1411 Block block = ParserTestCase.parse4("parseBlock", "{}", []);
1412 JUnitTestCase.assertNotNull(block.leftBracket);
1413 EngineTestCase.assertSize(0, block.statements);
1414 JUnitTestCase.assertNotNull(block.rightBracket);
1415 }
1416 void test_parseBlock_nonEmpty() {
1417 Block block = ParserTestCase.parse4("parseBlock", "{;}", []);
1418 JUnitTestCase.assertNotNull(block.leftBracket);
1419 EngineTestCase.assertSize(1, block.statements);
1420 JUnitTestCase.assertNotNull(block.rightBracket);
1421 }
1422 void test_parseBreakStatement_label() {
1423 BreakStatement statement = ParserTestCase.parse4("parseBreakStatement", "bre ak foo;", []);
1424 JUnitTestCase.assertNotNull(statement.keyword);
1425 JUnitTestCase.assertNotNull(statement.label);
1426 JUnitTestCase.assertNotNull(statement.semicolon);
1427 }
1428 void test_parseBreakStatement_noLabel() {
1429 BreakStatement statement = ParserTestCase.parse4("parseBreakStatement", "bre ak;", [ParserErrorCode.BREAK_OUTSIDE_OF_LOOP]);
1430 JUnitTestCase.assertNotNull(statement.keyword);
1431 JUnitTestCase.assertNull(statement.label);
1432 JUnitTestCase.assertNotNull(statement.semicolon);
1433 }
1434 void test_parseCascadeSection_i() {
1435 IndexExpression section = ParserTestCase.parse4("parseCascadeSection", "..[i ]", []);
1436 JUnitTestCase.assertNull(section.array);
1437 JUnitTestCase.assertNotNull(section.leftBracket);
1438 JUnitTestCase.assertNotNull(section.index);
1439 JUnitTestCase.assertNotNull(section.rightBracket);
1440 }
1441 void test_parseCascadeSection_ia() {
1442 FunctionExpressionInvocation section = ParserTestCase.parse4("parseCascadeSe ction", "..[i](b)", []);
1443 EngineTestCase.assertInstanceOf(IndexExpression, section.function);
1444 JUnitTestCase.assertNotNull(section.argumentList);
1445 }
1446 void test_parseCascadeSection_p() {
1447 PropertyAccess section = ParserTestCase.parse4("parseCascadeSection", "..a", []);
1448 JUnitTestCase.assertNull(section.target);
1449 JUnitTestCase.assertNotNull(section.operator);
1450 JUnitTestCase.assertNotNull(section.propertyName);
1451 }
1452 void test_parseCascadeSection_p_assign() {
1453 AssignmentExpression section = ParserTestCase.parse4("parseCascadeSection", "..a = 3", []);
1454 JUnitTestCase.assertNotNull(section.leftHandSide);
1455 JUnitTestCase.assertNotNull(section.operator);
1456 JUnitTestCase.assertNotNull(section.rightHandSide);
1457 }
1458 void test_parseCascadeSection_p_builtIn() {
1459 PropertyAccess section = ParserTestCase.parse4("parseCascadeSection", "..as" , []);
1460 JUnitTestCase.assertNull(section.target);
1461 JUnitTestCase.assertNotNull(section.operator);
1462 JUnitTestCase.assertNotNull(section.propertyName);
1463 }
1464 void test_parseCascadeSection_pa() {
1465 MethodInvocation section = ParserTestCase.parse4("parseCascadeSection", "..a (b)", []);
1466 JUnitTestCase.assertNull(section.target);
1467 JUnitTestCase.assertNotNull(section.period);
1468 JUnitTestCase.assertNotNull(section.methodName);
1469 JUnitTestCase.assertNotNull(section.argumentList);
1470 EngineTestCase.assertSize(1, section.argumentList.arguments);
1471 }
1472 void test_parseCascadeSection_paa() {
1473 FunctionExpressionInvocation section = ParserTestCase.parse4("parseCascadeSe ction", "..a(b)(c)", []);
1474 EngineTestCase.assertInstanceOf(MethodInvocation, section.function);
1475 JUnitTestCase.assertNotNull(section.argumentList);
1476 EngineTestCase.assertSize(1, section.argumentList.arguments);
1477 }
1478 void test_parseCascadeSection_paapaa() {
1479 FunctionExpressionInvocation section = ParserTestCase.parse4("parseCascadeSe ction", "..a(b)(c).d(e)(f)", []);
1480 EngineTestCase.assertInstanceOf(FunctionExpressionInvocation, section.functi on);
1481 JUnitTestCase.assertNotNull(section.argumentList);
1482 EngineTestCase.assertSize(1, section.argumentList.arguments);
1483 }
1484 void test_parseCascadeSection_pap() {
1485 PropertyAccess section = ParserTestCase.parse4("parseCascadeSection", "..a(b ).c", []);
1486 JUnitTestCase.assertNotNull(section.target);
1487 JUnitTestCase.assertNotNull(section.operator);
1488 JUnitTestCase.assertNotNull(section.propertyName);
1489 }
1490 void test_parseClassDeclaration_abstract() {
1491 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), TokenFactory.token(Keyword.ABSTRACT)], "cl ass A {}");
1492 JUnitTestCase.assertNull(declaration.documentationComment);
1493 JUnitTestCase.assertNotNull(declaration.abstractKeyword);
1494 JUnitTestCase.assertNull(declaration.extendsClause);
1495 JUnitTestCase.assertNull(declaration.implementsClause);
1496 JUnitTestCase.assertNotNull(declaration.classKeyword);
1497 JUnitTestCase.assertNotNull(declaration.leftBracket);
1498 JUnitTestCase.assertNotNull(declaration.name);
1499 EngineTestCase.assertSize(0, declaration.members);
1500 JUnitTestCase.assertNotNull(declaration.rightBracket);
1501 JUnitTestCase.assertNull(declaration.typeParameters);
1502 }
1503 void test_parseClassDeclaration_empty() {
1504 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A {}");
1505 JUnitTestCase.assertNull(declaration.documentationComment);
1506 JUnitTestCase.assertNull(declaration.abstractKeyword);
1507 JUnitTestCase.assertNull(declaration.extendsClause);
1508 JUnitTestCase.assertNull(declaration.implementsClause);
1509 JUnitTestCase.assertNotNull(declaration.classKeyword);
1510 JUnitTestCase.assertNotNull(declaration.leftBracket);
1511 JUnitTestCase.assertNotNull(declaration.name);
1512 EngineTestCase.assertSize(0, declaration.members);
1513 JUnitTestCase.assertNotNull(declaration.rightBracket);
1514 JUnitTestCase.assertNull(declaration.typeParameters);
1515 }
1516 void test_parseClassDeclaration_extends() {
1517 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A extends B {}");
1518 JUnitTestCase.assertNull(declaration.documentationComment);
1519 JUnitTestCase.assertNull(declaration.abstractKeyword);
1520 JUnitTestCase.assertNotNull(declaration.extendsClause);
1521 JUnitTestCase.assertNull(declaration.implementsClause);
1522 JUnitTestCase.assertNotNull(declaration.classKeyword);
1523 JUnitTestCase.assertNotNull(declaration.leftBracket);
1524 JUnitTestCase.assertNotNull(declaration.name);
1525 EngineTestCase.assertSize(0, declaration.members);
1526 JUnitTestCase.assertNotNull(declaration.rightBracket);
1527 JUnitTestCase.assertNull(declaration.typeParameters);
1528 }
1529 void test_parseClassDeclaration_extendsAndImplements() {
1530 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A extends B implements C {}" );
1531 JUnitTestCase.assertNull(declaration.documentationComment);
1532 JUnitTestCase.assertNull(declaration.abstractKeyword);
1533 JUnitTestCase.assertNotNull(declaration.extendsClause);
1534 JUnitTestCase.assertNotNull(declaration.implementsClause);
1535 JUnitTestCase.assertNotNull(declaration.classKeyword);
1536 JUnitTestCase.assertNotNull(declaration.leftBracket);
1537 JUnitTestCase.assertNotNull(declaration.name);
1538 EngineTestCase.assertSize(0, declaration.members);
1539 JUnitTestCase.assertNotNull(declaration.rightBracket);
1540 JUnitTestCase.assertNull(declaration.typeParameters);
1541 }
1542 void test_parseClassDeclaration_extendsAndWith() {
1543 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A extends B with C {}");
1544 JUnitTestCase.assertNull(declaration.documentationComment);
1545 JUnitTestCase.assertNull(declaration.abstractKeyword);
1546 JUnitTestCase.assertNotNull(declaration.classKeyword);
1547 JUnitTestCase.assertNotNull(declaration.name);
1548 JUnitTestCase.assertNull(declaration.typeParameters);
1549 JUnitTestCase.assertNotNull(declaration.extendsClause);
1550 JUnitTestCase.assertNotNull(declaration.withClause);
1551 JUnitTestCase.assertNull(declaration.implementsClause);
1552 JUnitTestCase.assertNotNull(declaration.leftBracket);
1553 EngineTestCase.assertSize(0, declaration.members);
1554 JUnitTestCase.assertNotNull(declaration.rightBracket);
1555 }
1556 void test_parseClassDeclaration_extendsAndWithAndImplements() {
1557 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A extends B with C implement s D {}");
1558 JUnitTestCase.assertNull(declaration.documentationComment);
1559 JUnitTestCase.assertNull(declaration.abstractKeyword);
1560 JUnitTestCase.assertNotNull(declaration.classKeyword);
1561 JUnitTestCase.assertNotNull(declaration.name);
1562 JUnitTestCase.assertNull(declaration.typeParameters);
1563 JUnitTestCase.assertNotNull(declaration.extendsClause);
1564 JUnitTestCase.assertNotNull(declaration.withClause);
1565 JUnitTestCase.assertNotNull(declaration.implementsClause);
1566 JUnitTestCase.assertNotNull(declaration.leftBracket);
1567 EngineTestCase.assertSize(0, declaration.members);
1568 JUnitTestCase.assertNotNull(declaration.rightBracket);
1569 }
1570 void test_parseClassDeclaration_implements() {
1571 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A implements C {}");
1572 JUnitTestCase.assertNull(declaration.documentationComment);
1573 JUnitTestCase.assertNull(declaration.abstractKeyword);
1574 JUnitTestCase.assertNull(declaration.extendsClause);
1575 JUnitTestCase.assertNotNull(declaration.implementsClause);
1576 JUnitTestCase.assertNotNull(declaration.classKeyword);
1577 JUnitTestCase.assertNotNull(declaration.leftBracket);
1578 JUnitTestCase.assertNotNull(declaration.name);
1579 EngineTestCase.assertSize(0, declaration.members);
1580 JUnitTestCase.assertNotNull(declaration.rightBracket);
1581 JUnitTestCase.assertNull(declaration.typeParameters);
1582 }
1583 void test_parseClassDeclaration_nonEmpty() {
1584 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A {var f;}");
1585 JUnitTestCase.assertNull(declaration.documentationComment);
1586 JUnitTestCase.assertNull(declaration.abstractKeyword);
1587 JUnitTestCase.assertNull(declaration.extendsClause);
1588 JUnitTestCase.assertNull(declaration.implementsClause);
1589 JUnitTestCase.assertNotNull(declaration.classKeyword);
1590 JUnitTestCase.assertNotNull(declaration.leftBracket);
1591 JUnitTestCase.assertNotNull(declaration.name);
1592 EngineTestCase.assertSize(1, declaration.members);
1593 JUnitTestCase.assertNotNull(declaration.rightBracket);
1594 JUnitTestCase.assertNull(declaration.typeParameters);
1595 }
1596 void test_parseClassDeclaration_typeParameters() {
1597 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A<B> {}");
1598 JUnitTestCase.assertNull(declaration.documentationComment);
1599 JUnitTestCase.assertNull(declaration.abstractKeyword);
1600 JUnitTestCase.assertNull(declaration.extendsClause);
1601 JUnitTestCase.assertNull(declaration.implementsClause);
1602 JUnitTestCase.assertNotNull(declaration.classKeyword);
1603 JUnitTestCase.assertNotNull(declaration.leftBracket);
1604 JUnitTestCase.assertNotNull(declaration.name);
1605 EngineTestCase.assertSize(0, declaration.members);
1606 JUnitTestCase.assertNotNull(declaration.rightBracket);
1607 JUnitTestCase.assertNotNull(declaration.typeParameters);
1608 EngineTestCase.assertSize(1, declaration.typeParameters.typeParameters);
1609 }
1610 void test_parseClassMember_constructor_withInitializers() {
1611 ConstructorDeclaration constructor = ParserTestCase.parse("parseClassMember" , <Object> ["C"], "C(_, _\$, this.__) : _a = _ + _\$ {}");
1612 JUnitTestCase.assertNotNull(constructor.body);
1613 JUnitTestCase.assertNotNull(constructor.separator);
1614 JUnitTestCase.assertNull(constructor.externalKeyword);
1615 JUnitTestCase.assertNull(constructor.constKeyword);
1616 JUnitTestCase.assertNull(constructor.factoryKeyword);
1617 JUnitTestCase.assertNull(constructor.name);
1618 JUnitTestCase.assertNotNull(constructor.parameters);
1619 JUnitTestCase.assertNull(constructor.period);
1620 JUnitTestCase.assertNotNull(constructor.returnType);
1621 EngineTestCase.assertSize(1, constructor.initializers);
1622 }
1623 void test_parseClassMember_field_instance_prefixedType() {
1624 FieldDeclaration field = ParserTestCase.parse("parseClassMember", <Object> [ "C"], "p.A f;");
1625 JUnitTestCase.assertNull(field.documentationComment);
1626 EngineTestCase.assertSize(0, field.metadata);
1627 JUnitTestCase.assertNull(field.keyword);
1628 VariableDeclarationList list = field.fields;
1629 JUnitTestCase.assertNotNull(list);
1630 NodeList<VariableDeclaration> variables6 = list.variables;
1631 EngineTestCase.assertSize(1, variables6);
1632 VariableDeclaration variable = variables6[0];
1633 JUnitTestCase.assertNotNull(variable.name);
1634 }
1635 void test_parseClassMember_field_namedGet() {
1636 FieldDeclaration field = ParserTestCase.parse("parseClassMember", <Object> [ "C"], "var get;");
1637 JUnitTestCase.assertNull(field.documentationComment);
1638 EngineTestCase.assertSize(0, field.metadata);
1639 JUnitTestCase.assertNull(field.keyword);
1640 VariableDeclarationList list = field.fields;
1641 JUnitTestCase.assertNotNull(list);
1642 NodeList<VariableDeclaration> variables7 = list.variables;
1643 EngineTestCase.assertSize(1, variables7);
1644 VariableDeclaration variable = variables7[0];
1645 JUnitTestCase.assertNotNull(variable.name);
1646 }
1647 void test_parseClassMember_field_namedOperator() {
1648 FieldDeclaration field = ParserTestCase.parse("parseClassMember", <Object> [ "C"], "var operator;");
1649 JUnitTestCase.assertNull(field.documentationComment);
1650 EngineTestCase.assertSize(0, field.metadata);
1651 JUnitTestCase.assertNull(field.keyword);
1652 VariableDeclarationList list = field.fields;
1653 JUnitTestCase.assertNotNull(list);
1654 NodeList<VariableDeclaration> variables8 = list.variables;
1655 EngineTestCase.assertSize(1, variables8);
1656 VariableDeclaration variable = variables8[0];
1657 JUnitTestCase.assertNotNull(variable.name);
1658 }
1659 void test_parseClassMember_field_namedSet() {
1660 FieldDeclaration field = ParserTestCase.parse("parseClassMember", <Object> [ "C"], "var set;");
1661 JUnitTestCase.assertNull(field.documentationComment);
1662 EngineTestCase.assertSize(0, field.metadata);
1663 JUnitTestCase.assertNull(field.keyword);
1664 VariableDeclarationList list = field.fields;
1665 JUnitTestCase.assertNotNull(list);
1666 NodeList<VariableDeclaration> variables9 = list.variables;
1667 EngineTestCase.assertSize(1, variables9);
1668 VariableDeclaration variable = variables9[0];
1669 JUnitTestCase.assertNotNull(variable.name);
1670 }
1671 void test_parseClassMember_getter_void() {
1672 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "void get g {}");
1673 JUnitTestCase.assertNull(method.documentationComment);
1674 JUnitTestCase.assertNull(method.externalKeyword);
1675 JUnitTestCase.assertNull(method.modifierKeyword);
1676 JUnitTestCase.assertNotNull(method.propertyKeyword);
1677 JUnitTestCase.assertNotNull(method.returnType);
1678 JUnitTestCase.assertNotNull(method.name);
1679 JUnitTestCase.assertNull(method.operatorKeyword);
1680 JUnitTestCase.assertNotNull(method.body);
1681 }
1682 void test_parseClassMember_method_external() {
1683 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "external m();");
1684 JUnitTestCase.assertNotNull(method.body);
1685 JUnitTestCase.assertNull(method.documentationComment);
1686 JUnitTestCase.assertNotNull(method.externalKeyword);
1687 JUnitTestCase.assertNull(method.modifierKeyword);
1688 JUnitTestCase.assertNotNull(method.name);
1689 JUnitTestCase.assertNull(method.operatorKeyword);
1690 JUnitTestCase.assertNotNull(method.parameters);
1691 JUnitTestCase.assertNull(method.propertyKeyword);
1692 JUnitTestCase.assertNull(method.returnType);
1693 }
1694 void test_parseClassMember_method_external_withTypeAndArgs() {
1695 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "external int m(int a);");
1696 JUnitTestCase.assertNotNull(method.body);
1697 JUnitTestCase.assertNull(method.documentationComment);
1698 JUnitTestCase.assertNotNull(method.externalKeyword);
1699 JUnitTestCase.assertNull(method.modifierKeyword);
1700 JUnitTestCase.assertNotNull(method.name);
1701 JUnitTestCase.assertNull(method.operatorKeyword);
1702 JUnitTestCase.assertNotNull(method.parameters);
1703 JUnitTestCase.assertNull(method.propertyKeyword);
1704 JUnitTestCase.assertNotNull(method.returnType);
1705 }
1706 void test_parseClassMember_method_get_noType() {
1707 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "get() {}");
1708 JUnitTestCase.assertNull(method.documentationComment);
1709 JUnitTestCase.assertNull(method.externalKeyword);
1710 JUnitTestCase.assertNull(method.modifierKeyword);
1711 JUnitTestCase.assertNull(method.propertyKeyword);
1712 JUnitTestCase.assertNull(method.returnType);
1713 JUnitTestCase.assertNotNull(method.name);
1714 JUnitTestCase.assertNull(method.operatorKeyword);
1715 JUnitTestCase.assertNotNull(method.parameters);
1716 JUnitTestCase.assertNotNull(method.body);
1717 }
1718 void test_parseClassMember_method_get_type() {
1719 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "int get() {}");
1720 JUnitTestCase.assertNull(method.documentationComment);
1721 JUnitTestCase.assertNull(method.externalKeyword);
1722 JUnitTestCase.assertNull(method.modifierKeyword);
1723 JUnitTestCase.assertNull(method.propertyKeyword);
1724 JUnitTestCase.assertNotNull(method.returnType);
1725 JUnitTestCase.assertNotNull(method.name);
1726 JUnitTestCase.assertNull(method.operatorKeyword);
1727 JUnitTestCase.assertNotNull(method.parameters);
1728 JUnitTestCase.assertNotNull(method.body);
1729 }
1730 void test_parseClassMember_method_get_void() {
1731 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "void get() {}");
1732 JUnitTestCase.assertNull(method.documentationComment);
1733 JUnitTestCase.assertNull(method.externalKeyword);
1734 JUnitTestCase.assertNull(method.modifierKeyword);
1735 JUnitTestCase.assertNull(method.propertyKeyword);
1736 JUnitTestCase.assertNotNull(method.returnType);
1737 JUnitTestCase.assertNotNull(method.name);
1738 JUnitTestCase.assertNull(method.operatorKeyword);
1739 JUnitTestCase.assertNotNull(method.parameters);
1740 JUnitTestCase.assertNotNull(method.body);
1741 }
1742 void test_parseClassMember_method_operator_noType() {
1743 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "operator() {}");
1744 JUnitTestCase.assertNull(method.documentationComment);
1745 JUnitTestCase.assertNull(method.externalKeyword);
1746 JUnitTestCase.assertNull(method.modifierKeyword);
1747 JUnitTestCase.assertNull(method.propertyKeyword);
1748 JUnitTestCase.assertNull(method.returnType);
1749 JUnitTestCase.assertNotNull(method.name);
1750 JUnitTestCase.assertNull(method.operatorKeyword);
1751 JUnitTestCase.assertNotNull(method.parameters);
1752 JUnitTestCase.assertNotNull(method.body);
1753 }
1754 void test_parseClassMember_method_operator_type() {
1755 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "int operator() {}");
1756 JUnitTestCase.assertNull(method.documentationComment);
1757 JUnitTestCase.assertNull(method.externalKeyword);
1758 JUnitTestCase.assertNull(method.modifierKeyword);
1759 JUnitTestCase.assertNull(method.propertyKeyword);
1760 JUnitTestCase.assertNotNull(method.returnType);
1761 JUnitTestCase.assertNotNull(method.name);
1762 JUnitTestCase.assertNull(method.operatorKeyword);
1763 JUnitTestCase.assertNotNull(method.parameters);
1764 JUnitTestCase.assertNotNull(method.body);
1765 }
1766 void test_parseClassMember_method_operator_void() {
1767 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "void operator() {}");
1768 JUnitTestCase.assertNull(method.documentationComment);
1769 JUnitTestCase.assertNull(method.externalKeyword);
1770 JUnitTestCase.assertNull(method.modifierKeyword);
1771 JUnitTestCase.assertNull(method.propertyKeyword);
1772 JUnitTestCase.assertNotNull(method.returnType);
1773 JUnitTestCase.assertNotNull(method.name);
1774 JUnitTestCase.assertNull(method.operatorKeyword);
1775 JUnitTestCase.assertNotNull(method.parameters);
1776 JUnitTestCase.assertNotNull(method.body);
1777 }
1778 void test_parseClassMember_method_returnType_parameterized() {
1779 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "p.A m() {}");
1780 JUnitTestCase.assertNull(method.documentationComment);
1781 JUnitTestCase.assertNull(method.externalKeyword);
1782 JUnitTestCase.assertNull(method.modifierKeyword);
1783 JUnitTestCase.assertNull(method.propertyKeyword);
1784 JUnitTestCase.assertNotNull(method.returnType);
1785 JUnitTestCase.assertNotNull(method.name);
1786 JUnitTestCase.assertNull(method.operatorKeyword);
1787 JUnitTestCase.assertNotNull(method.parameters);
1788 JUnitTestCase.assertNotNull(method.body);
1789 }
1790 void test_parseClassMember_method_set_noType() {
1791 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "set() {}");
1792 JUnitTestCase.assertNull(method.documentationComment);
1793 JUnitTestCase.assertNull(method.externalKeyword);
1794 JUnitTestCase.assertNull(method.modifierKeyword);
1795 JUnitTestCase.assertNull(method.propertyKeyword);
1796 JUnitTestCase.assertNull(method.returnType);
1797 JUnitTestCase.assertNotNull(method.name);
1798 JUnitTestCase.assertNull(method.operatorKeyword);
1799 JUnitTestCase.assertNotNull(method.parameters);
1800 JUnitTestCase.assertNotNull(method.body);
1801 }
1802 void test_parseClassMember_method_set_type() {
1803 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "int set() {}");
1804 JUnitTestCase.assertNull(method.documentationComment);
1805 JUnitTestCase.assertNull(method.externalKeyword);
1806 JUnitTestCase.assertNull(method.modifierKeyword);
1807 JUnitTestCase.assertNull(method.propertyKeyword);
1808 JUnitTestCase.assertNotNull(method.returnType);
1809 JUnitTestCase.assertNotNull(method.name);
1810 JUnitTestCase.assertNull(method.operatorKeyword);
1811 JUnitTestCase.assertNotNull(method.parameters);
1812 JUnitTestCase.assertNotNull(method.body);
1813 }
1814 void test_parseClassMember_method_set_void() {
1815 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "void set() {}");
1816 JUnitTestCase.assertNull(method.documentationComment);
1817 JUnitTestCase.assertNull(method.externalKeyword);
1818 JUnitTestCase.assertNull(method.modifierKeyword);
1819 JUnitTestCase.assertNull(method.propertyKeyword);
1820 JUnitTestCase.assertNotNull(method.returnType);
1821 JUnitTestCase.assertNotNull(method.name);
1822 JUnitTestCase.assertNull(method.operatorKeyword);
1823 JUnitTestCase.assertNotNull(method.parameters);
1824 JUnitTestCase.assertNotNull(method.body);
1825 }
1826 void test_parseClassMember_operator_index() {
1827 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "int operator [](int i) {}");
1828 JUnitTestCase.assertNull(method.documentationComment);
1829 JUnitTestCase.assertNull(method.externalKeyword);
1830 JUnitTestCase.assertNull(method.modifierKeyword);
1831 JUnitTestCase.assertNull(method.propertyKeyword);
1832 JUnitTestCase.assertNotNull(method.returnType);
1833 JUnitTestCase.assertNotNull(method.name);
1834 JUnitTestCase.assertNotNull(method.operatorKeyword);
1835 JUnitTestCase.assertNotNull(method.parameters);
1836 JUnitTestCase.assertNotNull(method.body);
1837 }
1838 void test_parseClassMember_operator_indexAssign() {
1839 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "int operator []=(int i) {}");
1840 JUnitTestCase.assertNull(method.documentationComment);
1841 JUnitTestCase.assertNull(method.externalKeyword);
1842 JUnitTestCase.assertNull(method.modifierKeyword);
1843 JUnitTestCase.assertNull(method.propertyKeyword);
1844 JUnitTestCase.assertNotNull(method.returnType);
1845 JUnitTestCase.assertNotNull(method.name);
1846 JUnitTestCase.assertNotNull(method.operatorKeyword);
1847 JUnitTestCase.assertNotNull(method.parameters);
1848 JUnitTestCase.assertNotNull(method.body);
1849 }
1850 void test_parseClassMember_redirectingFactory_const() {
1851 ConstructorDeclaration constructor = ParserTestCase.parse("parseClassMember" , <Object> ["C"], "const factory C() = B;");
1852 JUnitTestCase.assertNull(constructor.externalKeyword);
1853 JUnitTestCase.assertNotNull(constructor.constKeyword);
1854 JUnitTestCase.assertNotNull(constructor.factoryKeyword);
1855 JUnitTestCase.assertNotNull(constructor.returnType);
1856 JUnitTestCase.assertNull(constructor.period);
1857 JUnitTestCase.assertNull(constructor.name);
1858 JUnitTestCase.assertNotNull(constructor.parameters);
1859 JUnitTestCase.assertNotNull(constructor.separator);
1860 EngineTestCase.assertSize(0, constructor.initializers);
1861 JUnitTestCase.assertNotNull(constructor.redirectedConstructor);
1862 JUnitTestCase.assertNotNull(constructor.body);
1863 }
1864 void test_parseClassMember_redirectingFactory_nonConst() {
1865 ConstructorDeclaration constructor = ParserTestCase.parse("parseClassMember" , <Object> ["C"], "factory C() = B;");
1866 JUnitTestCase.assertNull(constructor.externalKeyword);
1867 JUnitTestCase.assertNull(constructor.constKeyword);
1868 JUnitTestCase.assertNotNull(constructor.factoryKeyword);
1869 JUnitTestCase.assertNotNull(constructor.returnType);
1870 JUnitTestCase.assertNull(constructor.period);
1871 JUnitTestCase.assertNull(constructor.name);
1872 JUnitTestCase.assertNotNull(constructor.parameters);
1873 JUnitTestCase.assertNotNull(constructor.separator);
1874 EngineTestCase.assertSize(0, constructor.initializers);
1875 JUnitTestCase.assertNotNull(constructor.redirectedConstructor);
1876 JUnitTestCase.assertNotNull(constructor.body);
1877 }
1878 void test_parseCombinators_h() {
1879 List<Combinator> combinators = ParserTestCase.parse4("parseCombinators", "hi de a;", []);
1880 EngineTestCase.assertSize(1, combinators);
1881 HideCombinator combinator = combinators[0] as HideCombinator;
1882 JUnitTestCase.assertNotNull(combinator);
1883 JUnitTestCase.assertNotNull(combinator.keyword);
1884 EngineTestCase.assertSize(1, combinator.hiddenNames);
1885 }
1886 void test_parseCombinators_hs() {
1887 List<Combinator> combinators = ParserTestCase.parse4("parseCombinators", "hi de a show b;", []);
1888 EngineTestCase.assertSize(2, combinators);
1889 HideCombinator hideCombinator = combinators[0] as HideCombinator;
1890 JUnitTestCase.assertNotNull(hideCombinator);
1891 JUnitTestCase.assertNotNull(hideCombinator.keyword);
1892 EngineTestCase.assertSize(1, hideCombinator.hiddenNames);
1893 ShowCombinator showCombinator = combinators[1] as ShowCombinator;
1894 JUnitTestCase.assertNotNull(showCombinator);
1895 JUnitTestCase.assertNotNull(showCombinator.keyword);
1896 EngineTestCase.assertSize(1, showCombinator.shownNames);
1897 }
1898 void test_parseCombinators_hshs() {
1899 List<Combinator> combinators = ParserTestCase.parse4("parseCombinators", "hi de a show b hide c show d;", []);
1900 EngineTestCase.assertSize(4, combinators);
1901 }
1902 void test_parseCombinators_s() {
1903 List<Combinator> combinators = ParserTestCase.parse4("parseCombinators", "sh ow a;", []);
1904 EngineTestCase.assertSize(1, combinators);
1905 ShowCombinator combinator = combinators[0] as ShowCombinator;
1906 JUnitTestCase.assertNotNull(combinator);
1907 JUnitTestCase.assertNotNull(combinator.keyword);
1908 EngineTestCase.assertSize(1, combinator.shownNames);
1909 }
1910 void test_parseCommentAndMetadata_c() {
1911 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "/** 1 */ void", []);
1912 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
1913 EngineTestCase.assertSize(0, commentAndMetadata.metadata);
1914 }
1915 void test_parseCommentAndMetadata_cmc() {
1916 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "/** 1 */ @A /** 2 */ void", []);
1917 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
1918 EngineTestCase.assertSize(1, commentAndMetadata.metadata);
1919 }
1920 void test_parseCommentAndMetadata_cmcm() {
1921 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "/** 1 */ @A /** 2 */ @B void", []);
1922 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
1923 EngineTestCase.assertSize(2, commentAndMetadata.metadata);
1924 }
1925 void test_parseCommentAndMetadata_cmm() {
1926 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "/** 1 */ @A @B void", []);
1927 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
1928 EngineTestCase.assertSize(2, commentAndMetadata.metadata);
1929 }
1930 void test_parseCommentAndMetadata_m() {
1931 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "@A void", []);
1932 JUnitTestCase.assertNull(commentAndMetadata.comment);
1933 EngineTestCase.assertSize(1, commentAndMetadata.metadata);
1934 }
1935 void test_parseCommentAndMetadata_mcm() {
1936 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "@A /** 1 */ @B void", []);
1937 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
1938 EngineTestCase.assertSize(2, commentAndMetadata.metadata);
1939 }
1940 void test_parseCommentAndMetadata_mcmc() {
1941 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "@A /** 1 */ @B /** 2 */ void", []);
1942 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
1943 EngineTestCase.assertSize(2, commentAndMetadata.metadata);
1944 }
1945 void test_parseCommentAndMetadata_mm() {
1946 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "@A @B(x) void", []);
1947 JUnitTestCase.assertNull(commentAndMetadata.comment);
1948 EngineTestCase.assertSize(2, commentAndMetadata.metadata);
1949 }
1950 void test_parseCommentAndMetadata_none() {
1951 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "void", []);
1952 JUnitTestCase.assertNull(commentAndMetadata.comment);
1953 EngineTestCase.assertSize(0, commentAndMetadata.metadata);
1954 }
1955 void test_parseCommentReference_new_prefixed() {
1956 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["new a.b", 7], "");
1957 PrefixedIdentifier prefixedIdentifier = EngineTestCase.assertInstanceOf(Pref ixedIdentifier, reference.identifier);
1958 SimpleIdentifier prefix9 = prefixedIdentifier.prefix;
1959 JUnitTestCase.assertNotNull(prefix9.token);
1960 JUnitTestCase.assertEquals("a", prefix9.name);
1961 JUnitTestCase.assertEquals(11, prefix9.offset);
1962 JUnitTestCase.assertNotNull(prefixedIdentifier.period);
1963 SimpleIdentifier identifier9 = prefixedIdentifier.identifier;
1964 JUnitTestCase.assertNotNull(identifier9.token);
1965 JUnitTestCase.assertEquals("b", identifier9.name);
1966 JUnitTestCase.assertEquals(13, identifier9.offset);
1967 }
1968 void test_parseCommentReference_new_simple() {
1969 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["new a", 5], "");
1970 SimpleIdentifier identifier10 = EngineTestCase.assertInstanceOf(SimpleIdenti fier, reference.identifier);
1971 JUnitTestCase.assertNotNull(identifier10.token);
1972 JUnitTestCase.assertEquals("a", identifier10.name);
1973 JUnitTestCase.assertEquals(9, identifier10.offset);
1974 }
1975 void test_parseCommentReference_prefixed() {
1976 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["a.b", 7], "");
1977 PrefixedIdentifier prefixedIdentifier = EngineTestCase.assertInstanceOf(Pref ixedIdentifier, reference.identifier);
1978 SimpleIdentifier prefix10 = prefixedIdentifier.prefix;
1979 JUnitTestCase.assertNotNull(prefix10.token);
1980 JUnitTestCase.assertEquals("a", prefix10.name);
1981 JUnitTestCase.assertEquals(7, prefix10.offset);
1982 JUnitTestCase.assertNotNull(prefixedIdentifier.period);
1983 SimpleIdentifier identifier11 = prefixedIdentifier.identifier;
1984 JUnitTestCase.assertNotNull(identifier11.token);
1985 JUnitTestCase.assertEquals("b", identifier11.name);
1986 JUnitTestCase.assertEquals(9, identifier11.offset);
1987 }
1988 void test_parseCommentReference_simple() {
1989 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["a", 5], "");
1990 SimpleIdentifier identifier12 = EngineTestCase.assertInstanceOf(SimpleIdenti fier, reference.identifier);
1991 JUnitTestCase.assertNotNull(identifier12.token);
1992 JUnitTestCase.assertEquals("a", identifier12.name);
1993 JUnitTestCase.assertEquals(5, identifier12.offset);
1994 }
1995 void test_parseCommentReferences_multiLine() {
1996 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/** xxx [a] yyy [b] zzz */", 3)];
1997 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
1998 EngineTestCase.assertSize(2, references);
1999 CommentReference reference = references[0];
2000 JUnitTestCase.assertNotNull(reference);
2001 JUnitTestCase.assertNotNull(reference.identifier);
2002 JUnitTestCase.assertEquals(12, reference.offset);
2003 reference = references[1];
2004 JUnitTestCase.assertNotNull(reference);
2005 JUnitTestCase.assertNotNull(reference.identifier);
2006 JUnitTestCase.assertEquals(20, reference.offset);
2007 }
2008 void test_parseCommentReferences_singleLine() {
2009 List<Token> tokens = <Token> [new StringToken(TokenType.SINGLE_LINE_COMMENT, "/// xxx [a] yyy [b] zzz", 3), new StringToken(TokenType.SINGLE_LINE_COMMENT, " /// x [c]", 28)];
2010 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
2011 EngineTestCase.assertSize(3, references);
2012 CommentReference reference = references[0];
2013 JUnitTestCase.assertNotNull(reference);
2014 JUnitTestCase.assertNotNull(reference.identifier);
2015 JUnitTestCase.assertEquals(12, reference.offset);
2016 reference = references[1];
2017 JUnitTestCase.assertNotNull(reference);
2018 JUnitTestCase.assertNotNull(reference.identifier);
2019 JUnitTestCase.assertEquals(20, reference.offset);
2020 reference = references[2];
2021 JUnitTestCase.assertNotNull(reference);
2022 JUnitTestCase.assertNotNull(reference.identifier);
2023 JUnitTestCase.assertEquals(35, reference.offset);
2024 }
2025 void test_parseCompilationUnit_directives_multiple() {
2026 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "librar y l;\npart 'a.dart';", []);
2027 JUnitTestCase.assertNull(unit.scriptTag);
2028 EngineTestCase.assertSize(2, unit.directives);
2029 EngineTestCase.assertSize(0, unit.declarations);
2030 }
2031 void test_parseCompilationUnit_directives_single() {
2032 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "librar y l;", []);
2033 JUnitTestCase.assertNull(unit.scriptTag);
2034 EngineTestCase.assertSize(1, unit.directives);
2035 EngineTestCase.assertSize(0, unit.declarations);
2036 }
2037 void test_parseCompilationUnit_empty() {
2038 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "", []) ;
2039 JUnitTestCase.assertNull(unit.scriptTag);
2040 EngineTestCase.assertSize(0, unit.directives);
2041 EngineTestCase.assertSize(0, unit.declarations);
2042 }
2043 void test_parseCompilationUnit_script() {
2044 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "#! /bi n/dart", []);
2045 JUnitTestCase.assertNotNull(unit.scriptTag);
2046 EngineTestCase.assertSize(0, unit.directives);
2047 EngineTestCase.assertSize(0, unit.declarations);
2048 }
2049 void test_parseCompilationUnit_topLevelDeclaration() {
2050 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "class A {}", []);
2051 JUnitTestCase.assertNull(unit.scriptTag);
2052 EngineTestCase.assertSize(0, unit.directives);
2053 EngineTestCase.assertSize(1, unit.declarations);
2054 }
2055 void test_parseCompilationUnitMember_class() {
2056 ClassDeclaration declaration = ParserTestCase.parse("parseCompilationUnitMem ber", <Object> [emptyCommentAndMetadata()], "class A {}");
2057 JUnitTestCase.assertEquals("A", declaration.name.name);
2058 EngineTestCase.assertSize(0, declaration.members);
2059 }
2060 void test_parseCompilationUnitMember_constVariable() {
2061 TopLevelVariableDeclaration declaration = ParserTestCase.parse("parseCompila tionUnitMember", <Object> [emptyCommentAndMetadata()], "const int x = 0;");
2062 JUnitTestCase.assertNotNull(declaration.semicolon);
2063 JUnitTestCase.assertNotNull(declaration.variables);
2064 }
2065 void test_parseCompilationUnitMember_finalVariable() {
2066 TopLevelVariableDeclaration declaration = ParserTestCase.parse("parseCompila tionUnitMember", <Object> [emptyCommentAndMetadata()], "final x = 0;");
2067 JUnitTestCase.assertNotNull(declaration.semicolon);
2068 JUnitTestCase.assertNotNull(declaration.variables);
2069 }
2070 void test_parseCompilationUnitMember_function_external_noType() {
2071 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external f()");
2072 JUnitTestCase.assertNotNull(declaration.externalKeyword);
2073 JUnitTestCase.assertNotNull(declaration.functionExpression);
2074 JUnitTestCase.assertNull(declaration.propertyKeyword);
2075 }
2076 void test_parseCompilationUnitMember_function_external_type() {
2077 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external int f()");
2078 JUnitTestCase.assertNotNull(declaration.externalKeyword);
2079 JUnitTestCase.assertNotNull(declaration.functionExpression);
2080 JUnitTestCase.assertNull(declaration.propertyKeyword);
2081 }
2082 void test_parseCompilationUnitMember_function_noType() {
2083 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "f() {}");
2084 JUnitTestCase.assertNotNull(declaration.functionExpression);
2085 JUnitTestCase.assertNull(declaration.propertyKeyword);
2086 }
2087 void test_parseCompilationUnitMember_function_type() {
2088 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "int f() {}");
2089 JUnitTestCase.assertNotNull(declaration.functionExpression);
2090 JUnitTestCase.assertNull(declaration.propertyKeyword);
2091 }
2092 void test_parseCompilationUnitMember_getter_external_noType() {
2093 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external get p");
2094 JUnitTestCase.assertNotNull(declaration.externalKeyword);
2095 JUnitTestCase.assertNotNull(declaration.functionExpression);
2096 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2097 }
2098 void test_parseCompilationUnitMember_getter_external_type() {
2099 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external int get p");
2100 JUnitTestCase.assertNotNull(declaration.externalKeyword);
2101 JUnitTestCase.assertNotNull(declaration.functionExpression);
2102 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2103 }
2104 void test_parseCompilationUnitMember_getter_noType() {
2105 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "get p => 0;");
2106 JUnitTestCase.assertNotNull(declaration.functionExpression);
2107 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2108 }
2109 void test_parseCompilationUnitMember_getter_type() {
2110 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "int get p => 0;");
2111 JUnitTestCase.assertNotNull(declaration.functionExpression);
2112 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2113 }
2114 void test_parseCompilationUnitMember_setter_external_noType() {
2115 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external set p(v)");
2116 JUnitTestCase.assertNotNull(declaration.externalKeyword);
2117 JUnitTestCase.assertNotNull(declaration.functionExpression);
2118 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2119 }
2120 void test_parseCompilationUnitMember_setter_external_type() {
2121 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external void set p(int v)");
2122 JUnitTestCase.assertNotNull(declaration.externalKeyword);
2123 JUnitTestCase.assertNotNull(declaration.functionExpression);
2124 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2125 }
2126 void test_parseCompilationUnitMember_setter_noType() {
2127 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "set p(v) {}");
2128 JUnitTestCase.assertNotNull(declaration.functionExpression);
2129 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2130 }
2131 void test_parseCompilationUnitMember_setter_type() {
2132 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "void set p(int v) {}");
2133 JUnitTestCase.assertNotNull(declaration.functionExpression);
2134 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2135 }
2136 void test_parseCompilationUnitMember_typedef_class_abstract() {
2137 ClassTypeAlias typeAlias = ParserTestCase.parse("parseCompilationUnitMember" , <Object> [emptyCommentAndMetadata()], "typedef C = abstract S with M;");
2138 JUnitTestCase.assertNotNull(typeAlias.keyword);
2139 JUnitTestCase.assertEquals("C", typeAlias.name.name);
2140 JUnitTestCase.assertNull(typeAlias.typeParameters);
2141 JUnitTestCase.assertNotNull(typeAlias.equals);
2142 JUnitTestCase.assertNotNull(typeAlias.abstractKeyword);
2143 JUnitTestCase.assertEquals("S", typeAlias.superclass.name.name);
2144 JUnitTestCase.assertNotNull(typeAlias.withClause);
2145 JUnitTestCase.assertNull(typeAlias.implementsClause);
2146 JUnitTestCase.assertNotNull(typeAlias.semicolon);
2147 }
2148 void test_parseCompilationUnitMember_typedef_class_generic() {
2149 ClassTypeAlias typeAlias = ParserTestCase.parse("parseCompilationUnitMember" , <Object> [emptyCommentAndMetadata()], "typedef C<E> = S<E> with M<E> implement s I<E>;");
2150 JUnitTestCase.assertNotNull(typeAlias.keyword);
2151 JUnitTestCase.assertEquals("C", typeAlias.name.name);
2152 EngineTestCase.assertSize(1, typeAlias.typeParameters.typeParameters);
2153 JUnitTestCase.assertNotNull(typeAlias.equals);
2154 JUnitTestCase.assertNull(typeAlias.abstractKeyword);
2155 JUnitTestCase.assertEquals("S", typeAlias.superclass.name.name);
2156 JUnitTestCase.assertNotNull(typeAlias.withClause);
2157 JUnitTestCase.assertNotNull(typeAlias.implementsClause);
2158 JUnitTestCase.assertNotNull(typeAlias.semicolon);
2159 }
2160 void test_parseCompilationUnitMember_typedef_class_implements() {
2161 ClassTypeAlias typeAlias = ParserTestCase.parse("parseCompilationUnitMember" , <Object> [emptyCommentAndMetadata()], "typedef C = S with M implements I;");
2162 JUnitTestCase.assertNotNull(typeAlias.keyword);
2163 JUnitTestCase.assertEquals("C", typeAlias.name.name);
2164 JUnitTestCase.assertNull(typeAlias.typeParameters);
2165 JUnitTestCase.assertNotNull(typeAlias.equals);
2166 JUnitTestCase.assertNull(typeAlias.abstractKeyword);
2167 JUnitTestCase.assertEquals("S", typeAlias.superclass.name.name);
2168 JUnitTestCase.assertNotNull(typeAlias.withClause);
2169 JUnitTestCase.assertNotNull(typeAlias.implementsClause);
2170 JUnitTestCase.assertNotNull(typeAlias.semicolon);
2171 }
2172 void test_parseCompilationUnitMember_typedef_class_noImplements() {
2173 ClassTypeAlias typeAlias = ParserTestCase.parse("parseCompilationUnitMember" , <Object> [emptyCommentAndMetadata()], "typedef C = S with M;");
2174 JUnitTestCase.assertNotNull(typeAlias.keyword);
2175 JUnitTestCase.assertEquals("C", typeAlias.name.name);
2176 JUnitTestCase.assertNull(typeAlias.typeParameters);
2177 JUnitTestCase.assertNotNull(typeAlias.equals);
2178 JUnitTestCase.assertNull(typeAlias.abstractKeyword);
2179 JUnitTestCase.assertEquals("S", typeAlias.superclass.name.name);
2180 JUnitTestCase.assertNotNull(typeAlias.withClause);
2181 JUnitTestCase.assertNull(typeAlias.implementsClause);
2182 JUnitTestCase.assertNotNull(typeAlias.semicolon);
2183 }
2184 void test_parseCompilationUnitMember_typedef_function() {
2185 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseCompilationUnitMemb er", <Object> [emptyCommentAndMetadata()], "typedef F();");
2186 JUnitTestCase.assertEquals("F", typeAlias.name.name);
2187 EngineTestCase.assertSize(0, typeAlias.parameters.parameters);
2188 }
2189 void test_parseCompilationUnitMember_variable() {
2190 TopLevelVariableDeclaration declaration = ParserTestCase.parse("parseCompila tionUnitMember", <Object> [emptyCommentAndMetadata()], "var x = 0;");
2191 JUnitTestCase.assertNotNull(declaration.semicolon);
2192 JUnitTestCase.assertNotNull(declaration.variables);
2193 }
2194 void test_parseConditionalExpression() {
2195 ConditionalExpression expression = ParserTestCase.parse4("parseConditionalEx pression", "x ? y : z", []);
2196 JUnitTestCase.assertNotNull(expression.condition);
2197 JUnitTestCase.assertNotNull(expression.question);
2198 JUnitTestCase.assertNotNull(expression.thenExpression);
2199 JUnitTestCase.assertNotNull(expression.colon);
2200 JUnitTestCase.assertNotNull(expression.elseExpression);
2201 }
2202 void test_parseConstExpression_instanceCreation() {
2203 InstanceCreationExpression expression = ParserTestCase.parse4("parseConstExp ression", "const A()", []);
2204 JUnitTestCase.assertNotNull(expression.keyword);
2205 ConstructorName name = expression.constructorName;
2206 JUnitTestCase.assertNotNull(name);
2207 JUnitTestCase.assertNotNull(name.type);
2208 JUnitTestCase.assertNull(name.period);
2209 JUnitTestCase.assertNull(name.name);
2210 JUnitTestCase.assertNotNull(expression.argumentList);
2211 }
2212 void test_parseConstExpression_listLiteral_typed() {
2213 ListLiteral literal = ParserTestCase.parse4("parseConstExpression", "const < A> []", []);
2214 JUnitTestCase.assertNotNull(literal.modifier);
2215 JUnitTestCase.assertNotNull(literal.typeArguments);
2216 JUnitTestCase.assertNotNull(literal.leftBracket);
2217 EngineTestCase.assertSize(0, literal.elements);
2218 JUnitTestCase.assertNotNull(literal.rightBracket);
2219 }
2220 void test_parseConstExpression_listLiteral_untyped() {
2221 ListLiteral literal = ParserTestCase.parse4("parseConstExpression", "const [ ]", []);
2222 JUnitTestCase.assertNotNull(literal.modifier);
2223 JUnitTestCase.assertNull(literal.typeArguments);
2224 JUnitTestCase.assertNotNull(literal.leftBracket);
2225 EngineTestCase.assertSize(0, literal.elements);
2226 JUnitTestCase.assertNotNull(literal.rightBracket);
2227 }
2228 void test_parseConstExpression_mapLiteral_typed() {
2229 MapLiteral literal = ParserTestCase.parse4("parseConstExpression", "const <A > {}", []);
2230 JUnitTestCase.assertNotNull(literal.leftBracket);
2231 EngineTestCase.assertSize(0, literal.entries);
2232 JUnitTestCase.assertNotNull(literal.rightBracket);
2233 JUnitTestCase.assertNotNull(literal.typeArguments);
2234 }
2235 void test_parseConstExpression_mapLiteral_untyped() {
2236 MapLiteral literal = ParserTestCase.parse4("parseConstExpression", "const {} ", []);
2237 JUnitTestCase.assertNotNull(literal.leftBracket);
2238 EngineTestCase.assertSize(0, literal.entries);
2239 JUnitTestCase.assertNotNull(literal.rightBracket);
2240 JUnitTestCase.assertNull(literal.typeArguments);
2241 }
2242 void test_parseConstructor() {
2243 }
2244 void test_parseConstructorFieldInitializer_qualified() {
2245 ConstructorFieldInitializer invocation = ParserTestCase.parse4("parseConstru ctorFieldInitializer", "this.a = b", []);
2246 JUnitTestCase.assertNotNull(invocation.equals);
2247 JUnitTestCase.assertNotNull(invocation.expression);
2248 JUnitTestCase.assertNotNull(invocation.fieldName);
2249 JUnitTestCase.assertNotNull(invocation.keyword);
2250 JUnitTestCase.assertNotNull(invocation.period);
2251 }
2252 void test_parseConstructorFieldInitializer_unqualified() {
2253 ConstructorFieldInitializer invocation = ParserTestCase.parse4("parseConstru ctorFieldInitializer", "a = b", []);
2254 JUnitTestCase.assertNotNull(invocation.equals);
2255 JUnitTestCase.assertNotNull(invocation.expression);
2256 JUnitTestCase.assertNotNull(invocation.fieldName);
2257 JUnitTestCase.assertNull(invocation.keyword);
2258 JUnitTestCase.assertNull(invocation.period);
2259 }
2260 void test_parseConstructorName_named_noPrefix() {
2261 ConstructorName name = ParserTestCase.parse4("parseConstructorName", "A.n;", []);
2262 JUnitTestCase.assertNotNull(name.type);
2263 JUnitTestCase.assertNull(name.period);
2264 JUnitTestCase.assertNull(name.name);
2265 }
2266 void test_parseConstructorName_named_prefixed() {
2267 ConstructorName name = ParserTestCase.parse4("parseConstructorName", "p.A.n; ", []);
2268 JUnitTestCase.assertNotNull(name.type);
2269 JUnitTestCase.assertNotNull(name.period);
2270 JUnitTestCase.assertNotNull(name.name);
2271 }
2272 void test_parseConstructorName_unnamed_noPrefix() {
2273 ConstructorName name = ParserTestCase.parse4("parseConstructorName", "A;", [ ]);
2274 JUnitTestCase.assertNotNull(name.type);
2275 JUnitTestCase.assertNull(name.period);
2276 JUnitTestCase.assertNull(name.name);
2277 }
2278 void test_parseConstructorName_unnamed_prefixed() {
2279 ConstructorName name = ParserTestCase.parse4("parseConstructorName", "p.A;", []);
2280 JUnitTestCase.assertNotNull(name.type);
2281 JUnitTestCase.assertNull(name.period);
2282 JUnitTestCase.assertNull(name.name);
2283 }
2284 void test_parseContinueStatement_label() {
2285 ContinueStatement statement = ParserTestCase.parse4("parseContinueStatement" , "continue foo;", [ParserErrorCode.CONTINUE_OUTSIDE_OF_LOOP]);
2286 JUnitTestCase.assertNotNull(statement.keyword);
2287 JUnitTestCase.assertNotNull(statement.label);
2288 JUnitTestCase.assertNotNull(statement.semicolon);
2289 }
2290 void test_parseContinueStatement_noLabel() {
2291 ContinueStatement statement = ParserTestCase.parse4("parseContinueStatement" , "continue;", [ParserErrorCode.CONTINUE_OUTSIDE_OF_LOOP]);
2292 JUnitTestCase.assertNotNull(statement.keyword);
2293 JUnitTestCase.assertNull(statement.label);
2294 JUnitTestCase.assertNotNull(statement.semicolon);
2295 }
2296 void test_parseDirective_export() {
2297 ExportDirective directive = ParserTestCase.parse("parseDirective", <Object> [emptyCommentAndMetadata()], "export 'lib/lib.dart';");
2298 JUnitTestCase.assertNotNull(directive.keyword);
2299 JUnitTestCase.assertNotNull(directive.libraryUri);
2300 EngineTestCase.assertSize(0, directive.combinators);
2301 JUnitTestCase.assertNotNull(directive.semicolon);
2302 }
2303 void test_parseDirective_import() {
2304 ImportDirective directive = ParserTestCase.parse("parseDirective", <Object> [emptyCommentAndMetadata()], "import 'lib/lib.dart';");
2305 JUnitTestCase.assertNotNull(directive.keyword);
2306 JUnitTestCase.assertNotNull(directive.libraryUri);
2307 JUnitTestCase.assertNull(directive.asToken);
2308 JUnitTestCase.assertNull(directive.prefix);
2309 EngineTestCase.assertSize(0, directive.combinators);
2310 JUnitTestCase.assertNotNull(directive.semicolon);
2311 }
2312 void test_parseDirective_library() {
2313 LibraryDirective directive = ParserTestCase.parse("parseDirective", <Object> [emptyCommentAndMetadata()], "library l;");
2314 JUnitTestCase.assertNotNull(directive.libraryToken);
2315 JUnitTestCase.assertNotNull(directive.name);
2316 JUnitTestCase.assertNotNull(directive.semicolon);
2317 }
2318 void test_parseDirective_part() {
2319 PartDirective directive = ParserTestCase.parse("parseDirective", <Object> [e mptyCommentAndMetadata()], "part 'lib/lib.dart';");
2320 JUnitTestCase.assertNotNull(directive.partToken);
2321 JUnitTestCase.assertNotNull(directive.partUri);
2322 JUnitTestCase.assertNotNull(directive.semicolon);
2323 }
2324 void test_parseDirective_partOf() {
2325 PartOfDirective directive = ParserTestCase.parse("parseDirective", <Object> [emptyCommentAndMetadata()], "part of l;");
2326 JUnitTestCase.assertNotNull(directive.partToken);
2327 JUnitTestCase.assertNotNull(directive.ofToken);
2328 JUnitTestCase.assertNotNull(directive.libraryName);
2329 JUnitTestCase.assertNotNull(directive.semicolon);
2330 }
2331 void test_parseDocumentationComment_block() {
2332 Comment comment = ParserTestCase.parse4("parseDocumentationComment", "/** */ class", []);
2333 JUnitTestCase.assertFalse(comment.isBlock());
2334 JUnitTestCase.assertTrue(comment.isDocumentation());
2335 JUnitTestCase.assertFalse(comment.isEndOfLine());
2336 }
2337 void test_parseDocumentationComment_block_withReference() {
2338 Comment comment = ParserTestCase.parse4("parseDocumentationComment", "/** [a ] */ class", []);
2339 JUnitTestCase.assertFalse(comment.isBlock());
2340 JUnitTestCase.assertTrue(comment.isDocumentation());
2341 JUnitTestCase.assertFalse(comment.isEndOfLine());
2342 NodeList<CommentReference> references2 = comment.references;
2343 EngineTestCase.assertSize(1, references2);
2344 CommentReference reference = references2[0];
2345 JUnitTestCase.assertNotNull(reference);
2346 JUnitTestCase.assertEquals(5, reference.offset);
2347 }
2348 void test_parseDocumentationComment_endOfLine() {
2349 Comment comment = ParserTestCase.parse4("parseDocumentationComment", "/// \n /// \n class", []);
2350 JUnitTestCase.assertFalse(comment.isBlock());
2351 JUnitTestCase.assertTrue(comment.isDocumentation());
2352 JUnitTestCase.assertFalse(comment.isEndOfLine());
2353 }
2354 void test_parseDoStatement() {
2355 DoStatement statement = ParserTestCase.parse4("parseDoStatement", "do {} whi le (x);", []);
2356 JUnitTestCase.assertNotNull(statement.doKeyword);
2357 JUnitTestCase.assertNotNull(statement.body);
2358 JUnitTestCase.assertNotNull(statement.whileKeyword);
2359 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2360 JUnitTestCase.assertNotNull(statement.condition);
2361 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2362 JUnitTestCase.assertNotNull(statement.semicolon);
2363 }
2364 void test_parseEmptyStatement() {
2365 EmptyStatement statement = ParserTestCase.parse4("parseEmptyStatement", ";", []);
2366 JUnitTestCase.assertNotNull(statement.semicolon);
2367 }
2368 void test_parseEqualityExpression_normal() {
2369 BinaryExpression expression = ParserTestCase.parse4("parseEqualityExpression ", "x == y", []);
2370 JUnitTestCase.assertNotNull(expression.leftOperand);
2371 JUnitTestCase.assertNotNull(expression.operator);
2372 JUnitTestCase.assertEquals(TokenType.EQ_EQ, expression.operator.type);
2373 JUnitTestCase.assertNotNull(expression.rightOperand);
2374 }
2375 void test_parseEqualityExpression_super() {
2376 BinaryExpression expression = ParserTestCase.parse4("parseEqualityExpression ", "super == y", []);
2377 EngineTestCase.assertInstanceOf(SuperExpression, expression.leftOperand);
2378 JUnitTestCase.assertNotNull(expression.operator);
2379 JUnitTestCase.assertEquals(TokenType.EQ_EQ, expression.operator.type);
2380 JUnitTestCase.assertNotNull(expression.rightOperand);
2381 }
2382 void test_parseExportDirective_hide() {
2383 ExportDirective directive = ParserTestCase.parse("parseExportDirective", <Ob ject> [emptyCommentAndMetadata()], "export 'lib/lib.dart' hide A, B;");
2384 JUnitTestCase.assertNotNull(directive.keyword);
2385 JUnitTestCase.assertNotNull(directive.libraryUri);
2386 EngineTestCase.assertSize(1, directive.combinators);
2387 JUnitTestCase.assertNotNull(directive.semicolon);
2388 }
2389 void test_parseExportDirective_hide_show() {
2390 ExportDirective directive = ParserTestCase.parse("parseExportDirective", <Ob ject> [emptyCommentAndMetadata()], "export 'lib/lib.dart' hide A show B;");
2391 JUnitTestCase.assertNotNull(directive.keyword);
2392 JUnitTestCase.assertNotNull(directive.libraryUri);
2393 EngineTestCase.assertSize(2, directive.combinators);
2394 JUnitTestCase.assertNotNull(directive.semicolon);
2395 }
2396 void test_parseExportDirective_noCombinator() {
2397 ExportDirective directive = ParserTestCase.parse("parseExportDirective", <Ob ject> [emptyCommentAndMetadata()], "export 'lib/lib.dart';");
2398 JUnitTestCase.assertNotNull(directive.keyword);
2399 JUnitTestCase.assertNotNull(directive.libraryUri);
2400 EngineTestCase.assertSize(0, directive.combinators);
2401 JUnitTestCase.assertNotNull(directive.semicolon);
2402 }
2403 void test_parseExportDirective_show() {
2404 ExportDirective directive = ParserTestCase.parse("parseExportDirective", <Ob ject> [emptyCommentAndMetadata()], "export 'lib/lib.dart' show A, B;");
2405 JUnitTestCase.assertNotNull(directive.keyword);
2406 JUnitTestCase.assertNotNull(directive.libraryUri);
2407 EngineTestCase.assertSize(1, directive.combinators);
2408 JUnitTestCase.assertNotNull(directive.semicolon);
2409 }
2410 void test_parseExportDirective_show_hide() {
2411 ExportDirective directive = ParserTestCase.parse("parseExportDirective", <Ob ject> [emptyCommentAndMetadata()], "export 'lib/lib.dart' show B hide A;");
2412 JUnitTestCase.assertNotNull(directive.keyword);
2413 JUnitTestCase.assertNotNull(directive.libraryUri);
2414 EngineTestCase.assertSize(2, directive.combinators);
2415 JUnitTestCase.assertNotNull(directive.semicolon);
2416 }
2417 void test_parseExpression_assign() {
2418 AssignmentExpression expression = ParserTestCase.parse4("parseExpression", " x = y", []);
2419 JUnitTestCase.assertNotNull(expression.leftHandSide);
2420 JUnitTestCase.assertNotNull(expression.operator);
2421 JUnitTestCase.assertEquals(TokenType.EQ, expression.operator.type);
2422 JUnitTestCase.assertNotNull(expression.rightHandSide);
2423 }
2424 void test_parseExpression_comparison() {
2425 BinaryExpression expression = ParserTestCase.parse4("parseExpression", "--a. b == c", []);
2426 JUnitTestCase.assertNotNull(expression.leftOperand);
2427 JUnitTestCase.assertNotNull(expression.operator);
2428 JUnitTestCase.assertEquals(TokenType.EQ_EQ, expression.operator.type);
2429 JUnitTestCase.assertNotNull(expression.rightOperand);
2430 }
2431 void test_parseExpression_invokeFunctionExpression() {
2432 FunctionExpressionInvocation invocation = ParserTestCase.parse4("parseExpres sion", "(a) {return a + a;} (3)", []);
2433 EngineTestCase.assertInstanceOf(FunctionExpression, invocation.function);
2434 FunctionExpression expression = invocation.function as FunctionExpression;
2435 JUnitTestCase.assertNotNull(expression.parameters);
2436 JUnitTestCase.assertNotNull(expression.body);
2437 ArgumentList list = invocation.argumentList;
2438 JUnitTestCase.assertNotNull(list);
2439 EngineTestCase.assertSize(1, list.arguments);
2440 }
2441 void test_parseExpression_superMethodInvocation() {
2442 MethodInvocation invocation = ParserTestCase.parse4("parseExpression", "supe r.m()", []);
2443 JUnitTestCase.assertNotNull(invocation.target);
2444 JUnitTestCase.assertNotNull(invocation.methodName);
2445 JUnitTestCase.assertNotNull(invocation.argumentList);
2446 }
2447 void test_parseExpressionList_multiple() {
2448 List<Expression> result = ParserTestCase.parse4("parseExpressionList", "1, 2 , 3", []);
2449 EngineTestCase.assertSize(3, result);
2450 }
2451 void test_parseExpressionList_single() {
2452 List<Expression> result = ParserTestCase.parse4("parseExpressionList", "1", []);
2453 EngineTestCase.assertSize(1, result);
2454 }
2455 void test_parseExpressionWithoutCascade_assign() {
2456 AssignmentExpression expression = ParserTestCase.parse4("parseExpressionWith outCascade", "x = y", []);
2457 JUnitTestCase.assertNotNull(expression.leftHandSide);
2458 JUnitTestCase.assertNotNull(expression.operator);
2459 JUnitTestCase.assertEquals(TokenType.EQ, expression.operator.type);
2460 JUnitTestCase.assertNotNull(expression.rightHandSide);
2461 }
2462 void test_parseExpressionWithoutCascade_comparison() {
2463 BinaryExpression expression = ParserTestCase.parse4("parseExpressionWithoutC ascade", "--a.b == c", []);
2464 JUnitTestCase.assertNotNull(expression.leftOperand);
2465 JUnitTestCase.assertNotNull(expression.operator);
2466 JUnitTestCase.assertEquals(TokenType.EQ_EQ, expression.operator.type);
2467 JUnitTestCase.assertNotNull(expression.rightOperand);
2468 }
2469 void test_parseExpressionWithoutCascade_superMethodInvocation() {
2470 MethodInvocation invocation = ParserTestCase.parse4("parseExpressionWithoutC ascade", "super.m()", []);
2471 JUnitTestCase.assertNotNull(invocation.target);
2472 JUnitTestCase.assertNotNull(invocation.methodName);
2473 JUnitTestCase.assertNotNull(invocation.argumentList);
2474 }
2475 void test_parseExtendsClause() {
2476 ExtendsClause clause = ParserTestCase.parse4("parseExtendsClause", "extends B", []);
2477 JUnitTestCase.assertNotNull(clause.keyword);
2478 JUnitTestCase.assertNotNull(clause.superclass);
2479 EngineTestCase.assertInstanceOf(TypeName, clause.superclass);
2480 }
2481 void test_parseFinalConstVarOrType_const_noType() {
2482 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "const");
2483 Token keyword30 = result.keyword;
2484 JUnitTestCase.assertNotNull(keyword30);
2485 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword30.type);
2486 JUnitTestCase.assertEquals(Keyword.CONST, (keyword30 as KeywordToken).keywor d);
2487 JUnitTestCase.assertNull(result.type);
2488 }
2489 void test_parseFinalConstVarOrType_const_type() {
2490 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "const A a");
2491 Token keyword31 = result.keyword;
2492 JUnitTestCase.assertNotNull(keyword31);
2493 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword31.type);
2494 JUnitTestCase.assertEquals(Keyword.CONST, (keyword31 as KeywordToken).keywor d);
2495 JUnitTestCase.assertNotNull(result.type);
2496 }
2497 void test_parseFinalConstVarOrType_final_noType() {
2498 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "final");
2499 Token keyword32 = result.keyword;
2500 JUnitTestCase.assertNotNull(keyword32);
2501 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword32.type);
2502 JUnitTestCase.assertEquals(Keyword.FINAL, (keyword32 as KeywordToken).keywor d);
2503 JUnitTestCase.assertNull(result.type);
2504 }
2505 void test_parseFinalConstVarOrType_final_type() {
2506 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "final A a");
2507 Token keyword33 = result.keyword;
2508 JUnitTestCase.assertNotNull(keyword33);
2509 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword33.type);
2510 JUnitTestCase.assertEquals(Keyword.FINAL, (keyword33 as KeywordToken).keywor d);
2511 JUnitTestCase.assertNotNull(result.type);
2512 }
2513 void test_parseFinalConstVarOrType_type_parameterized() {
2514 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "A<B> a");
2515 JUnitTestCase.assertNull(result.keyword);
2516 JUnitTestCase.assertNotNull(result.type);
2517 }
2518 void test_parseFinalConstVarOrType_type_prefixed() {
2519 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "p.A a");
2520 JUnitTestCase.assertNull(result.keyword);
2521 JUnitTestCase.assertNotNull(result.type);
2522 }
2523 void test_parseFinalConstVarOrType_type_prefixedAndParameterized() {
2524 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "p.A<B> a");
2525 JUnitTestCase.assertNull(result.keyword);
2526 JUnitTestCase.assertNotNull(result.type);
2527 }
2528 void test_parseFinalConstVarOrType_type_simple() {
2529 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "A a");
2530 JUnitTestCase.assertNull(result.keyword);
2531 JUnitTestCase.assertNotNull(result.type);
2532 }
2533 void test_parseFinalConstVarOrType_var() {
2534 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "var");
2535 Token keyword34 = result.keyword;
2536 JUnitTestCase.assertNotNull(keyword34);
2537 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword34.type);
2538 JUnitTestCase.assertEquals(Keyword.VAR, (keyword34 as KeywordToken).keyword) ;
2539 JUnitTestCase.assertNull(result.type);
2540 }
2541 void test_parseFormalParameter_final_withType_named() {
2542 ParameterKind kind = ParameterKind.NAMED;
2543 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "final A a : null");
2544 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
2545 JUnitTestCase.assertNotNull(simpleParameter.identifier);
2546 JUnitTestCase.assertNotNull(simpleParameter.keyword);
2547 JUnitTestCase.assertNotNull(simpleParameter.type);
2548 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
2549 JUnitTestCase.assertNotNull(parameter.separator);
2550 JUnitTestCase.assertNotNull(parameter.defaultValue);
2551 JUnitTestCase.assertEquals(kind, parameter.kind);
2552 }
2553 void test_parseFormalParameter_final_withType_normal() {
2554 ParameterKind kind = ParameterKind.REQUIRED;
2555 SimpleFormalParameter parameter = ParserTestCase.parse("parseFormalParameter ", <Object> [kind], "final A a");
2556 JUnitTestCase.assertNotNull(parameter.identifier);
2557 JUnitTestCase.assertNotNull(parameter.keyword);
2558 JUnitTestCase.assertNotNull(parameter.type);
2559 JUnitTestCase.assertEquals(kind, parameter.kind);
2560 }
2561 void test_parseFormalParameter_final_withType_positional() {
2562 ParameterKind kind = ParameterKind.POSITIONAL;
2563 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "final A a = null");
2564 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
2565 JUnitTestCase.assertNotNull(simpleParameter.identifier);
2566 JUnitTestCase.assertNotNull(simpleParameter.keyword);
2567 JUnitTestCase.assertNotNull(simpleParameter.type);
2568 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
2569 JUnitTestCase.assertNotNull(parameter.separator);
2570 JUnitTestCase.assertNotNull(parameter.defaultValue);
2571 JUnitTestCase.assertEquals(kind, parameter.kind);
2572 }
2573 void test_parseFormalParameter_nonFinal_withType_named() {
2574 ParameterKind kind = ParameterKind.NAMED;
2575 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "A a : null");
2576 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
2577 JUnitTestCase.assertNotNull(simpleParameter.identifier);
2578 JUnitTestCase.assertNull(simpleParameter.keyword);
2579 JUnitTestCase.assertNotNull(simpleParameter.type);
2580 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
2581 JUnitTestCase.assertNotNull(parameter.separator);
2582 JUnitTestCase.assertNotNull(parameter.defaultValue);
2583 JUnitTestCase.assertEquals(kind, parameter.kind);
2584 }
2585 void test_parseFormalParameter_nonFinal_withType_normal() {
2586 ParameterKind kind = ParameterKind.REQUIRED;
2587 SimpleFormalParameter parameter = ParserTestCase.parse("parseFormalParameter ", <Object> [kind], "A a");
2588 JUnitTestCase.assertNotNull(parameter.identifier);
2589 JUnitTestCase.assertNull(parameter.keyword);
2590 JUnitTestCase.assertNotNull(parameter.type);
2591 JUnitTestCase.assertEquals(kind, parameter.kind);
2592 }
2593 void test_parseFormalParameter_nonFinal_withType_positional() {
2594 ParameterKind kind = ParameterKind.POSITIONAL;
2595 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "A a = null");
2596 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
2597 JUnitTestCase.assertNotNull(simpleParameter.identifier);
2598 JUnitTestCase.assertNull(simpleParameter.keyword);
2599 JUnitTestCase.assertNotNull(simpleParameter.type);
2600 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
2601 JUnitTestCase.assertNotNull(parameter.separator);
2602 JUnitTestCase.assertNotNull(parameter.defaultValue);
2603 JUnitTestCase.assertEquals(kind, parameter.kind);
2604 }
2605 void test_parseFormalParameter_var() {
2606 ParameterKind kind = ParameterKind.REQUIRED;
2607 SimpleFormalParameter parameter = ParserTestCase.parse("parseFormalParameter ", <Object> [kind], "var a");
2608 JUnitTestCase.assertNotNull(parameter.identifier);
2609 JUnitTestCase.assertNotNull(parameter.keyword);
2610 JUnitTestCase.assertNull(parameter.type);
2611 JUnitTestCase.assertEquals(kind, parameter.kind);
2612 }
2613 void test_parseFormalParameter_var_named() {
2614 ParameterKind kind = ParameterKind.NAMED;
2615 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "var a : null");
2616 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
2617 JUnitTestCase.assertNotNull(simpleParameter.identifier);
2618 JUnitTestCase.assertNotNull(simpleParameter.keyword);
2619 JUnitTestCase.assertNull(simpleParameter.type);
2620 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
2621 JUnitTestCase.assertNotNull(parameter.separator);
2622 JUnitTestCase.assertNotNull(parameter.defaultValue);
2623 JUnitTestCase.assertEquals(kind, parameter.kind);
2624 }
2625 void test_parseFormalParameter_var_positional() {
2626 ParameterKind kind = ParameterKind.POSITIONAL;
2627 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "var a = null");
2628 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
2629 JUnitTestCase.assertNotNull(simpleParameter.identifier);
2630 JUnitTestCase.assertNotNull(simpleParameter.keyword);
2631 JUnitTestCase.assertNull(simpleParameter.type);
2632 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
2633 JUnitTestCase.assertNotNull(parameter.separator);
2634 JUnitTestCase.assertNotNull(parameter.defaultValue);
2635 JUnitTestCase.assertEquals(kind, parameter.kind);
2636 }
2637 void test_parseFormalParameterList_empty() {
2638 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "()", []);
2639 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2640 JUnitTestCase.assertNull(parameterList.leftDelimiter);
2641 EngineTestCase.assertSize(0, parameterList.parameters);
2642 JUnitTestCase.assertNull(parameterList.rightDelimiter);
2643 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2644 }
2645 void test_parseFormalParameterList_named_multiple() {
2646 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "({A a : 1, B b, C c : 3})", []);
2647 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2648 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
2649 EngineTestCase.assertSize(3, parameterList.parameters);
2650 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
2651 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2652 }
2653 void test_parseFormalParameterList_named_single() {
2654 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "({A a})", []);
2655 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2656 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
2657 EngineTestCase.assertSize(1, parameterList.parameters);
2658 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
2659 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2660 }
2661 void test_parseFormalParameterList_normal_multiple() {
2662 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "(A a, B b, C c)", []);
2663 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2664 JUnitTestCase.assertNull(parameterList.leftDelimiter);
2665 EngineTestCase.assertSize(3, parameterList.parameters);
2666 JUnitTestCase.assertNull(parameterList.rightDelimiter);
2667 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2668 }
2669 void test_parseFormalParameterList_normal_named() {
2670 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "(A a, {B b})", []);
2671 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2672 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
2673 EngineTestCase.assertSize(2, parameterList.parameters);
2674 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
2675 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2676 }
2677 void test_parseFormalParameterList_normal_positional() {
2678 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "(A a, [B b])", []);
2679 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2680 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
2681 EngineTestCase.assertSize(2, parameterList.parameters);
2682 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
2683 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2684 }
2685 void test_parseFormalParameterList_normal_single() {
2686 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "(A a)", []);
2687 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2688 JUnitTestCase.assertNull(parameterList.leftDelimiter);
2689 EngineTestCase.assertSize(1, parameterList.parameters);
2690 JUnitTestCase.assertNull(parameterList.rightDelimiter);
2691 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2692 }
2693 void test_parseFormalParameterList_positional_multiple() {
2694 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "([A a = null, B b, C c = null])", []);
2695 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2696 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
2697 EngineTestCase.assertSize(3, parameterList.parameters);
2698 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
2699 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2700 }
2701 void test_parseFormalParameterList_positional_single() {
2702 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "([A a = null])", []);
2703 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2704 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
2705 EngineTestCase.assertSize(1, parameterList.parameters);
2706 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
2707 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2708 }
2709 void test_parseForStatement_each_identifier() {
2710 ForEachStatement statement = ParserTestCase.parse4("parseForStatement", "for (element in list) {}", []);
2711 JUnitTestCase.assertNotNull(statement.forKeyword);
2712 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2713 JUnitTestCase.assertNotNull(statement.loopParameter);
2714 JUnitTestCase.assertNotNull(statement.inKeyword);
2715 JUnitTestCase.assertNotNull(statement.iterator);
2716 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2717 JUnitTestCase.assertNotNull(statement.body);
2718 }
2719 void test_parseForStatement_each_noType() {
2720 ForEachStatement statement = ParserTestCase.parse4("parseForStatement", "for (element in list) {}", []);
2721 JUnitTestCase.assertNotNull(statement.forKeyword);
2722 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2723 JUnitTestCase.assertNotNull(statement.loopParameter);
2724 JUnitTestCase.assertNotNull(statement.inKeyword);
2725 JUnitTestCase.assertNotNull(statement.iterator);
2726 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2727 JUnitTestCase.assertNotNull(statement.body);
2728 }
2729 void test_parseForStatement_each_type() {
2730 ForEachStatement statement = ParserTestCase.parse4("parseForStatement", "for (A element in list) {}", []);
2731 JUnitTestCase.assertNotNull(statement.forKeyword);
2732 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2733 JUnitTestCase.assertNotNull(statement.loopParameter);
2734 JUnitTestCase.assertNotNull(statement.inKeyword);
2735 JUnitTestCase.assertNotNull(statement.iterator);
2736 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2737 JUnitTestCase.assertNotNull(statement.body);
2738 }
2739 void test_parseForStatement_each_var() {
2740 ForEachStatement statement = ParserTestCase.parse4("parseForStatement", "for (var element in list) {}", []);
2741 JUnitTestCase.assertNotNull(statement.forKeyword);
2742 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2743 JUnitTestCase.assertNotNull(statement.loopParameter);
2744 JUnitTestCase.assertNotNull(statement.inKeyword);
2745 JUnitTestCase.assertNotNull(statement.iterator);
2746 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2747 JUnitTestCase.assertNotNull(statement.body);
2748 }
2749 void test_parseForStatement_loop_c() {
2750 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (; i < count;) {}", []);
2751 JUnitTestCase.assertNotNull(statement.forKeyword);
2752 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2753 JUnitTestCase.assertNull(statement.variables);
2754 JUnitTestCase.assertNull(statement.initialization);
2755 JUnitTestCase.assertNotNull(statement.leftSeparator);
2756 JUnitTestCase.assertNotNull(statement.condition);
2757 JUnitTestCase.assertNotNull(statement.rightSeparator);
2758 EngineTestCase.assertSize(0, statement.updaters);
2759 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2760 JUnitTestCase.assertNotNull(statement.body);
2761 }
2762 void test_parseForStatement_loop_cu() {
2763 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (; i < count; i++) {}", []);
2764 JUnitTestCase.assertNotNull(statement.forKeyword);
2765 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2766 JUnitTestCase.assertNull(statement.variables);
2767 JUnitTestCase.assertNull(statement.initialization);
2768 JUnitTestCase.assertNotNull(statement.leftSeparator);
2769 JUnitTestCase.assertNotNull(statement.condition);
2770 JUnitTestCase.assertNotNull(statement.rightSeparator);
2771 EngineTestCase.assertSize(1, statement.updaters);
2772 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2773 JUnitTestCase.assertNotNull(statement.body);
2774 }
2775 void test_parseForStatement_loop_ecu() {
2776 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (i- -; i < count; i++) {}", []);
2777 JUnitTestCase.assertNotNull(statement.forKeyword);
2778 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2779 JUnitTestCase.assertNull(statement.variables);
2780 JUnitTestCase.assertNotNull(statement.initialization);
2781 JUnitTestCase.assertNotNull(statement.leftSeparator);
2782 JUnitTestCase.assertNotNull(statement.condition);
2783 JUnitTestCase.assertNotNull(statement.rightSeparator);
2784 EngineTestCase.assertSize(1, statement.updaters);
2785 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2786 JUnitTestCase.assertNotNull(statement.body);
2787 }
2788 void test_parseForStatement_loop_i() {
2789 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (va r i = 0;;) {}", []);
2790 JUnitTestCase.assertNotNull(statement.forKeyword);
2791 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2792 VariableDeclarationList variables10 = statement.variables;
2793 JUnitTestCase.assertNotNull(variables10);
2794 EngineTestCase.assertSize(1, variables10.variables);
2795 JUnitTestCase.assertNull(statement.initialization);
2796 JUnitTestCase.assertNotNull(statement.leftSeparator);
2797 JUnitTestCase.assertNull(statement.condition);
2798 JUnitTestCase.assertNotNull(statement.rightSeparator);
2799 EngineTestCase.assertSize(0, statement.updaters);
2800 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2801 JUnitTestCase.assertNotNull(statement.body);
2802 }
2803 void test_parseForStatement_loop_ic() {
2804 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (va r i = 0; i < count;) {}", []);
2805 JUnitTestCase.assertNotNull(statement.forKeyword);
2806 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2807 VariableDeclarationList variables11 = statement.variables;
2808 JUnitTestCase.assertNotNull(variables11);
2809 EngineTestCase.assertSize(1, variables11.variables);
2810 JUnitTestCase.assertNull(statement.initialization);
2811 JUnitTestCase.assertNotNull(statement.leftSeparator);
2812 JUnitTestCase.assertNotNull(statement.condition);
2813 JUnitTestCase.assertNotNull(statement.rightSeparator);
2814 EngineTestCase.assertSize(0, statement.updaters);
2815 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2816 JUnitTestCase.assertNotNull(statement.body);
2817 }
2818 void test_parseForStatement_loop_icu() {
2819 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (va r i = 0; i < count; i++) {}", []);
2820 JUnitTestCase.assertNotNull(statement.forKeyword);
2821 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2822 VariableDeclarationList variables12 = statement.variables;
2823 JUnitTestCase.assertNotNull(variables12);
2824 EngineTestCase.assertSize(1, variables12.variables);
2825 JUnitTestCase.assertNull(statement.initialization);
2826 JUnitTestCase.assertNotNull(statement.leftSeparator);
2827 JUnitTestCase.assertNotNull(statement.condition);
2828 JUnitTestCase.assertNotNull(statement.rightSeparator);
2829 EngineTestCase.assertSize(1, statement.updaters);
2830 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2831 JUnitTestCase.assertNotNull(statement.body);
2832 }
2833 void test_parseForStatement_loop_iicuu() {
2834 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (in t i = 0, j = count; i < j; i++, j--) {}", []);
2835 JUnitTestCase.assertNotNull(statement.forKeyword);
2836 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2837 VariableDeclarationList variables13 = statement.variables;
2838 JUnitTestCase.assertNotNull(variables13);
2839 EngineTestCase.assertSize(2, variables13.variables);
2840 JUnitTestCase.assertNull(statement.initialization);
2841 JUnitTestCase.assertNotNull(statement.leftSeparator);
2842 JUnitTestCase.assertNotNull(statement.condition);
2843 JUnitTestCase.assertNotNull(statement.rightSeparator);
2844 EngineTestCase.assertSize(2, statement.updaters);
2845 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2846 JUnitTestCase.assertNotNull(statement.body);
2847 }
2848 void test_parseForStatement_loop_iu() {
2849 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (va r i = 0;; i++) {}", []);
2850 JUnitTestCase.assertNotNull(statement.forKeyword);
2851 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2852 VariableDeclarationList variables14 = statement.variables;
2853 JUnitTestCase.assertNotNull(variables14);
2854 EngineTestCase.assertSize(1, variables14.variables);
2855 JUnitTestCase.assertNull(statement.initialization);
2856 JUnitTestCase.assertNotNull(statement.leftSeparator);
2857 JUnitTestCase.assertNull(statement.condition);
2858 JUnitTestCase.assertNotNull(statement.rightSeparator);
2859 EngineTestCase.assertSize(1, statement.updaters);
2860 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2861 JUnitTestCase.assertNotNull(statement.body);
2862 }
2863 void test_parseForStatement_loop_u() {
2864 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (;; i++) {}", []);
2865 JUnitTestCase.assertNotNull(statement.forKeyword);
2866 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2867 JUnitTestCase.assertNull(statement.variables);
2868 JUnitTestCase.assertNull(statement.initialization);
2869 JUnitTestCase.assertNotNull(statement.leftSeparator);
2870 JUnitTestCase.assertNull(statement.condition);
2871 JUnitTestCase.assertNotNull(statement.rightSeparator);
2872 EngineTestCase.assertSize(1, statement.updaters);
2873 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2874 JUnitTestCase.assertNotNull(statement.body);
2875 }
2876 void test_parseFunctionBody_block() {
2877 BlockFunctionBody functionBody = ParserTestCase.parse("parseFunctionBody", < Object> [false, false], "{}");
2878 JUnitTestCase.assertNotNull(functionBody.block);
2879 }
2880 void test_parseFunctionBody_empty() {
2881 EmptyFunctionBody functionBody = ParserTestCase.parse("parseFunctionBody", < Object> [true, false], ";");
2882 JUnitTestCase.assertNotNull(functionBody.semicolon);
2883 }
2884 void test_parseFunctionBody_expression() {
2885 ExpressionFunctionBody functionBody = ParserTestCase.parse("parseFunctionBod y", <Object> [false, false], "=> y;");
2886 JUnitTestCase.assertNotNull(functionBody.functionDefinition);
2887 JUnitTestCase.assertNotNull(functionBody.expression);
2888 JUnitTestCase.assertNotNull(functionBody.semicolon);
2889 }
2890 void test_parseFunctionDeclaration_function() {
2891 Comment comment = Comment.createDocumentationComment(new List<Token>.fixedLe ngth(0));
2892 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
2893 FunctionDeclaration declaration = ParserTestCase.parse("parseFunctionDeclara tion", <Object> [commentAndMetadata(comment, []), null, returnType, false], "f() {}");
2894 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
2895 JUnitTestCase.assertEquals(returnType, declaration.returnType);
2896 JUnitTestCase.assertNotNull(declaration.name);
2897 FunctionExpression expression = declaration.functionExpression;
2898 JUnitTestCase.assertNotNull(expression);
2899 JUnitTestCase.assertNotNull(expression.body);
2900 JUnitTestCase.assertNotNull(expression.parameters);
2901 JUnitTestCase.assertNull(declaration.propertyKeyword);
2902 }
2903 void test_parseFunctionDeclaration_function_inStatement() {
2904 Comment comment = Comment.createDocumentationComment(new List<Token>.fixedLe ngth(0));
2905 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
2906 FunctionDeclaration declaration = ParserTestCase.parse("parseFunctionDeclara tion", <Object> [commentAndMetadata(comment, []), null, returnType, true], "f() {};");
2907 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
2908 JUnitTestCase.assertEquals(returnType, declaration.returnType);
2909 JUnitTestCase.assertNotNull(declaration.name);
2910 FunctionExpression expression = declaration.functionExpression;
2911 JUnitTestCase.assertNotNull(expression);
2912 JUnitTestCase.assertNotNull(expression.body);
2913 JUnitTestCase.assertNotNull(expression.parameters);
2914 JUnitTestCase.assertNull(declaration.propertyKeyword);
2915 }
2916 void test_parseFunctionDeclaration_getter() {
2917 Comment comment = Comment.createDocumentationComment(new List<Token>.fixedLe ngth(0));
2918 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
2919 FunctionDeclaration declaration = ParserTestCase.parse("parseFunctionDeclara tion", <Object> [commentAndMetadata(comment, []), null, returnType, false], "get p => 0;");
2920 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
2921 JUnitTestCase.assertEquals(returnType, declaration.returnType);
2922 JUnitTestCase.assertNotNull(declaration.name);
2923 FunctionExpression expression = declaration.functionExpression;
2924 JUnitTestCase.assertNotNull(expression);
2925 JUnitTestCase.assertNotNull(expression.body);
2926 JUnitTestCase.assertNull(expression.parameters);
2927 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2928 }
2929 void test_parseFunctionDeclaration_setter() {
2930 Comment comment = Comment.createDocumentationComment(new List<Token>.fixedLe ngth(0));
2931 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
2932 FunctionDeclaration declaration = ParserTestCase.parse("parseFunctionDeclara tion", <Object> [commentAndMetadata(comment, []), null, returnType, false], "set p(v) {}");
2933 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
2934 JUnitTestCase.assertEquals(returnType, declaration.returnType);
2935 JUnitTestCase.assertNotNull(declaration.name);
2936 FunctionExpression expression = declaration.functionExpression;
2937 JUnitTestCase.assertNotNull(expression);
2938 JUnitTestCase.assertNotNull(expression.body);
2939 JUnitTestCase.assertNotNull(expression.parameters);
2940 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2941 }
2942 void test_parseFunctionDeclarationStatement() {
2943 FunctionDeclarationStatement statement = ParserTestCase.parse4("parseFunctio nDeclarationStatement", "void f(int p) => p * 2;", []);
2944 JUnitTestCase.assertNotNull(statement.functionDeclaration);
2945 }
2946 void test_parseFunctionExpression_body_inExpression() {
2947 FunctionExpression expression = ParserTestCase.parse4("parseFunctionExpressi on", "(int i) => i++", []);
2948 JUnitTestCase.assertNotNull(expression.body);
2949 JUnitTestCase.assertNotNull(expression.parameters);
2950 JUnitTestCase.assertNull((expression.body as ExpressionFunctionBody).semicol on);
2951 }
2952 void test_parseFunctionExpression_minimal() {
2953 FunctionExpression expression = ParserTestCase.parse4("parseFunctionExpressi on", "() {}", []);
2954 JUnitTestCase.assertNotNull(expression.body);
2955 JUnitTestCase.assertNotNull(expression.parameters);
2956 }
2957 void test_parseGetter_nonStatic() {
2958 Comment comment = Comment.createDocumentationComment(new List<Token>.fixedLe ngth(0));
2959 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
2960 MethodDeclaration method = ParserTestCase.parse("parseGetter", <Object> [com mentAndMetadata(comment, []), null, null, returnType], "get a;");
2961 JUnitTestCase.assertNotNull(method.body);
2962 JUnitTestCase.assertEquals(comment, method.documentationComment);
2963 JUnitTestCase.assertNull(method.externalKeyword);
2964 JUnitTestCase.assertNull(method.modifierKeyword);
2965 JUnitTestCase.assertNotNull(method.name);
2966 JUnitTestCase.assertNull(method.operatorKeyword);
2967 JUnitTestCase.assertNull(method.parameters);
2968 JUnitTestCase.assertNotNull(method.propertyKeyword);
2969 JUnitTestCase.assertEquals(returnType, method.returnType);
2970 }
2971 void test_parseGetter_static() {
2972 Comment comment = Comment.createDocumentationComment(new List<Token>.fixedLe ngth(0));
2973 Token staticKeyword = TokenFactory.token(Keyword.STATIC);
2974 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
2975 MethodDeclaration method = ParserTestCase.parse("parseGetter", <Object> [com mentAndMetadata(comment, []), null, staticKeyword, returnType], "get a;");
2976 JUnitTestCase.assertNotNull(method.body);
2977 JUnitTestCase.assertEquals(comment, method.documentationComment);
2978 JUnitTestCase.assertNull(method.externalKeyword);
2979 JUnitTestCase.assertEquals(staticKeyword, method.modifierKeyword);
2980 JUnitTestCase.assertNotNull(method.name);
2981 JUnitTestCase.assertNull(method.operatorKeyword);
2982 JUnitTestCase.assertNull(method.parameters);
2983 JUnitTestCase.assertNotNull(method.propertyKeyword);
2984 JUnitTestCase.assertEquals(returnType, method.returnType);
2985 }
2986 void test_parseIdentifierList_multiple() {
2987 List<SimpleIdentifier> list = ParserTestCase.parse4("parseIdentifierList", " a, b, c", []);
2988 EngineTestCase.assertSize(3, list);
2989 }
2990 void test_parseIdentifierList_single() {
2991 List<SimpleIdentifier> list = ParserTestCase.parse4("parseIdentifierList", " a", []);
2992 EngineTestCase.assertSize(1, list);
2993 }
2994 void test_parseIfStatement_else_block() {
2995 IfStatement statement = ParserTestCase.parse4("parseIfStatement", "if (x) {} else {}", []);
2996 JUnitTestCase.assertNotNull(statement.ifKeyword);
2997 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2998 JUnitTestCase.assertNotNull(statement.condition);
2999 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3000 JUnitTestCase.assertNotNull(statement.thenStatement);
3001 JUnitTestCase.assertNotNull(statement.elseKeyword);
3002 JUnitTestCase.assertNotNull(statement.elseStatement);
3003 }
3004 void test_parseIfStatement_else_statement() {
3005 IfStatement statement = ParserTestCase.parse4("parseIfStatement", "if (x) f( x); else f(y);", []);
3006 JUnitTestCase.assertNotNull(statement.ifKeyword);
3007 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3008 JUnitTestCase.assertNotNull(statement.condition);
3009 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3010 JUnitTestCase.assertNotNull(statement.thenStatement);
3011 JUnitTestCase.assertNotNull(statement.elseKeyword);
3012 JUnitTestCase.assertNotNull(statement.elseStatement);
3013 }
3014 void test_parseIfStatement_noElse_block() {
3015 IfStatement statement = ParserTestCase.parse4("parseIfStatement", "if (x) {} ", []);
3016 JUnitTestCase.assertNotNull(statement.ifKeyword);
3017 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3018 JUnitTestCase.assertNotNull(statement.condition);
3019 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3020 JUnitTestCase.assertNotNull(statement.thenStatement);
3021 JUnitTestCase.assertNull(statement.elseKeyword);
3022 JUnitTestCase.assertNull(statement.elseStatement);
3023 }
3024 void test_parseIfStatement_noElse_statement() {
3025 IfStatement statement = ParserTestCase.parse4("parseIfStatement", "if (x) f( x);", []);
3026 JUnitTestCase.assertNotNull(statement.ifKeyword);
3027 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3028 JUnitTestCase.assertNotNull(statement.condition);
3029 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3030 JUnitTestCase.assertNotNull(statement.thenStatement);
3031 JUnitTestCase.assertNull(statement.elseKeyword);
3032 JUnitTestCase.assertNull(statement.elseStatement);
3033 }
3034 void test_parseImplementsClause_multiple() {
3035 ImplementsClause clause = ParserTestCase.parse4("parseImplementsClause", "im plements A, B, C", []);
3036 EngineTestCase.assertSize(3, clause.interfaces);
3037 JUnitTestCase.assertNotNull(clause.keyword);
3038 }
3039 void test_parseImplementsClause_single() {
3040 ImplementsClause clause = ParserTestCase.parse4("parseImplementsClause", "im plements A", []);
3041 EngineTestCase.assertSize(1, clause.interfaces);
3042 JUnitTestCase.assertNotNull(clause.keyword);
3043 }
3044 void test_parseImportDirective_hide() {
3045 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' hide A, B;");
3046 JUnitTestCase.assertNotNull(directive.keyword);
3047 JUnitTestCase.assertNotNull(directive.libraryUri);
3048 JUnitTestCase.assertNull(directive.asToken);
3049 JUnitTestCase.assertNull(directive.prefix);
3050 EngineTestCase.assertSize(1, directive.combinators);
3051 JUnitTestCase.assertNotNull(directive.semicolon);
3052 }
3053 void test_parseImportDirective_noCombinator() {
3054 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart';");
3055 JUnitTestCase.assertNotNull(directive.keyword);
3056 JUnitTestCase.assertNotNull(directive.libraryUri);
3057 JUnitTestCase.assertNull(directive.asToken);
3058 JUnitTestCase.assertNull(directive.prefix);
3059 EngineTestCase.assertSize(0, directive.combinators);
3060 JUnitTestCase.assertNotNull(directive.semicolon);
3061 }
3062 void test_parseImportDirective_prefix() {
3063 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' as a;");
3064 JUnitTestCase.assertNotNull(directive.keyword);
3065 JUnitTestCase.assertNotNull(directive.libraryUri);
3066 JUnitTestCase.assertNotNull(directive.asToken);
3067 JUnitTestCase.assertNotNull(directive.prefix);
3068 EngineTestCase.assertSize(0, directive.combinators);
3069 JUnitTestCase.assertNotNull(directive.semicolon);
3070 }
3071 void test_parseImportDirective_prefix_hide_show() {
3072 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' as a hide A show B;");
3073 JUnitTestCase.assertNotNull(directive.keyword);
3074 JUnitTestCase.assertNotNull(directive.libraryUri);
3075 JUnitTestCase.assertNotNull(directive.asToken);
3076 JUnitTestCase.assertNotNull(directive.prefix);
3077 EngineTestCase.assertSize(2, directive.combinators);
3078 JUnitTestCase.assertNotNull(directive.semicolon);
3079 }
3080 void test_parseImportDirective_prefix_show_hide() {
3081 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' as a show B hide A;");
3082 JUnitTestCase.assertNotNull(directive.keyword);
3083 JUnitTestCase.assertNotNull(directive.libraryUri);
3084 JUnitTestCase.assertNotNull(directive.asToken);
3085 JUnitTestCase.assertNotNull(directive.prefix);
3086 EngineTestCase.assertSize(2, directive.combinators);
3087 JUnitTestCase.assertNotNull(directive.semicolon);
3088 }
3089 void test_parseImportDirective_show() {
3090 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' show A, B;");
3091 JUnitTestCase.assertNotNull(directive.keyword);
3092 JUnitTestCase.assertNotNull(directive.libraryUri);
3093 JUnitTestCase.assertNull(directive.asToken);
3094 JUnitTestCase.assertNull(directive.prefix);
3095 EngineTestCase.assertSize(1, directive.combinators);
3096 JUnitTestCase.assertNotNull(directive.semicolon);
3097 }
3098 void test_parseInitializedIdentifierList_type() {
3099 Comment comment = Comment.createDocumentationComment(new List<Token>.fixedLe ngth(0));
3100 Token staticKeyword = TokenFactory.token(Keyword.STATIC);
3101 TypeName type = new TypeName(new SimpleIdentifier(null), null);
3102 FieldDeclaration declaration = ParserTestCase.parse("parseInitializedIdentif ierList", <Object> [commentAndMetadata(comment, []), staticKeyword, null, type], "a = 1, b, c = 3;");
3103 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
3104 VariableDeclarationList fields5 = declaration.fields;
3105 JUnitTestCase.assertNotNull(fields5);
3106 JUnitTestCase.assertNull(fields5.keyword);
3107 JUnitTestCase.assertEquals(type, fields5.type);
3108 EngineTestCase.assertSize(3, fields5.variables);
3109 JUnitTestCase.assertEquals(staticKeyword, declaration.keyword);
3110 JUnitTestCase.assertNotNull(declaration.semicolon);
3111 }
3112 void test_parseInitializedIdentifierList_var() {
3113 Comment comment = Comment.createDocumentationComment(new List<Token>.fixedLe ngth(0));
3114 Token staticKeyword = TokenFactory.token(Keyword.STATIC);
3115 Token varKeyword = TokenFactory.token(Keyword.VAR);
3116 FieldDeclaration declaration = ParserTestCase.parse("parseInitializedIdentif ierList", <Object> [commentAndMetadata(comment, []), staticKeyword, varKeyword, null], "a = 1, b, c = 3;");
3117 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
3118 VariableDeclarationList fields6 = declaration.fields;
3119 JUnitTestCase.assertNotNull(fields6);
3120 JUnitTestCase.assertEquals(varKeyword, fields6.keyword);
3121 JUnitTestCase.assertNull(fields6.type);
3122 EngineTestCase.assertSize(3, fields6.variables);
3123 JUnitTestCase.assertEquals(staticKeyword, declaration.keyword);
3124 JUnitTestCase.assertNotNull(declaration.semicolon);
3125 }
3126 void test_parseInstanceCreationExpression_qualifiedType() {
3127 Token token5 = TokenFactory.token(Keyword.NEW);
3128 InstanceCreationExpression expression = ParserTestCase.parse("parseInstanceC reationExpression", <Object> [token5], "A.B()");
3129 JUnitTestCase.assertEquals(token5, expression.keyword);
3130 ConstructorName name = expression.constructorName;
3131 JUnitTestCase.assertNotNull(name);
3132 JUnitTestCase.assertNotNull(name.type);
3133 JUnitTestCase.assertNull(name.period);
3134 JUnitTestCase.assertNull(name.name);
3135 JUnitTestCase.assertNotNull(expression.argumentList);
3136 }
3137 void test_parseInstanceCreationExpression_qualifiedType_named() {
3138 Token token6 = TokenFactory.token(Keyword.NEW);
3139 InstanceCreationExpression expression = ParserTestCase.parse("parseInstanceC reationExpression", <Object> [token6], "A.B.c()");
3140 JUnitTestCase.assertEquals(token6, expression.keyword);
3141 ConstructorName name = expression.constructorName;
3142 JUnitTestCase.assertNotNull(name);
3143 JUnitTestCase.assertNotNull(name.type);
3144 JUnitTestCase.assertNotNull(name.period);
3145 JUnitTestCase.assertNotNull(name.name);
3146 JUnitTestCase.assertNotNull(expression.argumentList);
3147 }
3148 void test_parseInstanceCreationExpression_type() {
3149 Token token7 = TokenFactory.token(Keyword.NEW);
3150 InstanceCreationExpression expression = ParserTestCase.parse("parseInstanceC reationExpression", <Object> [token7], "A()");
3151 JUnitTestCase.assertEquals(token7, expression.keyword);
3152 ConstructorName name = expression.constructorName;
3153 JUnitTestCase.assertNotNull(name);
3154 JUnitTestCase.assertNotNull(name.type);
3155 JUnitTestCase.assertNull(name.period);
3156 JUnitTestCase.assertNull(name.name);
3157 JUnitTestCase.assertNotNull(expression.argumentList);
3158 }
3159 void test_parseInstanceCreationExpression_type_named() {
3160 Token token8 = TokenFactory.token(Keyword.NEW);
3161 InstanceCreationExpression expression = ParserTestCase.parse("parseInstanceC reationExpression", <Object> [token8], "A<B>.c()");
3162 JUnitTestCase.assertEquals(token8, expression.keyword);
3163 ConstructorName name = expression.constructorName;
3164 JUnitTestCase.assertNotNull(name);
3165 JUnitTestCase.assertNotNull(name.type);
3166 JUnitTestCase.assertNotNull(name.period);
3167 JUnitTestCase.assertNotNull(name.name);
3168 JUnitTestCase.assertNotNull(expression.argumentList);
3169 }
3170 void test_parseLibraryDirective() {
3171 LibraryDirective directive = ParserTestCase.parse("parseLibraryDirective", < Object> [emptyCommentAndMetadata()], "library l;");
3172 JUnitTestCase.assertNotNull(directive.libraryToken);
3173 JUnitTestCase.assertNotNull(directive.name);
3174 JUnitTestCase.assertNotNull(directive.semicolon);
3175 }
3176 void test_parseLibraryIdentifier_multiple() {
3177 String name = "a.b.c";
3178 LibraryIdentifier identifier = ParserTestCase.parse4("parseLibraryIdentifier ", name, []);
3179 JUnitTestCase.assertEquals(name, identifier.name);
3180 }
3181 void test_parseLibraryIdentifier_single() {
3182 String name = "a";
3183 LibraryIdentifier identifier = ParserTestCase.parse4("parseLibraryIdentifier ", name, []);
3184 JUnitTestCase.assertEquals(name, identifier.name);
3185 }
3186 void test_parseListLiteral_empty_oneToken() {
3187 Token token9 = TokenFactory.token(Keyword.CONST);
3188 TypeArgumentList typeArguments = new TypeArgumentList(null, null, null);
3189 ListLiteral literal = ParserTestCase.parse("parseListLiteral", <Object> [tok en9, typeArguments], "[]");
3190 JUnitTestCase.assertEquals(token9, literal.modifier);
3191 JUnitTestCase.assertEquals(typeArguments, literal.typeArguments);
3192 JUnitTestCase.assertNotNull(literal.leftBracket);
3193 EngineTestCase.assertSize(0, literal.elements);
3194 JUnitTestCase.assertNotNull(literal.rightBracket);
3195 }
3196 void test_parseListLiteral_empty_twoTokens() {
3197 Token token10 = TokenFactory.token(Keyword.CONST);
3198 TypeArgumentList typeArguments = new TypeArgumentList(null, null, null);
3199 ListLiteral literal = ParserTestCase.parse("parseListLiteral", <Object> [tok en10, typeArguments], "[ ]");
3200 JUnitTestCase.assertEquals(token10, literal.modifier);
3201 JUnitTestCase.assertEquals(typeArguments, literal.typeArguments);
3202 JUnitTestCase.assertNotNull(literal.leftBracket);
3203 EngineTestCase.assertSize(0, literal.elements);
3204 JUnitTestCase.assertNotNull(literal.rightBracket);
3205 }
3206 void test_parseListLiteral_multiple() {
3207 ListLiteral literal = ParserTestCase.parse("parseListLiteral", <Object> [nul l, null], "[1, 2, 3]");
3208 JUnitTestCase.assertNull(literal.modifier);
3209 JUnitTestCase.assertNull(literal.typeArguments);
3210 JUnitTestCase.assertNotNull(literal.leftBracket);
3211 EngineTestCase.assertSize(3, literal.elements);
3212 JUnitTestCase.assertNotNull(literal.rightBracket);
3213 }
3214 void test_parseListLiteral_single() {
3215 ListLiteral literal = ParserTestCase.parse("parseListLiteral", <Object> [nul l, null], "[1]");
3216 JUnitTestCase.assertNull(literal.modifier);
3217 JUnitTestCase.assertNull(literal.typeArguments);
3218 JUnitTestCase.assertNotNull(literal.leftBracket);
3219 EngineTestCase.assertSize(1, literal.elements);
3220 JUnitTestCase.assertNotNull(literal.rightBracket);
3221 }
3222 void test_parseListOrMapLiteral_list_noType() {
3223 ListLiteral literal = ParserTestCase.parse("parseListOrMapLiteral", <Object> [null], "[1]");
3224 JUnitTestCase.assertNull(literal.modifier);
3225 JUnitTestCase.assertNull(literal.typeArguments);
3226 JUnitTestCase.assertNotNull(literal.leftBracket);
3227 EngineTestCase.assertSize(1, literal.elements);
3228 JUnitTestCase.assertNotNull(literal.rightBracket);
3229 }
3230 void test_parseListOrMapLiteral_list_type() {
3231 ListLiteral literal = ParserTestCase.parse("parseListOrMapLiteral", <Object> [null], "<int> [1]");
3232 JUnitTestCase.assertNull(literal.modifier);
3233 JUnitTestCase.assertNotNull(literal.typeArguments);
3234 JUnitTestCase.assertNotNull(literal.leftBracket);
3235 EngineTestCase.assertSize(1, literal.elements);
3236 JUnitTestCase.assertNotNull(literal.rightBracket);
3237 }
3238 void test_parseListOrMapLiteral_map_noType() {
3239 MapLiteral literal = ParserTestCase.parse("parseListOrMapLiteral", <Object> [null], "{'1' : 1}");
3240 JUnitTestCase.assertNull(literal.modifier);
3241 JUnitTestCase.assertNull(literal.typeArguments);
3242 JUnitTestCase.assertNotNull(literal.leftBracket);
3243 EngineTestCase.assertSize(1, literal.entries);
3244 JUnitTestCase.assertNotNull(literal.rightBracket);
3245 }
3246 void test_parseListOrMapLiteral_map_type() {
3247 MapLiteral literal = ParserTestCase.parse("parseListOrMapLiteral", <Object> [null], "<int> {'1' : 1}");
3248 JUnitTestCase.assertNull(literal.modifier);
3249 JUnitTestCase.assertNotNull(literal.typeArguments);
3250 JUnitTestCase.assertNotNull(literal.leftBracket);
3251 EngineTestCase.assertSize(1, literal.entries);
3252 JUnitTestCase.assertNotNull(literal.rightBracket);
3253 }
3254 void test_parseLogicalAndExpression() {
3255 BinaryExpression expression = ParserTestCase.parse4("parseLogicalAndExpressi on", "x && y", []);
3256 JUnitTestCase.assertNotNull(expression.leftOperand);
3257 JUnitTestCase.assertNotNull(expression.operator);
3258 JUnitTestCase.assertEquals(TokenType.AMPERSAND_AMPERSAND, expression.operato r.type);
3259 JUnitTestCase.assertNotNull(expression.rightOperand);
3260 }
3261 void test_parseLogicalOrExpression() {
3262 BinaryExpression expression = ParserTestCase.parse4("parseLogicalOrExpressio n", "x || y", []);
3263 JUnitTestCase.assertNotNull(expression.leftOperand);
3264 JUnitTestCase.assertNotNull(expression.operator);
3265 JUnitTestCase.assertEquals(TokenType.BAR_BAR, expression.operator.type);
3266 JUnitTestCase.assertNotNull(expression.rightOperand);
3267 }
3268 void test_parseMapLiteral_empty() {
3269 Token token11 = TokenFactory.token(Keyword.CONST);
3270 TypeArgumentList typeArguments = new TypeArgumentList(null, null, null);
3271 MapLiteral literal = ParserTestCase.parse("parseMapLiteral", <Object> [token 11, typeArguments], "{}");
3272 JUnitTestCase.assertEquals(token11, literal.modifier);
3273 JUnitTestCase.assertEquals(typeArguments, literal.typeArguments);
3274 JUnitTestCase.assertNotNull(literal.leftBracket);
3275 EngineTestCase.assertSize(0, literal.entries);
3276 JUnitTestCase.assertNotNull(literal.rightBracket);
3277 }
3278 void test_parseMapLiteral_multiple() {
3279 MapLiteral literal = ParserTestCase.parse("parseMapLiteral", <Object> [null, null], "{'a' : b, 'x' : y}");
3280 JUnitTestCase.assertNotNull(literal.leftBracket);
3281 EngineTestCase.assertSize(2, literal.entries);
3282 JUnitTestCase.assertNotNull(literal.rightBracket);
3283 }
3284 void test_parseMapLiteral_single() {
3285 MapLiteral literal = ParserTestCase.parse("parseMapLiteral", <Object> [null, null], "{'x' : y}");
3286 JUnitTestCase.assertNotNull(literal.leftBracket);
3287 EngineTestCase.assertSize(1, literal.entries);
3288 JUnitTestCase.assertNotNull(literal.rightBracket);
3289 }
3290 void test_parseMapLiteralEntry() {
3291 MapLiteralEntry entry = ParserTestCase.parse4("parseMapLiteralEntry", "'x' : y", []);
3292 JUnitTestCase.assertNotNull(entry.key);
3293 JUnitTestCase.assertNotNull(entry.separator);
3294 JUnitTestCase.assertNotNull(entry.value);
3295 }
3296 void test_parseModifiers_abstract() {
3297 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "abstract A", []);
3298 JUnitTestCase.assertNotNull(modifiers.abstractKeyword);
3299 }
3300 void test_parseModifiers_const() {
3301 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "const A", []) ;
3302 JUnitTestCase.assertNotNull(modifiers.constKeyword);
3303 }
3304 void test_parseModifiers_external() {
3305 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "external A", []);
3306 JUnitTestCase.assertNotNull(modifiers.externalKeyword);
3307 }
3308 void test_parseModifiers_factory() {
3309 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "factory A", [ ]);
3310 JUnitTestCase.assertNotNull(modifiers.factoryKeyword);
3311 }
3312 void test_parseModifiers_final() {
3313 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "final A", []) ;
3314 JUnitTestCase.assertNotNull(modifiers.finalKeyword);
3315 }
3316 void test_parseModifiers_static() {
3317 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "static A", [] );
3318 JUnitTestCase.assertNotNull(modifiers.staticKeyword);
3319 }
3320 void test_parseModifiers_var() {
3321 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "var A", []);
3322 JUnitTestCase.assertNotNull(modifiers.varKeyword);
3323 }
3324 void test_parseMultiplicativeExpression_normal() {
3325 BinaryExpression expression = ParserTestCase.parse4("parseMultiplicativeExpr ession", "x * y", []);
3326 JUnitTestCase.assertNotNull(expression.leftOperand);
3327 JUnitTestCase.assertNotNull(expression.operator);
3328 JUnitTestCase.assertEquals(TokenType.STAR, expression.operator.type);
3329 JUnitTestCase.assertNotNull(expression.rightOperand);
3330 }
3331 void test_parseMultiplicativeExpression_super() {
3332 BinaryExpression expression = ParserTestCase.parse4("parseMultiplicativeExpr ession", "super * y", []);
3333 EngineTestCase.assertInstanceOf(SuperExpression, expression.leftOperand);
3334 JUnitTestCase.assertNotNull(expression.operator);
3335 JUnitTestCase.assertEquals(TokenType.STAR, expression.operator.type);
3336 JUnitTestCase.assertNotNull(expression.rightOperand);
3337 }
3338 void test_parseNewExpression() {
3339 InstanceCreationExpression expression = ParserTestCase.parse4("parseNewExpre ssion", "new A()", []);
3340 JUnitTestCase.assertNotNull(expression.keyword);
3341 ConstructorName name = expression.constructorName;
3342 JUnitTestCase.assertNotNull(name);
3343 JUnitTestCase.assertNotNull(name.type);
3344 JUnitTestCase.assertNull(name.period);
3345 JUnitTestCase.assertNull(name.name);
3346 JUnitTestCase.assertNotNull(expression.argumentList);
3347 }
3348 void test_parseNonLabeledStatement_const_list_empty() {
3349 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const [];", []);
3350 JUnitTestCase.assertNotNull(statement.expression);
3351 }
3352 void test_parseNonLabeledStatement_const_list_nonEmpty() {
3353 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const [1, 2];", []);
3354 JUnitTestCase.assertNotNull(statement.expression);
3355 }
3356 void test_parseNonLabeledStatement_const_map_empty() {
3357 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const {};", []);
3358 JUnitTestCase.assertNotNull(statement.expression);
3359 }
3360 void test_parseNonLabeledStatement_const_map_nonEmpty() {
3361 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const {'a' : 1};", []);
3362 JUnitTestCase.assertNotNull(statement.expression);
3363 }
3364 void test_parseNonLabeledStatement_const_object() {
3365 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const A();", []);
3366 JUnitTestCase.assertNotNull(statement.expression);
3367 }
3368 void test_parseNonLabeledStatement_const_object_named_typeParameters() {
3369 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const A<B>.c();", []);
3370 JUnitTestCase.assertNotNull(statement.expression);
3371 }
3372 void test_parseNonLabeledStatement_constructorInvocation() {
3373 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "new C().m();", []);
3374 JUnitTestCase.assertNotNull(statement.expression);
3375 }
3376 void test_parseNonLabeledStatement_false() {
3377 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "false;", []);
3378 JUnitTestCase.assertNotNull(statement.expression);
3379 }
3380 void test_parseNonLabeledStatement_functionDeclaration() {
3381 ParserTestCase.parse4("parseNonLabeledStatement", "f() {};", []);
3382 }
3383 void test_parseNonLabeledStatement_functionDeclaration_arguments() {
3384 ParserTestCase.parse4("parseNonLabeledStatement", "f(void g()) {};", []);
3385 }
3386 void test_parseNonLabeledStatement_functionExpressionIndex() {
3387 ParserTestCase.parse4("parseNonLabeledStatement", "() {}[0] = null;", []);
3388 }
3389 void test_parseNonLabeledStatement_functionInvocation() {
3390 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "f();", []);
3391 JUnitTestCase.assertNotNull(statement.expression);
3392 }
3393 void test_parseNonLabeledStatement_invokeFunctionExpression() {
3394 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "(a) {return a + a;} (3);", []);
3395 EngineTestCase.assertInstanceOf(FunctionExpressionInvocation, statement.expr ession);
3396 FunctionExpressionInvocation invocation = statement.expression as FunctionEx pressionInvocation;
3397 EngineTestCase.assertInstanceOf(FunctionExpression, invocation.function);
3398 FunctionExpression expression = invocation.function as FunctionExpression;
3399 JUnitTestCase.assertNotNull(expression.parameters);
3400 JUnitTestCase.assertNotNull(expression.body);
3401 ArgumentList list = invocation.argumentList;
3402 JUnitTestCase.assertNotNull(list);
3403 EngineTestCase.assertSize(1, list.arguments);
3404 }
3405 void test_parseNonLabeledStatement_null() {
3406 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "null;", []);
3407 JUnitTestCase.assertNotNull(statement.expression);
3408 }
3409 void test_parseNonLabeledStatement_startingWithBuiltInIdentifier() {
3410 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "library.getName();", []);
3411 JUnitTestCase.assertNotNull(statement.expression);
3412 }
3413 void test_parseNonLabeledStatement_true() {
3414 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "true;", []);
3415 JUnitTestCase.assertNotNull(statement.expression);
3416 }
3417 void test_parseNonLabeledStatement_typeCast() {
3418 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "double.NAN as num;", []);
3419 JUnitTestCase.assertNotNull(statement.expression);
3420 }
3421 void test_parseNormalFormalParameter_field_const_noType() {
3422 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "const this.a)", []);
3423 JUnitTestCase.assertNotNull(parameter.keyword);
3424 JUnitTestCase.assertNull(parameter.type);
3425 JUnitTestCase.assertNotNull(parameter.identifier);
3426 }
3427 void test_parseNormalFormalParameter_field_const_type() {
3428 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "const A this.a)", []);
3429 JUnitTestCase.assertNotNull(parameter.keyword);
3430 JUnitTestCase.assertNotNull(parameter.type);
3431 JUnitTestCase.assertNotNull(parameter.identifier);
3432 }
3433 void test_parseNormalFormalParameter_field_final_noType() {
3434 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "final this.a)", []);
3435 JUnitTestCase.assertNotNull(parameter.keyword);
3436 JUnitTestCase.assertNull(parameter.type);
3437 JUnitTestCase.assertNotNull(parameter.identifier);
3438 }
3439 void test_parseNormalFormalParameter_field_final_type() {
3440 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "final A this.a)", []);
3441 JUnitTestCase.assertNotNull(parameter.keyword);
3442 JUnitTestCase.assertNotNull(parameter.type);
3443 JUnitTestCase.assertNotNull(parameter.identifier);
3444 }
3445 void test_parseNormalFormalParameter_field_noType() {
3446 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "this.a)", []);
3447 JUnitTestCase.assertNull(parameter.keyword);
3448 JUnitTestCase.assertNull(parameter.type);
3449 JUnitTestCase.assertNotNull(parameter.identifier);
3450 }
3451 void test_parseNormalFormalParameter_field_type() {
3452 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "A this.a)", []);
3453 JUnitTestCase.assertNull(parameter.keyword);
3454 JUnitTestCase.assertNotNull(parameter.type);
3455 JUnitTestCase.assertNotNull(parameter.identifier);
3456 }
3457 void test_parseNormalFormalParameter_field_var() {
3458 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "var this.a)", []);
3459 JUnitTestCase.assertNotNull(parameter.keyword);
3460 JUnitTestCase.assertNull(parameter.type);
3461 JUnitTestCase.assertNotNull(parameter.identifier);
3462 }
3463 void test_parseNormalFormalParameter_function_noType() {
3464 FunctionTypedFormalParameter parameter = ParserTestCase.parse4("parseNormalF ormalParameter", "a())", []);
3465 JUnitTestCase.assertNull(parameter.returnType);
3466 JUnitTestCase.assertNotNull(parameter.identifier);
3467 JUnitTestCase.assertNotNull(parameter.parameters);
3468 }
3469 void test_parseNormalFormalParameter_function_type() {
3470 FunctionTypedFormalParameter parameter = ParserTestCase.parse4("parseNormalF ormalParameter", "A a())", []);
3471 JUnitTestCase.assertNotNull(parameter.returnType);
3472 JUnitTestCase.assertNotNull(parameter.identifier);
3473 JUnitTestCase.assertNotNull(parameter.parameters);
3474 }
3475 void test_parseNormalFormalParameter_function_void() {
3476 FunctionTypedFormalParameter parameter = ParserTestCase.parse4("parseNormalF ormalParameter", "void a())", []);
3477 JUnitTestCase.assertNotNull(parameter.returnType);
3478 JUnitTestCase.assertNotNull(parameter.identifier);
3479 JUnitTestCase.assertNotNull(parameter.parameters);
3480 }
3481 void test_parseNormalFormalParameter_simple_const_noType() {
3482 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "const a)", []);
3483 JUnitTestCase.assertNotNull(parameter.keyword);
3484 JUnitTestCase.assertNull(parameter.type);
3485 JUnitTestCase.assertNotNull(parameter.identifier);
3486 }
3487 void test_parseNormalFormalParameter_simple_const_type() {
3488 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "const A a)", []);
3489 JUnitTestCase.assertNotNull(parameter.keyword);
3490 JUnitTestCase.assertNotNull(parameter.type);
3491 JUnitTestCase.assertNotNull(parameter.identifier);
3492 }
3493 void test_parseNormalFormalParameter_simple_final_noType() {
3494 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "final a)", []);
3495 JUnitTestCase.assertNotNull(parameter.keyword);
3496 JUnitTestCase.assertNull(parameter.type);
3497 JUnitTestCase.assertNotNull(parameter.identifier);
3498 }
3499 void test_parseNormalFormalParameter_simple_final_type() {
3500 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "final A a)", []);
3501 JUnitTestCase.assertNotNull(parameter.keyword);
3502 JUnitTestCase.assertNotNull(parameter.type);
3503 JUnitTestCase.assertNotNull(parameter.identifier);
3504 }
3505 void test_parseNormalFormalParameter_simple_noType() {
3506 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "a)", []);
3507 JUnitTestCase.assertNull(parameter.keyword);
3508 JUnitTestCase.assertNull(parameter.type);
3509 JUnitTestCase.assertNotNull(parameter.identifier);
3510 }
3511 void test_parseNormalFormalParameter_simple_type() {
3512 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "A a)", []);
3513 JUnitTestCase.assertNull(parameter.keyword);
3514 JUnitTestCase.assertNotNull(parameter.type);
3515 JUnitTestCase.assertNotNull(parameter.identifier);
3516 }
3517 void test_parseOperator() {
3518 Comment comment = Comment.createDocumentationComment(new List<Token>.fixedLe ngth(0));
3519 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
3520 MethodDeclaration method = ParserTestCase.parse("parseOperator", <Object> [c ommentAndMetadata(comment, []), null, returnType], "operator +(A a);");
3521 JUnitTestCase.assertNotNull(method.body);
3522 JUnitTestCase.assertEquals(comment, method.documentationComment);
3523 JUnitTestCase.assertNull(method.externalKeyword);
3524 JUnitTestCase.assertNull(method.modifierKeyword);
3525 JUnitTestCase.assertNotNull(method.name);
3526 JUnitTestCase.assertNotNull(method.operatorKeyword);
3527 JUnitTestCase.assertNotNull(method.parameters);
3528 JUnitTestCase.assertNull(method.propertyKeyword);
3529 JUnitTestCase.assertEquals(returnType, method.returnType);
3530 }
3531 void test_parseOptionalReturnType() {
3532 }
3533 void test_parsePartDirective_part() {
3534 PartDirective directive = ParserTestCase.parse("parsePartDirective", <Object > [emptyCommentAndMetadata()], "part 'lib/lib.dart';");
3535 JUnitTestCase.assertNotNull(directive.partToken);
3536 JUnitTestCase.assertNotNull(directive.partUri);
3537 JUnitTestCase.assertNotNull(directive.semicolon);
3538 }
3539 void test_parsePartDirective_partOf() {
3540 PartOfDirective directive = ParserTestCase.parse("parsePartDirective", <Obje ct> [emptyCommentAndMetadata()], "part of l;");
3541 JUnitTestCase.assertNotNull(directive.partToken);
3542 JUnitTestCase.assertNotNull(directive.ofToken);
3543 JUnitTestCase.assertNotNull(directive.libraryName);
3544 JUnitTestCase.assertNotNull(directive.semicolon);
3545 }
3546 void test_parsePostfixExpression_decrement() {
3547 PostfixExpression expression = ParserTestCase.parse4("parsePostfixExpression ", "i--", []);
3548 JUnitTestCase.assertNotNull(expression.operand);
3549 JUnitTestCase.assertNotNull(expression.operator);
3550 JUnitTestCase.assertEquals(TokenType.MINUS_MINUS, expression.operator.type);
3551 }
3552 void test_parsePostfixExpression_increment() {
3553 PostfixExpression expression = ParserTestCase.parse4("parsePostfixExpression ", "i++", []);
3554 JUnitTestCase.assertNotNull(expression.operand);
3555 JUnitTestCase.assertNotNull(expression.operator);
3556 JUnitTestCase.assertEquals(TokenType.PLUS_PLUS, expression.operator.type);
3557 }
3558 void test_parsePostfixExpression_none_indexExpression() {
3559 IndexExpression expression = ParserTestCase.parse4("parsePostfixExpression", "a[0]", []);
3560 JUnitTestCase.assertNotNull(expression.array);
3561 JUnitTestCase.assertNotNull(expression.index);
3562 }
3563 void test_parsePostfixExpression_none_methodInvocation() {
3564 MethodInvocation expression = ParserTestCase.parse4("parsePostfixExpression" , "a.m()", []);
3565 JUnitTestCase.assertNotNull(expression.target);
3566 JUnitTestCase.assertNotNull(expression.methodName);
3567 JUnitTestCase.assertNotNull(expression.argumentList);
3568 }
3569 void test_parsePostfixExpression_none_propertyAccess() {
3570 PrefixedIdentifier expression = ParserTestCase.parse4("parsePostfixExpressio n", "a.b", []);
3571 JUnitTestCase.assertNotNull(expression.prefix);
3572 JUnitTestCase.assertNotNull(expression.identifier);
3573 }
3574 void test_parsePrefixedIdentifier_noPrefix() {
3575 String lexeme = "bar";
3576 SimpleIdentifier identifier = ParserTestCase.parse4("parsePrefixedIdentifier ", lexeme, []);
3577 JUnitTestCase.assertNotNull(identifier.token);
3578 JUnitTestCase.assertEquals(lexeme, identifier.name);
3579 }
3580 void test_parsePrefixedIdentifier_prefix() {
3581 String lexeme = "foo.bar";
3582 PrefixedIdentifier identifier = ParserTestCase.parse4("parsePrefixedIdentifi er", lexeme, []);
3583 JUnitTestCase.assertEquals("foo", identifier.prefix.name);
3584 JUnitTestCase.assertNotNull(identifier.period);
3585 JUnitTestCase.assertEquals("bar", identifier.identifier.name);
3586 }
3587 void test_parsePrimaryExpression_argumentDefinitionTest() {
3588 ArgumentDefinitionTest expression = ParserTestCase.parse4("parseArgumentDefi nitionTest", "?a", []);
3589 JUnitTestCase.assertNotNull(expression.question);
3590 JUnitTestCase.assertNotNull(expression.identifier);
3591 }
3592 void test_parsePrimaryExpression_const() {
3593 InstanceCreationExpression expression = ParserTestCase.parse4("parsePrimaryE xpression", "const A()", []);
3594 JUnitTestCase.assertNotNull(expression);
3595 }
3596 void test_parsePrimaryExpression_double() {
3597 String doubleLiteral = "3.2e4";
3598 DoubleLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", doub leLiteral, []);
3599 JUnitTestCase.assertNotNull(literal.literal);
3600 JUnitTestCase.assertEquals(double.parse(doubleLiteral), literal.value);
3601 }
3602 void test_parsePrimaryExpression_false() {
3603 BooleanLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "fa lse", []);
3604 JUnitTestCase.assertNotNull(literal.literal);
3605 JUnitTestCase.assertFalse(literal.value);
3606 }
3607 void test_parsePrimaryExpression_function_arguments() {
3608 FunctionExpression expression = ParserTestCase.parse4("parsePrimaryExpressio n", "(int i) => i + 1", []);
3609 JUnitTestCase.assertNotNull(expression.parameters);
3610 JUnitTestCase.assertNotNull(expression.body);
3611 }
3612 void test_parsePrimaryExpression_function_noArguments() {
3613 FunctionExpression expression = ParserTestCase.parse4("parsePrimaryExpressio n", "() => 42", []);
3614 JUnitTestCase.assertNotNull(expression.parameters);
3615 JUnitTestCase.assertNotNull(expression.body);
3616 }
3617 void test_parsePrimaryExpression_hex() {
3618 String hexLiteral = "3F";
3619 IntegerLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "0x ${hexLiteral}", []);
3620 JUnitTestCase.assertNotNull(literal.literal);
3621 JUnitTestCase.assertEquals(int.parse(hexLiteral, radix: 16), literal.value);
3622 }
3623 void test_parsePrimaryExpression_identifier() {
3624 SimpleIdentifier identifier = ParserTestCase.parse4("parsePrimaryExpression" , "a", []);
3625 JUnitTestCase.assertNotNull(identifier);
3626 }
3627 void test_parsePrimaryExpression_int() {
3628 String intLiteral = "472";
3629 IntegerLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", int Literal, []);
3630 JUnitTestCase.assertNotNull(literal.literal);
3631 JUnitTestCase.assertEquals(int.parse(intLiteral), literal.value);
3632 }
3633 void test_parsePrimaryExpression_listLiteral() {
3634 ListLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "[ ]", []);
3635 JUnitTestCase.assertNotNull(literal);
3636 }
3637 void test_parsePrimaryExpression_listLiteral_index() {
3638 ListLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "[]", []);
3639 JUnitTestCase.assertNotNull(literal);
3640 }
3641 void test_parsePrimaryExpression_listLiteral_typed() {
3642 ListLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "<A>[ ]", []);
3643 JUnitTestCase.assertNotNull(literal.typeArguments);
3644 EngineTestCase.assertSize(1, literal.typeArguments.arguments);
3645 }
3646 void test_parsePrimaryExpression_mapLiteral() {
3647 MapLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "{}", [ ]);
3648 JUnitTestCase.assertNotNull(literal);
3649 }
3650 void test_parsePrimaryExpression_mapLiteral_typed() {
3651 MapLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "<A>{}" , []);
3652 JUnitTestCase.assertNotNull(literal.typeArguments);
3653 EngineTestCase.assertSize(1, literal.typeArguments.arguments);
3654 }
3655 void test_parsePrimaryExpression_new() {
3656 InstanceCreationExpression expression = ParserTestCase.parse4("parsePrimaryE xpression", "new A()", []);
3657 JUnitTestCase.assertNotNull(expression);
3658 }
3659 void test_parsePrimaryExpression_null() {
3660 NullLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "null" , []);
3661 JUnitTestCase.assertNotNull(literal.literal);
3662 }
3663 void test_parsePrimaryExpression_parenthesized() {
3664 ParenthesizedExpression expression = ParserTestCase.parse4("parsePrimaryExpr ession", "()", []);
3665 JUnitTestCase.assertNotNull(expression);
3666 }
3667 void test_parsePrimaryExpression_string() {
3668 SimpleStringLiteral literal = ParserTestCase.parse4("parsePrimaryExpression" , "\"string\"", []);
3669 JUnitTestCase.assertFalse(literal.isMultiline());
3670 JUnitTestCase.assertEquals("string", literal.value);
3671 }
3672 void test_parsePrimaryExpression_super() {
3673 PropertyAccess propertyAccess = ParserTestCase.parse4("parsePrimaryExpressio n", "super.x", []);
3674 JUnitTestCase.assertTrue(propertyAccess.target is SuperExpression);
3675 JUnitTestCase.assertNotNull(propertyAccess.operator);
3676 JUnitTestCase.assertEquals(TokenType.PERIOD, propertyAccess.operator.type);
3677 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
3678 }
3679 void test_parsePrimaryExpression_this() {
3680 ThisExpression expression = ParserTestCase.parse4("parsePrimaryExpression", "this", []);
3681 JUnitTestCase.assertNotNull(expression.keyword);
3682 }
3683 void test_parsePrimaryExpression_true() {
3684 BooleanLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "tr ue", []);
3685 JUnitTestCase.assertNotNull(literal.literal);
3686 JUnitTestCase.assertTrue(literal.value);
3687 }
3688 void test_Parser() {
3689 JUnitTestCase.assertNotNull(new Parser(null, null));
3690 }
3691 void test_parseRedirectingConstructorInvocation_named() {
3692 RedirectingConstructorInvocation invocation = ParserTestCase.parse4("parseRe directingConstructorInvocation", "this.a()", []);
3693 JUnitTestCase.assertNotNull(invocation.argumentList);
3694 JUnitTestCase.assertNotNull(invocation.constructorName);
3695 JUnitTestCase.assertNotNull(invocation.keyword);
3696 JUnitTestCase.assertNotNull(invocation.period);
3697 }
3698 void test_parseRedirectingConstructorInvocation_unnamed() {
3699 RedirectingConstructorInvocation invocation = ParserTestCase.parse4("parseRe directingConstructorInvocation", "this()", []);
3700 JUnitTestCase.assertNotNull(invocation.argumentList);
3701 JUnitTestCase.assertNull(invocation.constructorName);
3702 JUnitTestCase.assertNotNull(invocation.keyword);
3703 JUnitTestCase.assertNull(invocation.period);
3704 }
3705 void test_parseRelationalExpression_as() {
3706 AsExpression expression = ParserTestCase.parse4("parseRelationalExpression", "x as Y", []);
3707 JUnitTestCase.assertNotNull(expression.expression);
3708 JUnitTestCase.assertNotNull(expression.asOperator);
3709 JUnitTestCase.assertNotNull(expression.type);
3710 }
3711 void test_parseRelationalExpression_is() {
3712 IsExpression expression = ParserTestCase.parse4("parseRelationalExpression", "x is y", []);
3713 JUnitTestCase.assertNotNull(expression.expression);
3714 JUnitTestCase.assertNotNull(expression.isOperator);
3715 JUnitTestCase.assertNull(expression.notOperator);
3716 JUnitTestCase.assertNotNull(expression.type);
3717 }
3718 void test_parseRelationalExpression_isNot() {
3719 IsExpression expression = ParserTestCase.parse4("parseRelationalExpression", "x is! y", []);
3720 JUnitTestCase.assertNotNull(expression.expression);
3721 JUnitTestCase.assertNotNull(expression.isOperator);
3722 JUnitTestCase.assertNotNull(expression.notOperator);
3723 JUnitTestCase.assertNotNull(expression.type);
3724 }
3725 void test_parseRelationalExpression_normal() {
3726 BinaryExpression expression = ParserTestCase.parse4("parseRelationalExpressi on", "x < y", []);
3727 JUnitTestCase.assertNotNull(expression.leftOperand);
3728 JUnitTestCase.assertNotNull(expression.operator);
3729 JUnitTestCase.assertEquals(TokenType.LT, expression.operator.type);
3730 JUnitTestCase.assertNotNull(expression.rightOperand);
3731 }
3732 void test_parseRelationalExpression_super() {
3733 BinaryExpression expression = ParserTestCase.parse4("parseRelationalExpressi on", "super < y", []);
3734 JUnitTestCase.assertNotNull(expression.leftOperand);
3735 JUnitTestCase.assertNotNull(expression.operator);
3736 JUnitTestCase.assertEquals(TokenType.LT, expression.operator.type);
3737 JUnitTestCase.assertNotNull(expression.rightOperand);
3738 }
3739 void test_parseReturnStatement_noValue() {
3740 ReturnStatement statement = ParserTestCase.parse4("parseReturnStatement", "r eturn;", []);
3741 JUnitTestCase.assertNotNull(statement.keyword);
3742 JUnitTestCase.assertNull(statement.expression);
3743 JUnitTestCase.assertNotNull(statement.semicolon);
3744 }
3745 void test_parseReturnStatement_value() {
3746 ReturnStatement statement = ParserTestCase.parse4("parseReturnStatement", "r eturn x;", []);
3747 JUnitTestCase.assertNotNull(statement.keyword);
3748 JUnitTestCase.assertNotNull(statement.expression);
3749 JUnitTestCase.assertNotNull(statement.semicolon);
3750 }
3751 void test_parseReturnType_nonVoid() {
3752 TypeName typeName = ParserTestCase.parse4("parseReturnType", "A<B>", []);
3753 JUnitTestCase.assertNotNull(typeName.name);
3754 JUnitTestCase.assertNotNull(typeName.typeArguments);
3755 }
3756 void test_parseReturnType_void() {
3757 TypeName typeName = ParserTestCase.parse4("parseReturnType", "void", []);
3758 JUnitTestCase.assertNotNull(typeName.name);
3759 JUnitTestCase.assertNull(typeName.typeArguments);
3760 }
3761 void test_parseSetter_nonStatic() {
3762 Comment comment = Comment.createDocumentationComment(new List<Token>.fixedLe ngth(0));
3763 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
3764 MethodDeclaration method = ParserTestCase.parse("parseSetter", <Object> [com mentAndMetadata(comment, []), null, null, returnType], "set a(var x);");
3765 JUnitTestCase.assertNotNull(method.body);
3766 JUnitTestCase.assertEquals(comment, method.documentationComment);
3767 JUnitTestCase.assertNull(method.externalKeyword);
3768 JUnitTestCase.assertNull(method.modifierKeyword);
3769 JUnitTestCase.assertNotNull(method.name);
3770 JUnitTestCase.assertNull(method.operatorKeyword);
3771 JUnitTestCase.assertNotNull(method.parameters);
3772 JUnitTestCase.assertNotNull(method.propertyKeyword);
3773 JUnitTestCase.assertEquals(returnType, method.returnType);
3774 }
3775 void test_parseSetter_static() {
3776 Comment comment = Comment.createDocumentationComment(new List<Token>.fixedLe ngth(0));
3777 Token staticKeyword = TokenFactory.token(Keyword.STATIC);
3778 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
3779 MethodDeclaration method = ParserTestCase.parse("parseSetter", <Object> [com mentAndMetadata(comment, []), null, staticKeyword, returnType], "set a(var x) {} ");
3780 JUnitTestCase.assertNotNull(method.body);
3781 JUnitTestCase.assertEquals(comment, method.documentationComment);
3782 JUnitTestCase.assertNull(method.externalKeyword);
3783 JUnitTestCase.assertEquals(staticKeyword, method.modifierKeyword);
3784 JUnitTestCase.assertNotNull(method.name);
3785 JUnitTestCase.assertNull(method.operatorKeyword);
3786 JUnitTestCase.assertNotNull(method.parameters);
3787 JUnitTestCase.assertNotNull(method.propertyKeyword);
3788 JUnitTestCase.assertEquals(returnType, method.returnType);
3789 }
3790 void test_parseShiftExpression_normal() {
3791 BinaryExpression expression = ParserTestCase.parse4("parseShiftExpression", "x << y", []);
3792 JUnitTestCase.assertNotNull(expression.leftOperand);
3793 JUnitTestCase.assertNotNull(expression.operator);
3794 JUnitTestCase.assertEquals(TokenType.LT_LT, expression.operator.type);
3795 JUnitTestCase.assertNotNull(expression.rightOperand);
3796 }
3797 void test_parseShiftExpression_super() {
3798 BinaryExpression expression = ParserTestCase.parse4("parseShiftExpression", "super << y", []);
3799 JUnitTestCase.assertNotNull(expression.leftOperand);
3800 JUnitTestCase.assertNotNull(expression.operator);
3801 JUnitTestCase.assertEquals(TokenType.LT_LT, expression.operator.type);
3802 JUnitTestCase.assertNotNull(expression.rightOperand);
3803 }
3804 void test_parseSimpleIdentifier_builtInIdentifier() {
3805 String lexeme = "as";
3806 SimpleIdentifier identifier = ParserTestCase.parse4("parseSimpleIdentifier", lexeme, []);
3807 JUnitTestCase.assertNotNull(identifier.token);
3808 JUnitTestCase.assertEquals(lexeme, identifier.name);
3809 }
3810 void test_parseSimpleIdentifier_normalIdentifier() {
3811 String lexeme = "foo";
3812 SimpleIdentifier identifier = ParserTestCase.parse4("parseSimpleIdentifier", lexeme, []);
3813 JUnitTestCase.assertNotNull(identifier.token);
3814 JUnitTestCase.assertEquals(lexeme, identifier.name);
3815 }
3816 void test_parseSimpleIdentifier1_normalIdentifier() {
3817 }
3818 void test_parseStatement_functionDeclaration() {
3819 FunctionDeclarationStatement statement = ParserTestCase.parse4("parseStateme nt", "int f(a, b) {};", []);
3820 JUnitTestCase.assertNotNull(statement.functionDeclaration);
3821 }
3822 void test_parseStatement_mulipleLabels() {
3823 LabeledStatement statement = ParserTestCase.parse4("parseStatement", "l: m: return x;", []);
3824 EngineTestCase.assertSize(2, statement.labels);
3825 JUnitTestCase.assertNotNull(statement.statement);
3826 }
3827 void test_parseStatement_noLabels() {
3828 ParserTestCase.parse4("parseStatement", "return x;", []);
3829 }
3830 void test_parseStatement_singleLabel() {
3831 LabeledStatement statement = ParserTestCase.parse4("parseStatement", "l: ret urn x;", []);
3832 EngineTestCase.assertSize(1, statement.labels);
3833 JUnitTestCase.assertNotNull(statement.statement);
3834 }
3835 void test_parseStatements_multiple() {
3836 List<Statement> statements = ParserTestCase.parseStatements("return; return; ", 2, []);
3837 EngineTestCase.assertSize(2, statements);
3838 }
3839 void test_parseStatements_single() {
3840 List<Statement> statements = ParserTestCase.parseStatements("return;", 1, [] );
3841 EngineTestCase.assertSize(1, statements);
3842 }
3843 void test_parseStringLiteral_adjacent() {
3844 AdjacentStrings literal = ParserTestCase.parse4("parseStringLiteral", "'a' ' b'", []);
3845 NodeList<StringLiteral> strings2 = literal.strings;
3846 EngineTestCase.assertSize(2, strings2);
3847 StringLiteral firstString = strings2[0];
3848 StringLiteral secondString = strings2[1];
3849 JUnitTestCase.assertEquals("a", (firstString as SimpleStringLiteral).value);
3850 JUnitTestCase.assertEquals("b", (secondString as SimpleStringLiteral).value) ;
3851 }
3852 void test_parseStringLiteral_interpolated() {
3853 StringInterpolation literal = ParserTestCase.parse4("parseStringLiteral", "' a \${b} c \$this d'", []);
3854 NodeList<InterpolationElement> elements2 = literal.elements;
3855 EngineTestCase.assertSize(5, elements2);
3856 JUnitTestCase.assertTrue(elements2[0] is InterpolationString);
3857 JUnitTestCase.assertTrue(elements2[1] is InterpolationExpression);
3858 JUnitTestCase.assertTrue(elements2[2] is InterpolationString);
3859 JUnitTestCase.assertTrue(elements2[3] is InterpolationExpression);
3860 JUnitTestCase.assertTrue(elements2[4] is InterpolationString);
3861 }
3862 void test_parseStringLiteral_single() {
3863 SimpleStringLiteral literal = ParserTestCase.parse4("parseStringLiteral", "' a'", []);
3864 JUnitTestCase.assertNotNull(literal.literal);
3865 JUnitTestCase.assertEquals("a", literal.value);
3866 }
3867 void test_parseSuperConstructorInvocation_named() {
3868 SuperConstructorInvocation invocation = ParserTestCase.parse4("parseSuperCon structorInvocation", "super.a()", []);
3869 JUnitTestCase.assertNotNull(invocation.argumentList);
3870 JUnitTestCase.assertNotNull(invocation.constructorName);
3871 JUnitTestCase.assertNotNull(invocation.keyword);
3872 JUnitTestCase.assertNotNull(invocation.period);
3873 }
3874 void test_parseSuperConstructorInvocation_unnamed() {
3875 SuperConstructorInvocation invocation = ParserTestCase.parse4("parseSuperCon structorInvocation", "super()", []);
3876 JUnitTestCase.assertNotNull(invocation.argumentList);
3877 JUnitTestCase.assertNull(invocation.constructorName);
3878 JUnitTestCase.assertNotNull(invocation.keyword);
3879 JUnitTestCase.assertNull(invocation.period);
3880 }
3881 void test_parseSwitchStatement_case() {
3882 SwitchStatement statement = ParserTestCase.parse4("parseSwitchStatement", "s witch (a) {case 1: return 'I';}", []);
3883 JUnitTestCase.assertNotNull(statement.keyword);
3884 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3885 JUnitTestCase.assertNotNull(statement.expression);
3886 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3887 JUnitTestCase.assertNotNull(statement.leftBracket);
3888 EngineTestCase.assertSize(1, statement.members);
3889 JUnitTestCase.assertNotNull(statement.rightBracket);
3890 }
3891 void test_parseSwitchStatement_empty() {
3892 SwitchStatement statement = ParserTestCase.parse4("parseSwitchStatement", "s witch (a) {}", []);
3893 JUnitTestCase.assertNotNull(statement.keyword);
3894 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3895 JUnitTestCase.assertNotNull(statement.expression);
3896 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3897 JUnitTestCase.assertNotNull(statement.leftBracket);
3898 EngineTestCase.assertSize(0, statement.members);
3899 JUnitTestCase.assertNotNull(statement.rightBracket);
3900 }
3901 void test_parseSwitchStatement_labeledCase() {
3902 SwitchStatement statement = ParserTestCase.parse4("parseSwitchStatement", "s witch (a) {l1: l2: l3: case(1):}", []);
3903 JUnitTestCase.assertNotNull(statement.keyword);
3904 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3905 JUnitTestCase.assertNotNull(statement.expression);
3906 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3907 JUnitTestCase.assertNotNull(statement.leftBracket);
3908 EngineTestCase.assertSize(1, statement.members);
3909 EngineTestCase.assertSize(3, statement.members[0].labels);
3910 JUnitTestCase.assertNotNull(statement.rightBracket);
3911 }
3912 void test_parseSwitchStatement_labeledStatementInCase() {
3913 SwitchStatement statement = ParserTestCase.parse4("parseSwitchStatement", "s witch (a) {case 0: f(); l1: g(); break;}", []);
3914 JUnitTestCase.assertNotNull(statement.keyword);
3915 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3916 JUnitTestCase.assertNotNull(statement.expression);
3917 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3918 JUnitTestCase.assertNotNull(statement.leftBracket);
3919 EngineTestCase.assertSize(1, statement.members);
3920 EngineTestCase.assertSize(3, statement.members[0].statements);
3921 JUnitTestCase.assertNotNull(statement.rightBracket);
3922 }
3923 void test_parseThrowExpression_expression() {
3924 ThrowExpression statement = ParserTestCase.parse4("parseThrowExpression", "t hrow x;", []);
3925 JUnitTestCase.assertNotNull(statement.keyword);
3926 JUnitTestCase.assertNotNull(statement.expression);
3927 }
3928 void test_parseThrowExpression_noExpression() {
3929 ThrowExpression statement = ParserTestCase.parse4("parseThrowExpression", "t hrow;", []);
3930 JUnitTestCase.assertNotNull(statement.keyword);
3931 JUnitTestCase.assertNull(statement.expression);
3932 }
3933 void test_parseThrowExpressionWithoutCascade_expression() {
3934 ThrowExpression statement = ParserTestCase.parse4("parseThrowExpressionWitho utCascade", "throw x;", []);
3935 JUnitTestCase.assertNotNull(statement.keyword);
3936 JUnitTestCase.assertNotNull(statement.expression);
3937 }
3938 void test_parseThrowExpressionWithoutCascade_noExpression() {
3939 ThrowExpression statement = ParserTestCase.parse4("parseThrowExpressionWitho utCascade", "throw;", []);
3940 JUnitTestCase.assertNotNull(statement.keyword);
3941 JUnitTestCase.assertNull(statement.expression);
3942 }
3943 void test_parseTryStatement_catch() {
3944 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} catch (e) {}", []);
3945 JUnitTestCase.assertNotNull(statement.tryKeyword);
3946 JUnitTestCase.assertNotNull(statement.body);
3947 NodeList<CatchClause> catchClauses2 = statement.catchClauses;
3948 EngineTestCase.assertSize(1, catchClauses2);
3949 CatchClause clause = catchClauses2[0];
3950 JUnitTestCase.assertNull(clause.onKeyword);
3951 JUnitTestCase.assertNull(clause.exceptionType);
3952 JUnitTestCase.assertNotNull(clause.catchKeyword);
3953 JUnitTestCase.assertNotNull(clause.exceptionParameter);
3954 JUnitTestCase.assertNull(clause.comma);
3955 JUnitTestCase.assertNull(clause.stackTraceParameter);
3956 JUnitTestCase.assertNotNull(clause.body);
3957 JUnitTestCase.assertNull(statement.finallyKeyword);
3958 JUnitTestCase.assertNull(statement.finallyClause);
3959 }
3960 void test_parseTryStatement_catch_finally() {
3961 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} catch (e, s) {} finally {}", []);
3962 JUnitTestCase.assertNotNull(statement.tryKeyword);
3963 JUnitTestCase.assertNotNull(statement.body);
3964 NodeList<CatchClause> catchClauses3 = statement.catchClauses;
3965 EngineTestCase.assertSize(1, catchClauses3);
3966 CatchClause clause = catchClauses3[0];
3967 JUnitTestCase.assertNull(clause.onKeyword);
3968 JUnitTestCase.assertNull(clause.exceptionType);
3969 JUnitTestCase.assertNotNull(clause.catchKeyword);
3970 JUnitTestCase.assertNotNull(clause.exceptionParameter);
3971 JUnitTestCase.assertNotNull(clause.comma);
3972 JUnitTestCase.assertNotNull(clause.stackTraceParameter);
3973 JUnitTestCase.assertNotNull(clause.body);
3974 JUnitTestCase.assertNotNull(statement.finallyKeyword);
3975 JUnitTestCase.assertNotNull(statement.finallyClause);
3976 }
3977 void test_parseTryStatement_finally() {
3978 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} finally {}", []);
3979 JUnitTestCase.assertNotNull(statement.tryKeyword);
3980 JUnitTestCase.assertNotNull(statement.body);
3981 EngineTestCase.assertSize(0, statement.catchClauses);
3982 JUnitTestCase.assertNotNull(statement.finallyKeyword);
3983 JUnitTestCase.assertNotNull(statement.finallyClause);
3984 }
3985 void test_parseTryStatement_multiple() {
3986 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} on NPE catch (e) {} on Error {} catch (e) {}", []);
3987 JUnitTestCase.assertNotNull(statement.tryKeyword);
3988 JUnitTestCase.assertNotNull(statement.body);
3989 EngineTestCase.assertSize(3, statement.catchClauses);
3990 JUnitTestCase.assertNull(statement.finallyKeyword);
3991 JUnitTestCase.assertNull(statement.finallyClause);
3992 }
3993 void test_parseTryStatement_on() {
3994 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} on Error {}", []);
3995 JUnitTestCase.assertNotNull(statement.tryKeyword);
3996 JUnitTestCase.assertNotNull(statement.body);
3997 NodeList<CatchClause> catchClauses4 = statement.catchClauses;
3998 EngineTestCase.assertSize(1, catchClauses4);
3999 CatchClause clause = catchClauses4[0];
4000 JUnitTestCase.assertNotNull(clause.onKeyword);
4001 JUnitTestCase.assertNotNull(clause.exceptionType);
4002 JUnitTestCase.assertNull(clause.catchKeyword);
4003 JUnitTestCase.assertNull(clause.exceptionParameter);
4004 JUnitTestCase.assertNull(clause.comma);
4005 JUnitTestCase.assertNull(clause.stackTraceParameter);
4006 JUnitTestCase.assertNotNull(clause.body);
4007 JUnitTestCase.assertNull(statement.finallyKeyword);
4008 JUnitTestCase.assertNull(statement.finallyClause);
4009 }
4010 void test_parseTryStatement_on_catch() {
4011 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} on Error catch (e, s) {}", []);
4012 JUnitTestCase.assertNotNull(statement.tryKeyword);
4013 JUnitTestCase.assertNotNull(statement.body);
4014 NodeList<CatchClause> catchClauses5 = statement.catchClauses;
4015 EngineTestCase.assertSize(1, catchClauses5);
4016 CatchClause clause = catchClauses5[0];
4017 JUnitTestCase.assertNotNull(clause.onKeyword);
4018 JUnitTestCase.assertNotNull(clause.exceptionType);
4019 JUnitTestCase.assertNotNull(clause.catchKeyword);
4020 JUnitTestCase.assertNotNull(clause.exceptionParameter);
4021 JUnitTestCase.assertNotNull(clause.comma);
4022 JUnitTestCase.assertNotNull(clause.stackTraceParameter);
4023 JUnitTestCase.assertNotNull(clause.body);
4024 JUnitTestCase.assertNull(statement.finallyKeyword);
4025 JUnitTestCase.assertNull(statement.finallyClause);
4026 }
4027 void test_parseTryStatement_on_catch_finally() {
4028 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} on Error catch (e, s) {} finally {}", []);
4029 JUnitTestCase.assertNotNull(statement.tryKeyword);
4030 JUnitTestCase.assertNotNull(statement.body);
4031 NodeList<CatchClause> catchClauses6 = statement.catchClauses;
4032 EngineTestCase.assertSize(1, catchClauses6);
4033 CatchClause clause = catchClauses6[0];
4034 JUnitTestCase.assertNotNull(clause.onKeyword);
4035 JUnitTestCase.assertNotNull(clause.exceptionType);
4036 JUnitTestCase.assertNotNull(clause.catchKeyword);
4037 JUnitTestCase.assertNotNull(clause.exceptionParameter);
4038 JUnitTestCase.assertNotNull(clause.comma);
4039 JUnitTestCase.assertNotNull(clause.stackTraceParameter);
4040 JUnitTestCase.assertNotNull(clause.body);
4041 JUnitTestCase.assertNotNull(statement.finallyKeyword);
4042 JUnitTestCase.assertNotNull(statement.finallyClause);
4043 }
4044 void test_parseTypeAlias_noParameters() {
4045 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef bool F();");
4046 JUnitTestCase.assertNotNull(typeAlias.keyword);
4047 JUnitTestCase.assertNotNull(typeAlias.name);
4048 JUnitTestCase.assertNotNull(typeAlias.parameters);
4049 JUnitTestCase.assertNotNull(typeAlias.returnType);
4050 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4051 JUnitTestCase.assertNull(typeAlias.typeParameters);
4052 }
4053 void test_parseTypeAlias_noReturnType() {
4054 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef F();");
4055 JUnitTestCase.assertNotNull(typeAlias.keyword);
4056 JUnitTestCase.assertNotNull(typeAlias.name);
4057 JUnitTestCase.assertNotNull(typeAlias.parameters);
4058 JUnitTestCase.assertNull(typeAlias.returnType);
4059 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4060 JUnitTestCase.assertNull(typeAlias.typeParameters);
4061 }
4062 void test_parseTypeAlias_parameterizedReturnType() {
4063 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef A<B> F();");
4064 JUnitTestCase.assertNotNull(typeAlias.keyword);
4065 JUnitTestCase.assertNotNull(typeAlias.name);
4066 JUnitTestCase.assertNotNull(typeAlias.parameters);
4067 JUnitTestCase.assertNotNull(typeAlias.returnType);
4068 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4069 JUnitTestCase.assertNull(typeAlias.typeParameters);
4070 }
4071 void test_parseTypeAlias_parameters() {
4072 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef bool F(Object value);");
4073 JUnitTestCase.assertNotNull(typeAlias.keyword);
4074 JUnitTestCase.assertNotNull(typeAlias.name);
4075 JUnitTestCase.assertNotNull(typeAlias.parameters);
4076 JUnitTestCase.assertNotNull(typeAlias.returnType);
4077 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4078 JUnitTestCase.assertNull(typeAlias.typeParameters);
4079 }
4080 void test_parseTypeAlias_typeParameters() {
4081 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef bool F<E>();");
4082 JUnitTestCase.assertNotNull(typeAlias.keyword);
4083 JUnitTestCase.assertNotNull(typeAlias.name);
4084 JUnitTestCase.assertNotNull(typeAlias.parameters);
4085 JUnitTestCase.assertNotNull(typeAlias.returnType);
4086 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4087 JUnitTestCase.assertNotNull(typeAlias.typeParameters);
4088 }
4089 void test_parseTypeAlias_voidReturnType() {
4090 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef void F();");
4091 JUnitTestCase.assertNotNull(typeAlias.keyword);
4092 JUnitTestCase.assertNotNull(typeAlias.name);
4093 JUnitTestCase.assertNotNull(typeAlias.parameters);
4094 JUnitTestCase.assertNotNull(typeAlias.returnType);
4095 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4096 JUnitTestCase.assertNull(typeAlias.typeParameters);
4097 }
4098 void test_parseTypeArgumentList_multiple() {
4099 TypeArgumentList argumentList = ParserTestCase.parse4("parseTypeArgumentList ", "<int, int, int>", []);
4100 JUnitTestCase.assertNotNull(argumentList.leftBracket);
4101 EngineTestCase.assertSize(3, argumentList.arguments);
4102 JUnitTestCase.assertNotNull(argumentList.rightBracket);
4103 }
4104 void test_parseTypeArgumentList_nested() {
4105 TypeArgumentList argumentList = ParserTestCase.parse4("parseTypeArgumentList ", "<A<B>>", []);
4106 JUnitTestCase.assertNotNull(argumentList.leftBracket);
4107 EngineTestCase.assertSize(1, argumentList.arguments);
4108 TypeName argument = argumentList.arguments[0];
4109 JUnitTestCase.assertNotNull(argument);
4110 TypeArgumentList innerList = argument.typeArguments;
4111 JUnitTestCase.assertNotNull(innerList);
4112 EngineTestCase.assertSize(1, innerList.arguments);
4113 JUnitTestCase.assertNotNull(argumentList.rightBracket);
4114 }
4115 void test_parseTypeArgumentList_single() {
4116 TypeArgumentList argumentList = ParserTestCase.parse4("parseTypeArgumentList ", "<int>", []);
4117 JUnitTestCase.assertNotNull(argumentList.leftBracket);
4118 EngineTestCase.assertSize(1, argumentList.arguments);
4119 JUnitTestCase.assertNotNull(argumentList.rightBracket);
4120 }
4121 void test_parseTypeName_parameterized() {
4122 TypeName typeName = ParserTestCase.parse4("parseTypeName", "List<int>", []);
4123 JUnitTestCase.assertNotNull(typeName.name);
4124 JUnitTestCase.assertNotNull(typeName.typeArguments);
4125 }
4126 void test_parseTypeName_simple() {
4127 TypeName typeName = ParserTestCase.parse4("parseTypeName", "int", []);
4128 JUnitTestCase.assertNotNull(typeName.name);
4129 JUnitTestCase.assertNull(typeName.typeArguments);
4130 }
4131 void test_parseTypeParameter_bounded() {
4132 TypeParameter parameter = ParserTestCase.parse4("parseTypeParameter", "A ext ends B", []);
4133 JUnitTestCase.assertNotNull(parameter.bound);
4134 JUnitTestCase.assertNotNull(parameter.keyword);
4135 JUnitTestCase.assertNotNull(parameter.name);
4136 }
4137 void test_parseTypeParameter_simple() {
4138 TypeParameter parameter = ParserTestCase.parse4("parseTypeParameter", "A", [ ]);
4139 JUnitTestCase.assertNull(parameter.bound);
4140 JUnitTestCase.assertNull(parameter.keyword);
4141 JUnitTestCase.assertNotNull(parameter.name);
4142 }
4143 void test_parseTypeParameterList_multiple() {
4144 TypeParameterList parameterList = ParserTestCase.parse4("parseTypeParameterL ist", "<A, B extends C, D>", []);
4145 JUnitTestCase.assertNotNull(parameterList.leftBracket);
4146 JUnitTestCase.assertNotNull(parameterList.rightBracket);
4147 EngineTestCase.assertSize(3, parameterList.typeParameters);
4148 }
4149 void test_parseTypeParameterList_parameterizedWithTrailingEquals() {
4150 TypeParameterList parameterList = ParserTestCase.parse4("parseTypeParameterL ist", "<A extends B<E>>=", []);
4151 JUnitTestCase.assertNotNull(parameterList.leftBracket);
4152 JUnitTestCase.assertNotNull(parameterList.rightBracket);
4153 EngineTestCase.assertSize(1, parameterList.typeParameters);
4154 }
4155 void test_parseTypeParameterList_single() {
4156 TypeParameterList parameterList = ParserTestCase.parse4("parseTypeParameterL ist", "<A>", []);
4157 JUnitTestCase.assertNotNull(parameterList.leftBracket);
4158 JUnitTestCase.assertNotNull(parameterList.rightBracket);
4159 EngineTestCase.assertSize(1, parameterList.typeParameters);
4160 }
4161 void test_parseTypeParameterList_withTrailingEquals() {
4162 TypeParameterList parameterList = ParserTestCase.parse4("parseTypeParameterL ist", "<A>=", []);
4163 JUnitTestCase.assertNotNull(parameterList.leftBracket);
4164 JUnitTestCase.assertNotNull(parameterList.rightBracket);
4165 EngineTestCase.assertSize(1, parameterList.typeParameters);
4166 }
4167 void test_parseUnaryExpression_decrement_normal() {
4168 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "--x", []);
4169 JUnitTestCase.assertNotNull(expression.operator);
4170 JUnitTestCase.assertEquals(TokenType.MINUS_MINUS, expression.operator.type);
4171 JUnitTestCase.assertNotNull(expression.operand);
4172 }
4173 void test_parseUnaryExpression_decrement_super() {
4174 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "--super", []);
4175 JUnitTestCase.assertNotNull(expression.operator);
4176 JUnitTestCase.assertEquals(TokenType.MINUS, expression.operator.type);
4177 Expression innerExpression = expression.operand;
4178 JUnitTestCase.assertNotNull(innerExpression);
4179 JUnitTestCase.assertTrue(innerExpression is PrefixExpression);
4180 PrefixExpression operand = innerExpression as PrefixExpression;
4181 JUnitTestCase.assertNotNull(operand.operator);
4182 JUnitTestCase.assertEquals(TokenType.MINUS, operand.operator.type);
4183 JUnitTestCase.assertNotNull(operand.operand);
4184 }
4185 void test_parseUnaryExpression_increment_normal() {
4186 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "++x", []);
4187 JUnitTestCase.assertNotNull(expression.operator);
4188 JUnitTestCase.assertEquals(TokenType.PLUS_PLUS, expression.operator.type);
4189 JUnitTestCase.assertNotNull(expression.operand);
4190 }
4191 void test_parseUnaryExpression_minus_normal() {
4192 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "-x", []);
4193 JUnitTestCase.assertNotNull(expression.operator);
4194 JUnitTestCase.assertEquals(TokenType.MINUS, expression.operator.type);
4195 JUnitTestCase.assertNotNull(expression.operand);
4196 }
4197 void test_parseUnaryExpression_minus_super() {
4198 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "-super", []);
4199 JUnitTestCase.assertNotNull(expression.operator);
4200 JUnitTestCase.assertEquals(TokenType.MINUS, expression.operator.type);
4201 JUnitTestCase.assertNotNull(expression.operand);
4202 }
4203 void test_parseUnaryExpression_not_normal() {
4204 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "!x", []);
4205 JUnitTestCase.assertNotNull(expression.operator);
4206 JUnitTestCase.assertEquals(TokenType.BANG, expression.operator.type);
4207 JUnitTestCase.assertNotNull(expression.operand);
4208 }
4209 void test_parseUnaryExpression_not_super() {
4210 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "!super", []);
4211 JUnitTestCase.assertNotNull(expression.operator);
4212 JUnitTestCase.assertEquals(TokenType.BANG, expression.operator.type);
4213 JUnitTestCase.assertNotNull(expression.operand);
4214 }
4215 void test_parseUnaryExpression_tilda_normal() {
4216 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "~x", []);
4217 JUnitTestCase.assertNotNull(expression.operator);
4218 JUnitTestCase.assertEquals(TokenType.TILDE, expression.operator.type);
4219 JUnitTestCase.assertNotNull(expression.operand);
4220 }
4221 void test_parseUnaryExpression_tilda_super() {
4222 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "~super", []);
4223 JUnitTestCase.assertNotNull(expression.operator);
4224 JUnitTestCase.assertEquals(TokenType.TILDE, expression.operator.type);
4225 JUnitTestCase.assertNotNull(expression.operand);
4226 }
4227 void test_parseVariableDeclaration_equals() {
4228 VariableDeclaration declaration = ParserTestCase.parse4("parseVariableDeclar ation", "a = b", []);
4229 JUnitTestCase.assertNotNull(declaration.name);
4230 JUnitTestCase.assertNotNull(declaration.equals);
4231 JUnitTestCase.assertNotNull(declaration.initializer);
4232 }
4233 void test_parseVariableDeclaration_noEquals() {
4234 VariableDeclaration declaration = ParserTestCase.parse4("parseVariableDeclar ation", "a", []);
4235 JUnitTestCase.assertNotNull(declaration.name);
4236 JUnitTestCase.assertNull(declaration.equals);
4237 JUnitTestCase.assertNull(declaration.initializer);
4238 }
4239 void test_parseVariableDeclarationList_const_noType() {
4240 VariableDeclarationList declarationList = ParserTestCase.parse4("parseVariab leDeclarationList", "const a", []);
4241 JUnitTestCase.assertNotNull(declarationList.keyword);
4242 JUnitTestCase.assertNull(declarationList.type);
4243 EngineTestCase.assertSize(1, declarationList.variables);
4244 }
4245 void test_parseVariableDeclarationList_const_type() {
4246 VariableDeclarationList declarationList = ParserTestCase.parse4("parseVariab leDeclarationList", "const A a", []);
4247 JUnitTestCase.assertNotNull(declarationList.keyword);
4248 JUnitTestCase.assertNotNull(declarationList.type);
4249 EngineTestCase.assertSize(1, declarationList.variables);
4250 }
4251 void test_parseVariableDeclarationList_final_noType() {
4252 VariableDeclarationList declarationList = ParserTestCase.parse4("parseVariab leDeclarationList", "final a", []);
4253 JUnitTestCase.assertNotNull(declarationList.keyword);
4254 JUnitTestCase.assertNull(declarationList.type);
4255 EngineTestCase.assertSize(1, declarationList.variables);
4256 }
4257 void test_parseVariableDeclarationList_final_type() {
4258 VariableDeclarationList declarationList = ParserTestCase.parse4("parseVariab leDeclarationList", "final A a", []);
4259 JUnitTestCase.assertNotNull(declarationList.keyword);
4260 JUnitTestCase.assertNotNull(declarationList.type);
4261 EngineTestCase.assertSize(1, declarationList.variables);
4262 }
4263 void test_parseVariableDeclarationList_type_multiple() {
4264 VariableDeclarationList declarationList = ParserTestCase.parse4("parseVariab leDeclarationList", "A a, b, c", []);
4265 JUnitTestCase.assertNull(declarationList.keyword);
4266 JUnitTestCase.assertNotNull(declarationList.type);
4267 EngineTestCase.assertSize(3, declarationList.variables);
4268 }
4269 void test_parseVariableDeclarationList_type_single() {
4270 VariableDeclarationList declarationList = ParserTestCase.parse4("parseVariab leDeclarationList", "A a", []);
4271 JUnitTestCase.assertNull(declarationList.keyword);
4272 JUnitTestCase.assertNotNull(declarationList.type);
4273 EngineTestCase.assertSize(1, declarationList.variables);
4274 }
4275 void test_parseVariableDeclarationList_var_multiple() {
4276 VariableDeclarationList declarationList = ParserTestCase.parse4("parseVariab leDeclarationList", "var a, b, c", []);
4277 JUnitTestCase.assertNotNull(declarationList.keyword);
4278 JUnitTestCase.assertNull(declarationList.type);
4279 EngineTestCase.assertSize(3, declarationList.variables);
4280 }
4281 void test_parseVariableDeclarationList_var_single() {
4282 VariableDeclarationList declarationList = ParserTestCase.parse4("parseVariab leDeclarationList", "var a", []);
4283 JUnitTestCase.assertNotNull(declarationList.keyword);
4284 JUnitTestCase.assertNull(declarationList.type);
4285 EngineTestCase.assertSize(1, declarationList.variables);
4286 }
4287 void test_parseVariableDeclarationList2_type() {
4288 TypeName type = new TypeName(new SimpleIdentifier(null), null);
4289 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationList", <Object> [null, type], "a");
4290 JUnitTestCase.assertNull(declarationList.keyword);
4291 JUnitTestCase.assertEquals(type, declarationList.type);
4292 EngineTestCase.assertSize(1, declarationList.variables);
4293 }
4294 void test_parseVariableDeclarationList2_var() {
4295 Token keyword = TokenFactory.token(Keyword.VAR);
4296 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationList", <Object> [keyword, null], "a, b, c");
4297 JUnitTestCase.assertEquals(keyword, declarationList.keyword);
4298 JUnitTestCase.assertNull(declarationList.type);
4299 EngineTestCase.assertSize(3, declarationList.variables);
4300 }
4301 void test_parseVariableDeclarationStatement_multiple() {
4302 VariableDeclarationStatement statement = ParserTestCase.parse4("parseVariabl eDeclarationStatement", "var x, y, z;", []);
4303 JUnitTestCase.assertNotNull(statement.semicolon);
4304 VariableDeclarationList variableList = statement.variables;
4305 JUnitTestCase.assertNotNull(variableList);
4306 EngineTestCase.assertSize(3, variableList.variables);
4307 }
4308 void test_parseVariableDeclarationStatement_single() {
4309 VariableDeclarationStatement statement = ParserTestCase.parse4("parseVariabl eDeclarationStatement", "var x;", []);
4310 JUnitTestCase.assertNotNull(statement.semicolon);
4311 VariableDeclarationList variableList = statement.variables;
4312 JUnitTestCase.assertNotNull(variableList);
4313 EngineTestCase.assertSize(1, variableList.variables);
4314 }
4315 void test_parseWhileStatement() {
4316 WhileStatement statement = ParserTestCase.parse4("parseWhileStatement", "whi le (x) {}", []);
4317 JUnitTestCase.assertNotNull(statement.keyword);
4318 JUnitTestCase.assertNotNull(statement.leftParenthesis);
4319 JUnitTestCase.assertNotNull(statement.condition);
4320 JUnitTestCase.assertNotNull(statement.rightParenthesis);
4321 JUnitTestCase.assertNotNull(statement.body);
4322 }
4323 void test_parseWithClause_multiple() {
4324 WithClause clause = ParserTestCase.parse4("parseWithClause", "with A, B, C", []);
4325 JUnitTestCase.assertNotNull(clause.withKeyword);
4326 EngineTestCase.assertSize(3, clause.mixinTypes);
4327 }
4328 void test_parseWithClause_single() {
4329 WithClause clause = ParserTestCase.parse4("parseWithClause", "with M", []);
4330 JUnitTestCase.assertNotNull(clause.withKeyword);
4331 EngineTestCase.assertSize(1, clause.mixinTypes);
4332 }
4333 void test_skipPrefixedIdentifier_invalid() {
4334 Token following = skip("skipPrefixedIdentifier", "+");
4335 JUnitTestCase.assertNull(following);
4336 }
4337 void test_skipPrefixedIdentifier_notPrefixed() {
4338 Token following = skip("skipPrefixedIdentifier", "a +");
4339 JUnitTestCase.assertNotNull(following);
4340 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4341 }
4342 void test_skipPrefixedIdentifier_prefixed() {
4343 Token following = skip("skipPrefixedIdentifier", "a.b +");
4344 JUnitTestCase.assertNotNull(following);
4345 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4346 }
4347 void test_skipReturnType_invalid() {
4348 Token following = skip("skipReturnType", "+");
4349 JUnitTestCase.assertNull(following);
4350 }
4351 void test_skipReturnType_type() {
4352 Token following = skip("skipReturnType", "C +");
4353 JUnitTestCase.assertNotNull(following);
4354 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4355 }
4356 void test_skipReturnType_void() {
4357 Token following = skip("skipReturnType", "void +");
4358 JUnitTestCase.assertNotNull(following);
4359 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4360 }
4361 void test_skipSimpleIdentifier_identifier() {
4362 Token following = skip("skipSimpleIdentifier", "i +");
4363 JUnitTestCase.assertNotNull(following);
4364 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4365 }
4366 void test_skipSimpleIdentifier_invalid() {
4367 Token following = skip("skipSimpleIdentifier", "9 +");
4368 JUnitTestCase.assertNull(following);
4369 }
4370 void test_skipSimpleIdentifier_pseudoKeyword() {
4371 Token following = skip("skipSimpleIdentifier", "as +");
4372 JUnitTestCase.assertNotNull(following);
4373 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4374 }
4375 void test_skipStringLiteral_adjacent() {
4376 Token following = skip("skipStringLiteral", "'a' 'b' +");
4377 JUnitTestCase.assertNotNull(following);
4378 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4379 }
4380 void test_skipStringLiteral_interpolated() {
4381 Token following = skip("skipStringLiteral", "'a\${b}c' +");
4382 JUnitTestCase.assertNotNull(following);
4383 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4384 }
4385 void test_skipStringLiteral_invalid() {
4386 Token following = skip("skipStringLiteral", "a");
4387 JUnitTestCase.assertNull(following);
4388 }
4389 void test_skipStringLiteral_single() {
4390 Token following = skip("skipStringLiteral", "'a' +");
4391 JUnitTestCase.assertNotNull(following);
4392 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4393 }
4394 void test_skipTypeArgumentList_invalid() {
4395 Token following = skip("skipTypeArgumentList", "+");
4396 JUnitTestCase.assertNull(following);
4397 }
4398 void test_skipTypeArgumentList_multiple() {
4399 Token following = skip("skipTypeArgumentList", "<E, F, G> +");
4400 JUnitTestCase.assertNotNull(following);
4401 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4402 }
4403 void test_skipTypeArgumentList_single() {
4404 Token following = skip("skipTypeArgumentList", "<E> +");
4405 JUnitTestCase.assertNotNull(following);
4406 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4407 }
4408 void test_skipTypeName_invalid() {
4409 Token following = skip("skipTypeName", "+");
4410 JUnitTestCase.assertNull(following);
4411 }
4412 void test_skipTypeName_parameterized() {
4413 Token following = skip("skipTypeName", "C<E<F<G>>> +");
4414 JUnitTestCase.assertNotNull(following);
4415 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4416 }
4417 void test_skipTypeName_simple() {
4418 Token following = skip("skipTypeName", "C +");
4419 JUnitTestCase.assertNotNull(following);
4420 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4421 }
4422 /**
4423 * Invoke the method {@link Parser#computeStringValue(String)} with the given argument.
4424 * @param lexeme the argument to the method
4425 * @return the result of invoking the method
4426 * @throws Exception if the method could not be invoked or throws an exception
4427 */
4428 String computeStringValue(String lexeme) {
4429 AnalysisErrorListener listener = new AnalysisErrorListener_4();
4430 Parser parser = new Parser(null, listener);
4431 return invokeParserMethodImpl(parser, "computeStringValue", <Object> [lexeme ], null) as String;
4432 }
4433 /**
4434 * Invoke the method {@link Parser#createSyntheticIdentifier()} with the parse r set to the token
4435 * stream produced by scanning the given source.
4436 * @param source the source to be scanned to produce the token stream being te sted
4437 * @return the result of invoking the method
4438 * @throws Exception if the method could not be invoked or throws an exception
4439 */
4440 SimpleIdentifier createSyntheticIdentifier() {
4441 GatheringErrorListener listener = new GatheringErrorListener();
4442 return ParserTestCase.invokeParserMethod2("createSyntheticIdentifier", "", l istener);
4443 }
4444 /**
4445 * Invoke the method {@link Parser#createSyntheticIdentifier()} with the parse r set to the token
4446 * stream produced by scanning the given source.
4447 * @param source the source to be scanned to produce the token stream being te sted
4448 * @return the result of invoking the method
4449 * @throws Exception if the method could not be invoked or throws an exception
4450 */
4451 SimpleStringLiteral createSyntheticStringLiteral() {
4452 GatheringErrorListener listener = new GatheringErrorListener();
4453 return ParserTestCase.invokeParserMethod2("createSyntheticStringLiteral", "" , listener);
4454 }
4455 /**
4456 * Invoke the method {@link Parser#isFunctionDeclaration()} with the parser se t to the token
4457 * stream produced by scanning the given source.
4458 * @param source the source to be scanned to produce the token stream being te sted
4459 * @return the result of invoking the method
4460 * @throws Exception if the method could not be invoked or throws an exception
4461 */
4462 bool isFunctionDeclaration(String source) {
4463 GatheringErrorListener listener = new GatheringErrorListener();
4464 return ParserTestCase.invokeParserMethod2("isFunctionDeclaration", source, l istener);
4465 }
4466 /**
4467 * Invoke the method {@link Parser#isFunctionExpression()} with the parser set to the token stream
4468 * produced by scanning the given source.
4469 * @param source the source to be scanned to produce the token stream being te sted
4470 * @return the result of invoking the method
4471 * @throws Exception if the method could not be invoked or throws an exception
4472 */
4473 bool isFunctionExpression(String source) {
4474 GatheringErrorListener listener = new GatheringErrorListener();
4475 StringScanner scanner = new StringScanner(null, source, listener);
4476 Token tokenStream = scanner.tokenize();
4477 Parser parser = new Parser(null, listener);
4478 return invokeParserMethodImpl(parser, "isFunctionExpression", <Object> [toke nStream], tokenStream) as bool;
4479 }
4480 /**
4481 * Invoke the method {@link Parser#isInitializedVariableDeclaration()} with th e parser set to the
4482 * token stream produced by scanning the given source.
4483 * @param source the source to be scanned to produce the token stream being te sted
4484 * @return the result of invoking the method
4485 * @throws Exception if the method could not be invoked or throws an exception
4486 */
4487 bool isInitializedVariableDeclaration(String source) {
4488 GatheringErrorListener listener = new GatheringErrorListener();
4489 return ParserTestCase.invokeParserMethod2("isInitializedVariableDeclaration" , source, listener);
4490 }
4491 /**
4492 * Invoke the method {@link Parser#isSwitchMember()} with the parser set to th e token stream
4493 * produced by scanning the given source.
4494 * @param source the source to be scanned to produce the token stream being te sted
4495 * @return the result of invoking the method
4496 * @throws Exception if the method could not be invoked or throws an exception
4497 */
4498 bool isSwitchMember(String source) {
4499 GatheringErrorListener listener = new GatheringErrorListener();
4500 return ParserTestCase.invokeParserMethod2("isSwitchMember", source, listener );
4501 }
4502 /**
4503 * Invoke a "skip" method in {@link Parser}. The method is assumed to take a t oken as it's
4504 * parameter and is given the first token in the scanned source.
4505 * @param methodName the name of the method that should be invoked
4506 * @param source the source to be processed by the method
4507 * @return the result of invoking the method
4508 * @throws Exception if the method could not be invoked or throws an exception
4509 * @throws AssertionFailedError if the result is {@code null}
4510 */
4511 Token skip(String methodName, String source) {
4512 GatheringErrorListener listener = new GatheringErrorListener();
4513 StringScanner scanner = new StringScanner(null, source, listener);
4514 Token tokenStream = scanner.tokenize();
4515 Parser parser = new Parser(null, listener);
4516 return invokeParserMethodImpl(parser, methodName, <Object> [tokenStream], to kenStream) as Token;
4517 }
4518 static dartSuite() {
4519 _ut.group('SimpleParserTest', () {
4520 _ut.test('test_Parser', () {
4521 final __test = new SimpleParserTest();
4522 runJUnitTest(__test, __test.test_Parser);
4523 });
4524 _ut.test('test_computeStringValue_emptyInterpolationPrefix', () {
4525 final __test = new SimpleParserTest();
4526 runJUnitTest(__test, __test.test_computeStringValue_emptyInterpolationPr efix);
4527 });
4528 _ut.test('test_computeStringValue_escape_b', () {
4529 final __test = new SimpleParserTest();
4530 runJUnitTest(__test, __test.test_computeStringValue_escape_b);
4531 });
4532 _ut.test('test_computeStringValue_escape_f', () {
4533 final __test = new SimpleParserTest();
4534 runJUnitTest(__test, __test.test_computeStringValue_escape_f);
4535 });
4536 _ut.test('test_computeStringValue_escape_n', () {
4537 final __test = new SimpleParserTest();
4538 runJUnitTest(__test, __test.test_computeStringValue_escape_n);
4539 });
4540 _ut.test('test_computeStringValue_escape_notSpecial', () {
4541 final __test = new SimpleParserTest();
4542 runJUnitTest(__test, __test.test_computeStringValue_escape_notSpecial);
4543 });
4544 _ut.test('test_computeStringValue_escape_r', () {
4545 final __test = new SimpleParserTest();
4546 runJUnitTest(__test, __test.test_computeStringValue_escape_r);
4547 });
4548 _ut.test('test_computeStringValue_escape_t', () {
4549 final __test = new SimpleParserTest();
4550 runJUnitTest(__test, __test.test_computeStringValue_escape_t);
4551 });
4552 _ut.test('test_computeStringValue_escape_u_fixed', () {
4553 final __test = new SimpleParserTest();
4554 runJUnitTest(__test, __test.test_computeStringValue_escape_u_fixed);
4555 });
4556 _ut.test('test_computeStringValue_escape_u_variable', () {
4557 final __test = new SimpleParserTest();
4558 runJUnitTest(__test, __test.test_computeStringValue_escape_u_variable);
4559 });
4560 _ut.test('test_computeStringValue_escape_v', () {
4561 final __test = new SimpleParserTest();
4562 runJUnitTest(__test, __test.test_computeStringValue_escape_v);
4563 });
4564 _ut.test('test_computeStringValue_escape_x', () {
4565 final __test = new SimpleParserTest();
4566 runJUnitTest(__test, __test.test_computeStringValue_escape_x);
4567 });
4568 _ut.test('test_computeStringValue_noEscape_single', () {
4569 final __test = new SimpleParserTest();
4570 runJUnitTest(__test, __test.test_computeStringValue_noEscape_single);
4571 });
4572 _ut.test('test_computeStringValue_noEscape_triple', () {
4573 final __test = new SimpleParserTest();
4574 runJUnitTest(__test, __test.test_computeStringValue_noEscape_triple);
4575 });
4576 _ut.test('test_computeStringValue_raw_single', () {
4577 final __test = new SimpleParserTest();
4578 runJUnitTest(__test, __test.test_computeStringValue_raw_single);
4579 });
4580 _ut.test('test_computeStringValue_raw_triple', () {
4581 final __test = new SimpleParserTest();
4582 runJUnitTest(__test, __test.test_computeStringValue_raw_triple);
4583 });
4584 _ut.test('test_computeStringValue_raw_withEscape', () {
4585 final __test = new SimpleParserTest();
4586 runJUnitTest(__test, __test.test_computeStringValue_raw_withEscape);
4587 });
4588 _ut.test('test_createSyntheticIdentifier', () {
4589 final __test = new SimpleParserTest();
4590 runJUnitTest(__test, __test.test_createSyntheticIdentifier);
4591 });
4592 _ut.test('test_createSyntheticStringLiteral', () {
4593 final __test = new SimpleParserTest();
4594 runJUnitTest(__test, __test.test_createSyntheticStringLiteral);
4595 });
4596 _ut.test('test_isFunctionDeclaration_nameButNoReturn_block', () {
4597 final __test = new SimpleParserTest();
4598 runJUnitTest(__test, __test.test_isFunctionDeclaration_nameButNoReturn_b lock);
4599 });
4600 _ut.test('test_isFunctionDeclaration_nameButNoReturn_expression', () {
4601 final __test = new SimpleParserTest();
4602 runJUnitTest(__test, __test.test_isFunctionDeclaration_nameButNoReturn_e xpression);
4603 });
4604 _ut.test('test_isFunctionDeclaration_normalReturn_block', () {
4605 final __test = new SimpleParserTest();
4606 runJUnitTest(__test, __test.test_isFunctionDeclaration_normalReturn_bloc k);
4607 });
4608 _ut.test('test_isFunctionDeclaration_normalReturn_expression', () {
4609 final __test = new SimpleParserTest();
4610 runJUnitTest(__test, __test.test_isFunctionDeclaration_normalReturn_expr ession);
4611 });
4612 _ut.test('test_isFunctionDeclaration_voidReturn_block', () {
4613 final __test = new SimpleParserTest();
4614 runJUnitTest(__test, __test.test_isFunctionDeclaration_voidReturn_block) ;
4615 });
4616 _ut.test('test_isFunctionDeclaration_voidReturn_expression', () {
4617 final __test = new SimpleParserTest();
4618 runJUnitTest(__test, __test.test_isFunctionDeclaration_voidReturn_expres sion);
4619 });
4620 _ut.test('test_isFunctionExpression_false_noBody', () {
4621 final __test = new SimpleParserTest();
4622 runJUnitTest(__test, __test.test_isFunctionExpression_false_noBody);
4623 });
4624 _ut.test('test_isFunctionExpression_false_notParameters', () {
4625 final __test = new SimpleParserTest();
4626 runJUnitTest(__test, __test.test_isFunctionExpression_false_notParameter s);
4627 });
4628 _ut.test('test_isFunctionExpression_noName_block', () {
4629 final __test = new SimpleParserTest();
4630 runJUnitTest(__test, __test.test_isFunctionExpression_noName_block);
4631 });
4632 _ut.test('test_isFunctionExpression_noName_expression', () {
4633 final __test = new SimpleParserTest();
4634 runJUnitTest(__test, __test.test_isFunctionExpression_noName_expression) ;
4635 });
4636 _ut.test('test_isFunctionExpression_parameter_multiple', () {
4637 final __test = new SimpleParserTest();
4638 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_multiple );
4639 });
4640 _ut.test('test_isFunctionExpression_parameter_named', () {
4641 final __test = new SimpleParserTest();
4642 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_named);
4643 });
4644 _ut.test('test_isFunctionExpression_parameter_optional', () {
4645 final __test = new SimpleParserTest();
4646 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_optional );
4647 });
4648 _ut.test('test_isFunctionExpression_parameter_single', () {
4649 final __test = new SimpleParserTest();
4650 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_single);
4651 });
4652 _ut.test('test_isFunctionExpression_parameter_typed', () {
4653 final __test = new SimpleParserTest();
4654 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_typed);
4655 });
4656 _ut.test('test_isInitializedVariableDeclaration_assignment', () {
4657 final __test = new SimpleParserTest();
4658 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_assign ment);
4659 });
4660 _ut.test('test_isInitializedVariableDeclaration_comparison', () {
4661 final __test = new SimpleParserTest();
4662 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_compar ison);
4663 });
4664 _ut.test('test_isInitializedVariableDeclaration_conditional', () {
4665 final __test = new SimpleParserTest();
4666 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_condit ional);
4667 });
4668 _ut.test('test_isInitializedVariableDeclaration_const_noType_initialized', () {
4669 final __test = new SimpleParserTest();
4670 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_const_ noType_initialized);
4671 });
4672 _ut.test('test_isInitializedVariableDeclaration_const_noType_uninitialized ', () {
4673 final __test = new SimpleParserTest();
4674 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_const_ noType_uninitialized);
4675 });
4676 _ut.test('test_isInitializedVariableDeclaration_const_simpleType_uninitial ized', () {
4677 final __test = new SimpleParserTest();
4678 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_const_ simpleType_uninitialized);
4679 });
4680 _ut.test('test_isInitializedVariableDeclaration_final_noType_initialized', () {
4681 final __test = new SimpleParserTest();
4682 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_final_ noType_initialized);
4683 });
4684 _ut.test('test_isInitializedVariableDeclaration_final_noType_uninitialized ', () {
4685 final __test = new SimpleParserTest();
4686 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_final_ noType_uninitialized);
4687 });
4688 _ut.test('test_isInitializedVariableDeclaration_final_simpleType_initializ ed', () {
4689 final __test = new SimpleParserTest();
4690 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_final_ simpleType_initialized);
4691 });
4692 _ut.test('test_isInitializedVariableDeclaration_functionDeclaration_typed' , () {
4693 final __test = new SimpleParserTest();
4694 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_functi onDeclaration_typed);
4695 });
4696 _ut.test('test_isInitializedVariableDeclaration_functionDeclaration_untype d', () {
4697 final __test = new SimpleParserTest();
4698 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_functi onDeclaration_untyped);
4699 });
4700 _ut.test('test_isInitializedVariableDeclaration_noType_initialized', () {
4701 final __test = new SimpleParserTest();
4702 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_noType _initialized);
4703 });
4704 _ut.test('test_isInitializedVariableDeclaration_noType_uninitialized', () {
4705 final __test = new SimpleParserTest();
4706 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_noType _uninitialized);
4707 });
4708 _ut.test('test_isInitializedVariableDeclaration_parameterizedType_initiali zed', () {
4709 final __test = new SimpleParserTest();
4710 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_parame terizedType_initialized);
4711 });
4712 _ut.test('test_isInitializedVariableDeclaration_parameterizedType_uninitia lized', () {
4713 final __test = new SimpleParserTest();
4714 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_parame terizedType_uninitialized);
4715 });
4716 _ut.test('test_isInitializedVariableDeclaration_simpleType_initialized', ( ) {
4717 final __test = new SimpleParserTest();
4718 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_simple Type_initialized);
4719 });
4720 _ut.test('test_isInitializedVariableDeclaration_simpleType_uninitialized', () {
4721 final __test = new SimpleParserTest();
4722 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_simple Type_uninitialized);
4723 });
4724 _ut.test('test_isSwitchMember_case_labeled', () {
4725 final __test = new SimpleParserTest();
4726 runJUnitTest(__test, __test.test_isSwitchMember_case_labeled);
4727 });
4728 _ut.test('test_isSwitchMember_case_unlabeled', () {
4729 final __test = new SimpleParserTest();
4730 runJUnitTest(__test, __test.test_isSwitchMember_case_unlabeled);
4731 });
4732 _ut.test('test_isSwitchMember_default_labeled', () {
4733 final __test = new SimpleParserTest();
4734 runJUnitTest(__test, __test.test_isSwitchMember_default_labeled);
4735 });
4736 _ut.test('test_isSwitchMember_default_unlabeled', () {
4737 final __test = new SimpleParserTest();
4738 runJUnitTest(__test, __test.test_isSwitchMember_default_unlabeled);
4739 });
4740 _ut.test('test_isSwitchMember_false', () {
4741 final __test = new SimpleParserTest();
4742 runJUnitTest(__test, __test.test_isSwitchMember_false);
4743 });
4744 _ut.test('test_parseAdditiveExpression_normal', () {
4745 final __test = new SimpleParserTest();
4746 runJUnitTest(__test, __test.test_parseAdditiveExpression_normal);
4747 });
4748 _ut.test('test_parseAdditiveExpression_super', () {
4749 final __test = new SimpleParserTest();
4750 runJUnitTest(__test, __test.test_parseAdditiveExpression_super);
4751 });
4752 _ut.test('test_parseAnnotation_n1', () {
4753 final __test = new SimpleParserTest();
4754 runJUnitTest(__test, __test.test_parseAnnotation_n1);
4755 });
4756 _ut.test('test_parseAnnotation_n1_a', () {
4757 final __test = new SimpleParserTest();
4758 runJUnitTest(__test, __test.test_parseAnnotation_n1_a);
4759 });
4760 _ut.test('test_parseAnnotation_n2', () {
4761 final __test = new SimpleParserTest();
4762 runJUnitTest(__test, __test.test_parseAnnotation_n2);
4763 });
4764 _ut.test('test_parseAnnotation_n2_a', () {
4765 final __test = new SimpleParserTest();
4766 runJUnitTest(__test, __test.test_parseAnnotation_n2_a);
4767 });
4768 _ut.test('test_parseAnnotation_n3', () {
4769 final __test = new SimpleParserTest();
4770 runJUnitTest(__test, __test.test_parseAnnotation_n3);
4771 });
4772 _ut.test('test_parseAnnotation_n3_a', () {
4773 final __test = new SimpleParserTest();
4774 runJUnitTest(__test, __test.test_parseAnnotation_n3_a);
4775 });
4776 _ut.test('test_parseArgumentDefinitionTest', () {
4777 final __test = new SimpleParserTest();
4778 runJUnitTest(__test, __test.test_parseArgumentDefinitionTest);
4779 });
4780 _ut.test('test_parseArgumentList_empty', () {
4781 final __test = new SimpleParserTest();
4782 runJUnitTest(__test, __test.test_parseArgumentList_empty);
4783 });
4784 _ut.test('test_parseArgumentList_mixed', () {
4785 final __test = new SimpleParserTest();
4786 runJUnitTest(__test, __test.test_parseArgumentList_mixed);
4787 });
4788 _ut.test('test_parseArgumentList_noNamed', () {
4789 final __test = new SimpleParserTest();
4790 runJUnitTest(__test, __test.test_parseArgumentList_noNamed);
4791 });
4792 _ut.test('test_parseArgumentList_onlyNamed', () {
4793 final __test = new SimpleParserTest();
4794 runJUnitTest(__test, __test.test_parseArgumentList_onlyNamed);
4795 });
4796 _ut.test('test_parseArgument_named', () {
4797 final __test = new SimpleParserTest();
4798 runJUnitTest(__test, __test.test_parseArgument_named);
4799 });
4800 _ut.test('test_parseArgument_unnamed', () {
4801 final __test = new SimpleParserTest();
4802 runJUnitTest(__test, __test.test_parseArgument_unnamed);
4803 });
4804 _ut.test('test_parseAssertStatement', () {
4805 final __test = new SimpleParserTest();
4806 runJUnitTest(__test, __test.test_parseAssertStatement);
4807 });
4808 _ut.test('test_parseAssignableExpression_expression_args_dot', () {
4809 final __test = new SimpleParserTest();
4810 runJUnitTest(__test, __test.test_parseAssignableExpression_expression_ar gs_dot);
4811 });
4812 _ut.test('test_parseAssignableExpression_expression_dot', () {
4813 final __test = new SimpleParserTest();
4814 runJUnitTest(__test, __test.test_parseAssignableExpression_expression_do t);
4815 });
4816 _ut.test('test_parseAssignableExpression_expression_index', () {
4817 final __test = new SimpleParserTest();
4818 runJUnitTest(__test, __test.test_parseAssignableExpression_expression_in dex);
4819 });
4820 _ut.test('test_parseAssignableExpression_identifier', () {
4821 final __test = new SimpleParserTest();
4822 runJUnitTest(__test, __test.test_parseAssignableExpression_identifier);
4823 });
4824 _ut.test('test_parseAssignableExpression_identifier_args_dot', () {
4825 final __test = new SimpleParserTest();
4826 runJUnitTest(__test, __test.test_parseAssignableExpression_identifier_ar gs_dot);
4827 });
4828 _ut.test('test_parseAssignableExpression_identifier_dot', () {
4829 final __test = new SimpleParserTest();
4830 runJUnitTest(__test, __test.test_parseAssignableExpression_identifier_do t);
4831 });
4832 _ut.test('test_parseAssignableExpression_identifier_index', () {
4833 final __test = new SimpleParserTest();
4834 runJUnitTest(__test, __test.test_parseAssignableExpression_identifier_in dex);
4835 });
4836 _ut.test('test_parseAssignableExpression_super_dot', () {
4837 final __test = new SimpleParserTest();
4838 runJUnitTest(__test, __test.test_parseAssignableExpression_super_dot);
4839 });
4840 _ut.test('test_parseAssignableExpression_super_index', () {
4841 final __test = new SimpleParserTest();
4842 runJUnitTest(__test, __test.test_parseAssignableExpression_super_index);
4843 });
4844 _ut.test('test_parseAssignableSelector_dot', () {
4845 final __test = new SimpleParserTest();
4846 runJUnitTest(__test, __test.test_parseAssignableSelector_dot);
4847 });
4848 _ut.test('test_parseAssignableSelector_index', () {
4849 final __test = new SimpleParserTest();
4850 runJUnitTest(__test, __test.test_parseAssignableSelector_index);
4851 });
4852 _ut.test('test_parseAssignableSelector_none', () {
4853 final __test = new SimpleParserTest();
4854 runJUnitTest(__test, __test.test_parseAssignableSelector_none);
4855 });
4856 _ut.test('test_parseBitwiseAndExpression_normal', () {
4857 final __test = new SimpleParserTest();
4858 runJUnitTest(__test, __test.test_parseBitwiseAndExpression_normal);
4859 });
4860 _ut.test('test_parseBitwiseAndExpression_super', () {
4861 final __test = new SimpleParserTest();
4862 runJUnitTest(__test, __test.test_parseBitwiseAndExpression_super);
4863 });
4864 _ut.test('test_parseBitwiseOrExpression_normal', () {
4865 final __test = new SimpleParserTest();
4866 runJUnitTest(__test, __test.test_parseBitwiseOrExpression_normal);
4867 });
4868 _ut.test('test_parseBitwiseOrExpression_super', () {
4869 final __test = new SimpleParserTest();
4870 runJUnitTest(__test, __test.test_parseBitwiseOrExpression_super);
4871 });
4872 _ut.test('test_parseBitwiseXorExpression_normal', () {
4873 final __test = new SimpleParserTest();
4874 runJUnitTest(__test, __test.test_parseBitwiseXorExpression_normal);
4875 });
4876 _ut.test('test_parseBitwiseXorExpression_super', () {
4877 final __test = new SimpleParserTest();
4878 runJUnitTest(__test, __test.test_parseBitwiseXorExpression_super);
4879 });
4880 _ut.test('test_parseBlock_empty', () {
4881 final __test = new SimpleParserTest();
4882 runJUnitTest(__test, __test.test_parseBlock_empty);
4883 });
4884 _ut.test('test_parseBlock_nonEmpty', () {
4885 final __test = new SimpleParserTest();
4886 runJUnitTest(__test, __test.test_parseBlock_nonEmpty);
4887 });
4888 _ut.test('test_parseBreakStatement_label', () {
4889 final __test = new SimpleParserTest();
4890 runJUnitTest(__test, __test.test_parseBreakStatement_label);
4891 });
4892 _ut.test('test_parseBreakStatement_noLabel', () {
4893 final __test = new SimpleParserTest();
4894 runJUnitTest(__test, __test.test_parseBreakStatement_noLabel);
4895 });
4896 _ut.test('test_parseCascadeSection_i', () {
4897 final __test = new SimpleParserTest();
4898 runJUnitTest(__test, __test.test_parseCascadeSection_i);
4899 });
4900 _ut.test('test_parseCascadeSection_ia', () {
4901 final __test = new SimpleParserTest();
4902 runJUnitTest(__test, __test.test_parseCascadeSection_ia);
4903 });
4904 _ut.test('test_parseCascadeSection_p', () {
4905 final __test = new SimpleParserTest();
4906 runJUnitTest(__test, __test.test_parseCascadeSection_p);
4907 });
4908 _ut.test('test_parseCascadeSection_p_assign', () {
4909 final __test = new SimpleParserTest();
4910 runJUnitTest(__test, __test.test_parseCascadeSection_p_assign);
4911 });
4912 _ut.test('test_parseCascadeSection_p_builtIn', () {
4913 final __test = new SimpleParserTest();
4914 runJUnitTest(__test, __test.test_parseCascadeSection_p_builtIn);
4915 });
4916 _ut.test('test_parseCascadeSection_pa', () {
4917 final __test = new SimpleParserTest();
4918 runJUnitTest(__test, __test.test_parseCascadeSection_pa);
4919 });
4920 _ut.test('test_parseCascadeSection_paa', () {
4921 final __test = new SimpleParserTest();
4922 runJUnitTest(__test, __test.test_parseCascadeSection_paa);
4923 });
4924 _ut.test('test_parseCascadeSection_paapaa', () {
4925 final __test = new SimpleParserTest();
4926 runJUnitTest(__test, __test.test_parseCascadeSection_paapaa);
4927 });
4928 _ut.test('test_parseCascadeSection_pap', () {
4929 final __test = new SimpleParserTest();
4930 runJUnitTest(__test, __test.test_parseCascadeSection_pap);
4931 });
4932 _ut.test('test_parseClassDeclaration_abstract', () {
4933 final __test = new SimpleParserTest();
4934 runJUnitTest(__test, __test.test_parseClassDeclaration_abstract);
4935 });
4936 _ut.test('test_parseClassDeclaration_empty', () {
4937 final __test = new SimpleParserTest();
4938 runJUnitTest(__test, __test.test_parseClassDeclaration_empty);
4939 });
4940 _ut.test('test_parseClassDeclaration_extends', () {
4941 final __test = new SimpleParserTest();
4942 runJUnitTest(__test, __test.test_parseClassDeclaration_extends);
4943 });
4944 _ut.test('test_parseClassDeclaration_extendsAndImplements', () {
4945 final __test = new SimpleParserTest();
4946 runJUnitTest(__test, __test.test_parseClassDeclaration_extendsAndImpleme nts);
4947 });
4948 _ut.test('test_parseClassDeclaration_extendsAndWith', () {
4949 final __test = new SimpleParserTest();
4950 runJUnitTest(__test, __test.test_parseClassDeclaration_extendsAndWith);
4951 });
4952 _ut.test('test_parseClassDeclaration_extendsAndWithAndImplements', () {
4953 final __test = new SimpleParserTest();
4954 runJUnitTest(__test, __test.test_parseClassDeclaration_extendsAndWithAnd Implements);
4955 });
4956 _ut.test('test_parseClassDeclaration_implements', () {
4957 final __test = new SimpleParserTest();
4958 runJUnitTest(__test, __test.test_parseClassDeclaration_implements);
4959 });
4960 _ut.test('test_parseClassDeclaration_nonEmpty', () {
4961 final __test = new SimpleParserTest();
4962 runJUnitTest(__test, __test.test_parseClassDeclaration_nonEmpty);
4963 });
4964 _ut.test('test_parseClassDeclaration_typeParameters', () {
4965 final __test = new SimpleParserTest();
4966 runJUnitTest(__test, __test.test_parseClassDeclaration_typeParameters);
4967 });
4968 _ut.test('test_parseClassMember_constructor_withInitializers', () {
4969 final __test = new SimpleParserTest();
4970 runJUnitTest(__test, __test.test_parseClassMember_constructor_withInitia lizers);
4971 });
4972 _ut.test('test_parseClassMember_field_instance_prefixedType', () {
4973 final __test = new SimpleParserTest();
4974 runJUnitTest(__test, __test.test_parseClassMember_field_instance_prefixe dType);
4975 });
4976 _ut.test('test_parseClassMember_field_namedGet', () {
4977 final __test = new SimpleParserTest();
4978 runJUnitTest(__test, __test.test_parseClassMember_field_namedGet);
4979 });
4980 _ut.test('test_parseClassMember_field_namedOperator', () {
4981 final __test = new SimpleParserTest();
4982 runJUnitTest(__test, __test.test_parseClassMember_field_namedOperator);
4983 });
4984 _ut.test('test_parseClassMember_field_namedSet', () {
4985 final __test = new SimpleParserTest();
4986 runJUnitTest(__test, __test.test_parseClassMember_field_namedSet);
4987 });
4988 _ut.test('test_parseClassMember_getter_void', () {
4989 final __test = new SimpleParserTest();
4990 runJUnitTest(__test, __test.test_parseClassMember_getter_void);
4991 });
4992 _ut.test('test_parseClassMember_method_external', () {
4993 final __test = new SimpleParserTest();
4994 runJUnitTest(__test, __test.test_parseClassMember_method_external);
4995 });
4996 _ut.test('test_parseClassMember_method_external_withTypeAndArgs', () {
4997 final __test = new SimpleParserTest();
4998 runJUnitTest(__test, __test.test_parseClassMember_method_external_withTy peAndArgs);
4999 });
5000 _ut.test('test_parseClassMember_method_get_noType', () {
5001 final __test = new SimpleParserTest();
5002 runJUnitTest(__test, __test.test_parseClassMember_method_get_noType);
5003 });
5004 _ut.test('test_parseClassMember_method_get_type', () {
5005 final __test = new SimpleParserTest();
5006 runJUnitTest(__test, __test.test_parseClassMember_method_get_type);
5007 });
5008 _ut.test('test_parseClassMember_method_get_void', () {
5009 final __test = new SimpleParserTest();
5010 runJUnitTest(__test, __test.test_parseClassMember_method_get_void);
5011 });
5012 _ut.test('test_parseClassMember_method_operator_noType', () {
5013 final __test = new SimpleParserTest();
5014 runJUnitTest(__test, __test.test_parseClassMember_method_operator_noType );
5015 });
5016 _ut.test('test_parseClassMember_method_operator_type', () {
5017 final __test = new SimpleParserTest();
5018 runJUnitTest(__test, __test.test_parseClassMember_method_operator_type);
5019 });
5020 _ut.test('test_parseClassMember_method_operator_void', () {
5021 final __test = new SimpleParserTest();
5022 runJUnitTest(__test, __test.test_parseClassMember_method_operator_void);
5023 });
5024 _ut.test('test_parseClassMember_method_returnType_parameterized', () {
5025 final __test = new SimpleParserTest();
5026 runJUnitTest(__test, __test.test_parseClassMember_method_returnType_para meterized);
5027 });
5028 _ut.test('test_parseClassMember_method_set_noType', () {
5029 final __test = new SimpleParserTest();
5030 runJUnitTest(__test, __test.test_parseClassMember_method_set_noType);
5031 });
5032 _ut.test('test_parseClassMember_method_set_type', () {
5033 final __test = new SimpleParserTest();
5034 runJUnitTest(__test, __test.test_parseClassMember_method_set_type);
5035 });
5036 _ut.test('test_parseClassMember_method_set_void', () {
5037 final __test = new SimpleParserTest();
5038 runJUnitTest(__test, __test.test_parseClassMember_method_set_void);
5039 });
5040 _ut.test('test_parseClassMember_operator_index', () {
5041 final __test = new SimpleParserTest();
5042 runJUnitTest(__test, __test.test_parseClassMember_operator_index);
5043 });
5044 _ut.test('test_parseClassMember_operator_indexAssign', () {
5045 final __test = new SimpleParserTest();
5046 runJUnitTest(__test, __test.test_parseClassMember_operator_indexAssign);
5047 });
5048 _ut.test('test_parseClassMember_redirectingFactory_const', () {
5049 final __test = new SimpleParserTest();
5050 runJUnitTest(__test, __test.test_parseClassMember_redirectingFactory_con st);
5051 });
5052 _ut.test('test_parseClassMember_redirectingFactory_nonConst', () {
5053 final __test = new SimpleParserTest();
5054 runJUnitTest(__test, __test.test_parseClassMember_redirectingFactory_non Const);
5055 });
5056 _ut.test('test_parseCombinators_h', () {
5057 final __test = new SimpleParserTest();
5058 runJUnitTest(__test, __test.test_parseCombinators_h);
5059 });
5060 _ut.test('test_parseCombinators_hs', () {
5061 final __test = new SimpleParserTest();
5062 runJUnitTest(__test, __test.test_parseCombinators_hs);
5063 });
5064 _ut.test('test_parseCombinators_hshs', () {
5065 final __test = new SimpleParserTest();
5066 runJUnitTest(__test, __test.test_parseCombinators_hshs);
5067 });
5068 _ut.test('test_parseCombinators_s', () {
5069 final __test = new SimpleParserTest();
5070 runJUnitTest(__test, __test.test_parseCombinators_s);
5071 });
5072 _ut.test('test_parseCommentAndMetadata_c', () {
5073 final __test = new SimpleParserTest();
5074 runJUnitTest(__test, __test.test_parseCommentAndMetadata_c);
5075 });
5076 _ut.test('test_parseCommentAndMetadata_cmc', () {
5077 final __test = new SimpleParserTest();
5078 runJUnitTest(__test, __test.test_parseCommentAndMetadata_cmc);
5079 });
5080 _ut.test('test_parseCommentAndMetadata_cmcm', () {
5081 final __test = new SimpleParserTest();
5082 runJUnitTest(__test, __test.test_parseCommentAndMetadata_cmcm);
5083 });
5084 _ut.test('test_parseCommentAndMetadata_cmm', () {
5085 final __test = new SimpleParserTest();
5086 runJUnitTest(__test, __test.test_parseCommentAndMetadata_cmm);
5087 });
5088 _ut.test('test_parseCommentAndMetadata_m', () {
5089 final __test = new SimpleParserTest();
5090 runJUnitTest(__test, __test.test_parseCommentAndMetadata_m);
5091 });
5092 _ut.test('test_parseCommentAndMetadata_mcm', () {
5093 final __test = new SimpleParserTest();
5094 runJUnitTest(__test, __test.test_parseCommentAndMetadata_mcm);
5095 });
5096 _ut.test('test_parseCommentAndMetadata_mcmc', () {
5097 final __test = new SimpleParserTest();
5098 runJUnitTest(__test, __test.test_parseCommentAndMetadata_mcmc);
5099 });
5100 _ut.test('test_parseCommentAndMetadata_mm', () {
5101 final __test = new SimpleParserTest();
5102 runJUnitTest(__test, __test.test_parseCommentAndMetadata_mm);
5103 });
5104 _ut.test('test_parseCommentAndMetadata_none', () {
5105 final __test = new SimpleParserTest();
5106 runJUnitTest(__test, __test.test_parseCommentAndMetadata_none);
5107 });
5108 _ut.test('test_parseCommentReference_new_prefixed', () {
5109 final __test = new SimpleParserTest();
5110 runJUnitTest(__test, __test.test_parseCommentReference_new_prefixed);
5111 });
5112 _ut.test('test_parseCommentReference_new_simple', () {
5113 final __test = new SimpleParserTest();
5114 runJUnitTest(__test, __test.test_parseCommentReference_new_simple);
5115 });
5116 _ut.test('test_parseCommentReference_prefixed', () {
5117 final __test = new SimpleParserTest();
5118 runJUnitTest(__test, __test.test_parseCommentReference_prefixed);
5119 });
5120 _ut.test('test_parseCommentReference_simple', () {
5121 final __test = new SimpleParserTest();
5122 runJUnitTest(__test, __test.test_parseCommentReference_simple);
5123 });
5124 _ut.test('test_parseCommentReferences_multiLine', () {
5125 final __test = new SimpleParserTest();
5126 runJUnitTest(__test, __test.test_parseCommentReferences_multiLine);
5127 });
5128 _ut.test('test_parseCommentReferences_singleLine', () {
5129 final __test = new SimpleParserTest();
5130 runJUnitTest(__test, __test.test_parseCommentReferences_singleLine);
5131 });
5132 _ut.test('test_parseCompilationUnitMember_class', () {
5133 final __test = new SimpleParserTest();
5134 runJUnitTest(__test, __test.test_parseCompilationUnitMember_class);
5135 });
5136 _ut.test('test_parseCompilationUnitMember_constVariable', () {
5137 final __test = new SimpleParserTest();
5138 runJUnitTest(__test, __test.test_parseCompilationUnitMember_constVariabl e);
5139 });
5140 _ut.test('test_parseCompilationUnitMember_finalVariable', () {
5141 final __test = new SimpleParserTest();
5142 runJUnitTest(__test, __test.test_parseCompilationUnitMember_finalVariabl e);
5143 });
5144 _ut.test('test_parseCompilationUnitMember_function_external_noType', () {
5145 final __test = new SimpleParserTest();
5146 runJUnitTest(__test, __test.test_parseCompilationUnitMember_function_ext ernal_noType);
5147 });
5148 _ut.test('test_parseCompilationUnitMember_function_external_type', () {
5149 final __test = new SimpleParserTest();
5150 runJUnitTest(__test, __test.test_parseCompilationUnitMember_function_ext ernal_type);
5151 });
5152 _ut.test('test_parseCompilationUnitMember_function_noType', () {
5153 final __test = new SimpleParserTest();
5154 runJUnitTest(__test, __test.test_parseCompilationUnitMember_function_noT ype);
5155 });
5156 _ut.test('test_parseCompilationUnitMember_function_type', () {
5157 final __test = new SimpleParserTest();
5158 runJUnitTest(__test, __test.test_parseCompilationUnitMember_function_typ e);
5159 });
5160 _ut.test('test_parseCompilationUnitMember_getter_external_noType', () {
5161 final __test = new SimpleParserTest();
5162 runJUnitTest(__test, __test.test_parseCompilationUnitMember_getter_exter nal_noType);
5163 });
5164 _ut.test('test_parseCompilationUnitMember_getter_external_type', () {
5165 final __test = new SimpleParserTest();
5166 runJUnitTest(__test, __test.test_parseCompilationUnitMember_getter_exter nal_type);
5167 });
5168 _ut.test('test_parseCompilationUnitMember_getter_noType', () {
5169 final __test = new SimpleParserTest();
5170 runJUnitTest(__test, __test.test_parseCompilationUnitMember_getter_noTyp e);
5171 });
5172 _ut.test('test_parseCompilationUnitMember_getter_type', () {
5173 final __test = new SimpleParserTest();
5174 runJUnitTest(__test, __test.test_parseCompilationUnitMember_getter_type) ;
5175 });
5176 _ut.test('test_parseCompilationUnitMember_setter_external_noType', () {
5177 final __test = new SimpleParserTest();
5178 runJUnitTest(__test, __test.test_parseCompilationUnitMember_setter_exter nal_noType);
5179 });
5180 _ut.test('test_parseCompilationUnitMember_setter_external_type', () {
5181 final __test = new SimpleParserTest();
5182 runJUnitTest(__test, __test.test_parseCompilationUnitMember_setter_exter nal_type);
5183 });
5184 _ut.test('test_parseCompilationUnitMember_setter_noType', () {
5185 final __test = new SimpleParserTest();
5186 runJUnitTest(__test, __test.test_parseCompilationUnitMember_setter_noTyp e);
5187 });
5188 _ut.test('test_parseCompilationUnitMember_setter_type', () {
5189 final __test = new SimpleParserTest();
5190 runJUnitTest(__test, __test.test_parseCompilationUnitMember_setter_type) ;
5191 });
5192 _ut.test('test_parseCompilationUnitMember_typedef_class_abstract', () {
5193 final __test = new SimpleParserTest();
5194 runJUnitTest(__test, __test.test_parseCompilationUnitMember_typedef_clas s_abstract);
5195 });
5196 _ut.test('test_parseCompilationUnitMember_typedef_class_generic', () {
5197 final __test = new SimpleParserTest();
5198 runJUnitTest(__test, __test.test_parseCompilationUnitMember_typedef_clas s_generic);
5199 });
5200 _ut.test('test_parseCompilationUnitMember_typedef_class_implements', () {
5201 final __test = new SimpleParserTest();
5202 runJUnitTest(__test, __test.test_parseCompilationUnitMember_typedef_clas s_implements);
5203 });
5204 _ut.test('test_parseCompilationUnitMember_typedef_class_noImplements', () {
5205 final __test = new SimpleParserTest();
5206 runJUnitTest(__test, __test.test_parseCompilationUnitMember_typedef_clas s_noImplements);
5207 });
5208 _ut.test('test_parseCompilationUnitMember_typedef_function', () {
5209 final __test = new SimpleParserTest();
5210 runJUnitTest(__test, __test.test_parseCompilationUnitMember_typedef_func tion);
5211 });
5212 _ut.test('test_parseCompilationUnitMember_variable', () {
5213 final __test = new SimpleParserTest();
5214 runJUnitTest(__test, __test.test_parseCompilationUnitMember_variable);
5215 });
5216 _ut.test('test_parseCompilationUnit_directives_multiple', () {
5217 final __test = new SimpleParserTest();
5218 runJUnitTest(__test, __test.test_parseCompilationUnit_directives_multipl e);
5219 });
5220 _ut.test('test_parseCompilationUnit_directives_single', () {
5221 final __test = new SimpleParserTest();
5222 runJUnitTest(__test, __test.test_parseCompilationUnit_directives_single) ;
5223 });
5224 _ut.test('test_parseCompilationUnit_empty', () {
5225 final __test = new SimpleParserTest();
5226 runJUnitTest(__test, __test.test_parseCompilationUnit_empty);
5227 });
5228 _ut.test('test_parseCompilationUnit_script', () {
5229 final __test = new SimpleParserTest();
5230 runJUnitTest(__test, __test.test_parseCompilationUnit_script);
5231 });
5232 _ut.test('test_parseCompilationUnit_topLevelDeclaration', () {
5233 final __test = new SimpleParserTest();
5234 runJUnitTest(__test, __test.test_parseCompilationUnit_topLevelDeclaratio n);
5235 });
5236 _ut.test('test_parseConditionalExpression', () {
5237 final __test = new SimpleParserTest();
5238 runJUnitTest(__test, __test.test_parseConditionalExpression);
5239 });
5240 _ut.test('test_parseConstExpression_instanceCreation', () {
5241 final __test = new SimpleParserTest();
5242 runJUnitTest(__test, __test.test_parseConstExpression_instanceCreation);
5243 });
5244 _ut.test('test_parseConstExpression_listLiteral_typed', () {
5245 final __test = new SimpleParserTest();
5246 runJUnitTest(__test, __test.test_parseConstExpression_listLiteral_typed) ;
5247 });
5248 _ut.test('test_parseConstExpression_listLiteral_untyped', () {
5249 final __test = new SimpleParserTest();
5250 runJUnitTest(__test, __test.test_parseConstExpression_listLiteral_untype d);
5251 });
5252 _ut.test('test_parseConstExpression_mapLiteral_typed', () {
5253 final __test = new SimpleParserTest();
5254 runJUnitTest(__test, __test.test_parseConstExpression_mapLiteral_typed);
5255 });
5256 _ut.test('test_parseConstExpression_mapLiteral_untyped', () {
5257 final __test = new SimpleParserTest();
5258 runJUnitTest(__test, __test.test_parseConstExpression_mapLiteral_untyped );
5259 });
5260 _ut.test('test_parseConstructor', () {
5261 final __test = new SimpleParserTest();
5262 runJUnitTest(__test, __test.test_parseConstructor);
5263 });
5264 _ut.test('test_parseConstructorFieldInitializer_qualified', () {
5265 final __test = new SimpleParserTest();
5266 runJUnitTest(__test, __test.test_parseConstructorFieldInitializer_qualif ied);
5267 });
5268 _ut.test('test_parseConstructorFieldInitializer_unqualified', () {
5269 final __test = new SimpleParserTest();
5270 runJUnitTest(__test, __test.test_parseConstructorFieldInitializer_unqual ified);
5271 });
5272 _ut.test('test_parseConstructorName_named_noPrefix', () {
5273 final __test = new SimpleParserTest();
5274 runJUnitTest(__test, __test.test_parseConstructorName_named_noPrefix);
5275 });
5276 _ut.test('test_parseConstructorName_named_prefixed', () {
5277 final __test = new SimpleParserTest();
5278 runJUnitTest(__test, __test.test_parseConstructorName_named_prefixed);
5279 });
5280 _ut.test('test_parseConstructorName_unnamed_noPrefix', () {
5281 final __test = new SimpleParserTest();
5282 runJUnitTest(__test, __test.test_parseConstructorName_unnamed_noPrefix);
5283 });
5284 _ut.test('test_parseConstructorName_unnamed_prefixed', () {
5285 final __test = new SimpleParserTest();
5286 runJUnitTest(__test, __test.test_parseConstructorName_unnamed_prefixed);
5287 });
5288 _ut.test('test_parseContinueStatement_label', () {
5289 final __test = new SimpleParserTest();
5290 runJUnitTest(__test, __test.test_parseContinueStatement_label);
5291 });
5292 _ut.test('test_parseContinueStatement_noLabel', () {
5293 final __test = new SimpleParserTest();
5294 runJUnitTest(__test, __test.test_parseContinueStatement_noLabel);
5295 });
5296 _ut.test('test_parseDirective_export', () {
5297 final __test = new SimpleParserTest();
5298 runJUnitTest(__test, __test.test_parseDirective_export);
5299 });
5300 _ut.test('test_parseDirective_import', () {
5301 final __test = new SimpleParserTest();
5302 runJUnitTest(__test, __test.test_parseDirective_import);
5303 });
5304 _ut.test('test_parseDirective_library', () {
5305 final __test = new SimpleParserTest();
5306 runJUnitTest(__test, __test.test_parseDirective_library);
5307 });
5308 _ut.test('test_parseDirective_part', () {
5309 final __test = new SimpleParserTest();
5310 runJUnitTest(__test, __test.test_parseDirective_part);
5311 });
5312 _ut.test('test_parseDirective_partOf', () {
5313 final __test = new SimpleParserTest();
5314 runJUnitTest(__test, __test.test_parseDirective_partOf);
5315 });
5316 _ut.test('test_parseDoStatement', () {
5317 final __test = new SimpleParserTest();
5318 runJUnitTest(__test, __test.test_parseDoStatement);
5319 });
5320 _ut.test('test_parseDocumentationComment_block', () {
5321 final __test = new SimpleParserTest();
5322 runJUnitTest(__test, __test.test_parseDocumentationComment_block);
5323 });
5324 _ut.test('test_parseDocumentationComment_block_withReference', () {
5325 final __test = new SimpleParserTest();
5326 runJUnitTest(__test, __test.test_parseDocumentationComment_block_withRef erence);
5327 });
5328 _ut.test('test_parseDocumentationComment_endOfLine', () {
5329 final __test = new SimpleParserTest();
5330 runJUnitTest(__test, __test.test_parseDocumentationComment_endOfLine);
5331 });
5332 _ut.test('test_parseEmptyStatement', () {
5333 final __test = new SimpleParserTest();
5334 runJUnitTest(__test, __test.test_parseEmptyStatement);
5335 });
5336 _ut.test('test_parseEqualityExpression_normal', () {
5337 final __test = new SimpleParserTest();
5338 runJUnitTest(__test, __test.test_parseEqualityExpression_normal);
5339 });
5340 _ut.test('test_parseEqualityExpression_super', () {
5341 final __test = new SimpleParserTest();
5342 runJUnitTest(__test, __test.test_parseEqualityExpression_super);
5343 });
5344 _ut.test('test_parseExportDirective_hide', () {
5345 final __test = new SimpleParserTest();
5346 runJUnitTest(__test, __test.test_parseExportDirective_hide);
5347 });
5348 _ut.test('test_parseExportDirective_hide_show', () {
5349 final __test = new SimpleParserTest();
5350 runJUnitTest(__test, __test.test_parseExportDirective_hide_show);
5351 });
5352 _ut.test('test_parseExportDirective_noCombinator', () {
5353 final __test = new SimpleParserTest();
5354 runJUnitTest(__test, __test.test_parseExportDirective_noCombinator);
5355 });
5356 _ut.test('test_parseExportDirective_show', () {
5357 final __test = new SimpleParserTest();
5358 runJUnitTest(__test, __test.test_parseExportDirective_show);
5359 });
5360 _ut.test('test_parseExportDirective_show_hide', () {
5361 final __test = new SimpleParserTest();
5362 runJUnitTest(__test, __test.test_parseExportDirective_show_hide);
5363 });
5364 _ut.test('test_parseExpressionList_multiple', () {
5365 final __test = new SimpleParserTest();
5366 runJUnitTest(__test, __test.test_parseExpressionList_multiple);
5367 });
5368 _ut.test('test_parseExpressionList_single', () {
5369 final __test = new SimpleParserTest();
5370 runJUnitTest(__test, __test.test_parseExpressionList_single);
5371 });
5372 _ut.test('test_parseExpressionWithoutCascade_assign', () {
5373 final __test = new SimpleParserTest();
5374 runJUnitTest(__test, __test.test_parseExpressionWithoutCascade_assign);
5375 });
5376 _ut.test('test_parseExpressionWithoutCascade_comparison', () {
5377 final __test = new SimpleParserTest();
5378 runJUnitTest(__test, __test.test_parseExpressionWithoutCascade_compariso n);
5379 });
5380 _ut.test('test_parseExpressionWithoutCascade_superMethodInvocation', () {
5381 final __test = new SimpleParserTest();
5382 runJUnitTest(__test, __test.test_parseExpressionWithoutCascade_superMeth odInvocation);
5383 });
5384 _ut.test('test_parseExpression_assign', () {
5385 final __test = new SimpleParserTest();
5386 runJUnitTest(__test, __test.test_parseExpression_assign);
5387 });
5388 _ut.test('test_parseExpression_comparison', () {
5389 final __test = new SimpleParserTest();
5390 runJUnitTest(__test, __test.test_parseExpression_comparison);
5391 });
5392 _ut.test('test_parseExpression_invokeFunctionExpression', () {
5393 final __test = new SimpleParserTest();
5394 runJUnitTest(__test, __test.test_parseExpression_invokeFunctionExpressio n);
5395 });
5396 _ut.test('test_parseExpression_superMethodInvocation', () {
5397 final __test = new SimpleParserTest();
5398 runJUnitTest(__test, __test.test_parseExpression_superMethodInvocation);
5399 });
5400 _ut.test('test_parseExtendsClause', () {
5401 final __test = new SimpleParserTest();
5402 runJUnitTest(__test, __test.test_parseExtendsClause);
5403 });
5404 _ut.test('test_parseFinalConstVarOrType_const_noType', () {
5405 final __test = new SimpleParserTest();
5406 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_const_noType);
5407 });
5408 _ut.test('test_parseFinalConstVarOrType_const_type', () {
5409 final __test = new SimpleParserTest();
5410 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_const_type);
5411 });
5412 _ut.test('test_parseFinalConstVarOrType_final_noType', () {
5413 final __test = new SimpleParserTest();
5414 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_final_noType);
5415 });
5416 _ut.test('test_parseFinalConstVarOrType_final_type', () {
5417 final __test = new SimpleParserTest();
5418 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_final_type);
5419 });
5420 _ut.test('test_parseFinalConstVarOrType_type_parameterized', () {
5421 final __test = new SimpleParserTest();
5422 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_type_parameter ized);
5423 });
5424 _ut.test('test_parseFinalConstVarOrType_type_prefixed', () {
5425 final __test = new SimpleParserTest();
5426 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_type_prefixed) ;
5427 });
5428 _ut.test('test_parseFinalConstVarOrType_type_prefixedAndParameterized', () {
5429 final __test = new SimpleParserTest();
5430 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_type_prefixedA ndParameterized);
5431 });
5432 _ut.test('test_parseFinalConstVarOrType_type_simple', () {
5433 final __test = new SimpleParserTest();
5434 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_type_simple);
5435 });
5436 _ut.test('test_parseFinalConstVarOrType_var', () {
5437 final __test = new SimpleParserTest();
5438 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_var);
5439 });
5440 _ut.test('test_parseForStatement_each_identifier', () {
5441 final __test = new SimpleParserTest();
5442 runJUnitTest(__test, __test.test_parseForStatement_each_identifier);
5443 });
5444 _ut.test('test_parseForStatement_each_noType', () {
5445 final __test = new SimpleParserTest();
5446 runJUnitTest(__test, __test.test_parseForStatement_each_noType);
5447 });
5448 _ut.test('test_parseForStatement_each_type', () {
5449 final __test = new SimpleParserTest();
5450 runJUnitTest(__test, __test.test_parseForStatement_each_type);
5451 });
5452 _ut.test('test_parseForStatement_each_var', () {
5453 final __test = new SimpleParserTest();
5454 runJUnitTest(__test, __test.test_parseForStatement_each_var);
5455 });
5456 _ut.test('test_parseForStatement_loop_c', () {
5457 final __test = new SimpleParserTest();
5458 runJUnitTest(__test, __test.test_parseForStatement_loop_c);
5459 });
5460 _ut.test('test_parseForStatement_loop_cu', () {
5461 final __test = new SimpleParserTest();
5462 runJUnitTest(__test, __test.test_parseForStatement_loop_cu);
5463 });
5464 _ut.test('test_parseForStatement_loop_ecu', () {
5465 final __test = new SimpleParserTest();
5466 runJUnitTest(__test, __test.test_parseForStatement_loop_ecu);
5467 });
5468 _ut.test('test_parseForStatement_loop_i', () {
5469 final __test = new SimpleParserTest();
5470 runJUnitTest(__test, __test.test_parseForStatement_loop_i);
5471 });
5472 _ut.test('test_parseForStatement_loop_ic', () {
5473 final __test = new SimpleParserTest();
5474 runJUnitTest(__test, __test.test_parseForStatement_loop_ic);
5475 });
5476 _ut.test('test_parseForStatement_loop_icu', () {
5477 final __test = new SimpleParserTest();
5478 runJUnitTest(__test, __test.test_parseForStatement_loop_icu);
5479 });
5480 _ut.test('test_parseForStatement_loop_iicuu', () {
5481 final __test = new SimpleParserTest();
5482 runJUnitTest(__test, __test.test_parseForStatement_loop_iicuu);
5483 });
5484 _ut.test('test_parseForStatement_loop_iu', () {
5485 final __test = new SimpleParserTest();
5486 runJUnitTest(__test, __test.test_parseForStatement_loop_iu);
5487 });
5488 _ut.test('test_parseForStatement_loop_u', () {
5489 final __test = new SimpleParserTest();
5490 runJUnitTest(__test, __test.test_parseForStatement_loop_u);
5491 });
5492 _ut.test('test_parseFormalParameterList_empty', () {
5493 final __test = new SimpleParserTest();
5494 runJUnitTest(__test, __test.test_parseFormalParameterList_empty);
5495 });
5496 _ut.test('test_parseFormalParameterList_named_multiple', () {
5497 final __test = new SimpleParserTest();
5498 runJUnitTest(__test, __test.test_parseFormalParameterList_named_multiple );
5499 });
5500 _ut.test('test_parseFormalParameterList_named_single', () {
5501 final __test = new SimpleParserTest();
5502 runJUnitTest(__test, __test.test_parseFormalParameterList_named_single);
5503 });
5504 _ut.test('test_parseFormalParameterList_normal_multiple', () {
5505 final __test = new SimpleParserTest();
5506 runJUnitTest(__test, __test.test_parseFormalParameterList_normal_multipl e);
5507 });
5508 _ut.test('test_parseFormalParameterList_normal_named', () {
5509 final __test = new SimpleParserTest();
5510 runJUnitTest(__test, __test.test_parseFormalParameterList_normal_named);
5511 });
5512 _ut.test('test_parseFormalParameterList_normal_positional', () {
5513 final __test = new SimpleParserTest();
5514 runJUnitTest(__test, __test.test_parseFormalParameterList_normal_positio nal);
5515 });
5516 _ut.test('test_parseFormalParameterList_normal_single', () {
5517 final __test = new SimpleParserTest();
5518 runJUnitTest(__test, __test.test_parseFormalParameterList_normal_single) ;
5519 });
5520 _ut.test('test_parseFormalParameterList_positional_multiple', () {
5521 final __test = new SimpleParserTest();
5522 runJUnitTest(__test, __test.test_parseFormalParameterList_positional_mul tiple);
5523 });
5524 _ut.test('test_parseFormalParameterList_positional_single', () {
5525 final __test = new SimpleParserTest();
5526 runJUnitTest(__test, __test.test_parseFormalParameterList_positional_sin gle);
5527 });
5528 _ut.test('test_parseFormalParameter_final_withType_named', () {
5529 final __test = new SimpleParserTest();
5530 runJUnitTest(__test, __test.test_parseFormalParameter_final_withType_nam ed);
5531 });
5532 _ut.test('test_parseFormalParameter_final_withType_normal', () {
5533 final __test = new SimpleParserTest();
5534 runJUnitTest(__test, __test.test_parseFormalParameter_final_withType_nor mal);
5535 });
5536 _ut.test('test_parseFormalParameter_final_withType_positional', () {
5537 final __test = new SimpleParserTest();
5538 runJUnitTest(__test, __test.test_parseFormalParameter_final_withType_pos itional);
5539 });
5540 _ut.test('test_parseFormalParameter_nonFinal_withType_named', () {
5541 final __test = new SimpleParserTest();
5542 runJUnitTest(__test, __test.test_parseFormalParameter_nonFinal_withType_ named);
5543 });
5544 _ut.test('test_parseFormalParameter_nonFinal_withType_normal', () {
5545 final __test = new SimpleParserTest();
5546 runJUnitTest(__test, __test.test_parseFormalParameter_nonFinal_withType_ normal);
5547 });
5548 _ut.test('test_parseFormalParameter_nonFinal_withType_positional', () {
5549 final __test = new SimpleParserTest();
5550 runJUnitTest(__test, __test.test_parseFormalParameter_nonFinal_withType_ positional);
5551 });
5552 _ut.test('test_parseFormalParameter_var', () {
5553 final __test = new SimpleParserTest();
5554 runJUnitTest(__test, __test.test_parseFormalParameter_var);
5555 });
5556 _ut.test('test_parseFormalParameter_var_named', () {
5557 final __test = new SimpleParserTest();
5558 runJUnitTest(__test, __test.test_parseFormalParameter_var_named);
5559 });
5560 _ut.test('test_parseFormalParameter_var_positional', () {
5561 final __test = new SimpleParserTest();
5562 runJUnitTest(__test, __test.test_parseFormalParameter_var_positional);
5563 });
5564 _ut.test('test_parseFunctionBody_block', () {
5565 final __test = new SimpleParserTest();
5566 runJUnitTest(__test, __test.test_parseFunctionBody_block);
5567 });
5568 _ut.test('test_parseFunctionBody_empty', () {
5569 final __test = new SimpleParserTest();
5570 runJUnitTest(__test, __test.test_parseFunctionBody_empty);
5571 });
5572 _ut.test('test_parseFunctionBody_expression', () {
5573 final __test = new SimpleParserTest();
5574 runJUnitTest(__test, __test.test_parseFunctionBody_expression);
5575 });
5576 _ut.test('test_parseFunctionDeclarationStatement', () {
5577 final __test = new SimpleParserTest();
5578 runJUnitTest(__test, __test.test_parseFunctionDeclarationStatement);
5579 });
5580 _ut.test('test_parseFunctionDeclaration_function', () {
5581 final __test = new SimpleParserTest();
5582 runJUnitTest(__test, __test.test_parseFunctionDeclaration_function);
5583 });
5584 _ut.test('test_parseFunctionDeclaration_function_inStatement', () {
5585 final __test = new SimpleParserTest();
5586 runJUnitTest(__test, __test.test_parseFunctionDeclaration_function_inSta tement);
5587 });
5588 _ut.test('test_parseFunctionDeclaration_getter', () {
5589 final __test = new SimpleParserTest();
5590 runJUnitTest(__test, __test.test_parseFunctionDeclaration_getter);
5591 });
5592 _ut.test('test_parseFunctionDeclaration_setter', () {
5593 final __test = new SimpleParserTest();
5594 runJUnitTest(__test, __test.test_parseFunctionDeclaration_setter);
5595 });
5596 _ut.test('test_parseFunctionExpression_body_inExpression', () {
5597 final __test = new SimpleParserTest();
5598 runJUnitTest(__test, __test.test_parseFunctionExpression_body_inExpressi on);
5599 });
5600 _ut.test('test_parseFunctionExpression_minimal', () {
5601 final __test = new SimpleParserTest();
5602 runJUnitTest(__test, __test.test_parseFunctionExpression_minimal);
5603 });
5604 _ut.test('test_parseGetter_nonStatic', () {
5605 final __test = new SimpleParserTest();
5606 runJUnitTest(__test, __test.test_parseGetter_nonStatic);
5607 });
5608 _ut.test('test_parseGetter_static', () {
5609 final __test = new SimpleParserTest();
5610 runJUnitTest(__test, __test.test_parseGetter_static);
5611 });
5612 _ut.test('test_parseIdentifierList_multiple', () {
5613 final __test = new SimpleParserTest();
5614 runJUnitTest(__test, __test.test_parseIdentifierList_multiple);
5615 });
5616 _ut.test('test_parseIdentifierList_single', () {
5617 final __test = new SimpleParserTest();
5618 runJUnitTest(__test, __test.test_parseIdentifierList_single);
5619 });
5620 _ut.test('test_parseIfStatement_else_block', () {
5621 final __test = new SimpleParserTest();
5622 runJUnitTest(__test, __test.test_parseIfStatement_else_block);
5623 });
5624 _ut.test('test_parseIfStatement_else_statement', () {
5625 final __test = new SimpleParserTest();
5626 runJUnitTest(__test, __test.test_parseIfStatement_else_statement);
5627 });
5628 _ut.test('test_parseIfStatement_noElse_block', () {
5629 final __test = new SimpleParserTest();
5630 runJUnitTest(__test, __test.test_parseIfStatement_noElse_block);
5631 });
5632 _ut.test('test_parseIfStatement_noElse_statement', () {
5633 final __test = new SimpleParserTest();
5634 runJUnitTest(__test, __test.test_parseIfStatement_noElse_statement);
5635 });
5636 _ut.test('test_parseImplementsClause_multiple', () {
5637 final __test = new SimpleParserTest();
5638 runJUnitTest(__test, __test.test_parseImplementsClause_multiple);
5639 });
5640 _ut.test('test_parseImplementsClause_single', () {
5641 final __test = new SimpleParserTest();
5642 runJUnitTest(__test, __test.test_parseImplementsClause_single);
5643 });
5644 _ut.test('test_parseImportDirective_hide', () {
5645 final __test = new SimpleParserTest();
5646 runJUnitTest(__test, __test.test_parseImportDirective_hide);
5647 });
5648 _ut.test('test_parseImportDirective_noCombinator', () {
5649 final __test = new SimpleParserTest();
5650 runJUnitTest(__test, __test.test_parseImportDirective_noCombinator);
5651 });
5652 _ut.test('test_parseImportDirective_prefix', () {
5653 final __test = new SimpleParserTest();
5654 runJUnitTest(__test, __test.test_parseImportDirective_prefix);
5655 });
5656 _ut.test('test_parseImportDirective_prefix_hide_show', () {
5657 final __test = new SimpleParserTest();
5658 runJUnitTest(__test, __test.test_parseImportDirective_prefix_hide_show);
5659 });
5660 _ut.test('test_parseImportDirective_prefix_show_hide', () {
5661 final __test = new SimpleParserTest();
5662 runJUnitTest(__test, __test.test_parseImportDirective_prefix_show_hide);
5663 });
5664 _ut.test('test_parseImportDirective_show', () {
5665 final __test = new SimpleParserTest();
5666 runJUnitTest(__test, __test.test_parseImportDirective_show);
5667 });
5668 _ut.test('test_parseInitializedIdentifierList_type', () {
5669 final __test = new SimpleParserTest();
5670 runJUnitTest(__test, __test.test_parseInitializedIdentifierList_type);
5671 });
5672 _ut.test('test_parseInitializedIdentifierList_var', () {
5673 final __test = new SimpleParserTest();
5674 runJUnitTest(__test, __test.test_parseInitializedIdentifierList_var);
5675 });
5676 _ut.test('test_parseInstanceCreationExpression_qualifiedType', () {
5677 final __test = new SimpleParserTest();
5678 runJUnitTest(__test, __test.test_parseInstanceCreationExpression_qualifi edType);
5679 });
5680 _ut.test('test_parseInstanceCreationExpression_qualifiedType_named', () {
5681 final __test = new SimpleParserTest();
5682 runJUnitTest(__test, __test.test_parseInstanceCreationExpression_qualifi edType_named);
5683 });
5684 _ut.test('test_parseInstanceCreationExpression_type', () {
5685 final __test = new SimpleParserTest();
5686 runJUnitTest(__test, __test.test_parseInstanceCreationExpression_type);
5687 });
5688 _ut.test('test_parseInstanceCreationExpression_type_named', () {
5689 final __test = new SimpleParserTest();
5690 runJUnitTest(__test, __test.test_parseInstanceCreationExpression_type_na med);
5691 });
5692 _ut.test('test_parseLibraryDirective', () {
5693 final __test = new SimpleParserTest();
5694 runJUnitTest(__test, __test.test_parseLibraryDirective);
5695 });
5696 _ut.test('test_parseLibraryIdentifier_multiple', () {
5697 final __test = new SimpleParserTest();
5698 runJUnitTest(__test, __test.test_parseLibraryIdentifier_multiple);
5699 });
5700 _ut.test('test_parseLibraryIdentifier_single', () {
5701 final __test = new SimpleParserTest();
5702 runJUnitTest(__test, __test.test_parseLibraryIdentifier_single);
5703 });
5704 _ut.test('test_parseListLiteral_empty_oneToken', () {
5705 final __test = new SimpleParserTest();
5706 runJUnitTest(__test, __test.test_parseListLiteral_empty_oneToken);
5707 });
5708 _ut.test('test_parseListLiteral_empty_twoTokens', () {
5709 final __test = new SimpleParserTest();
5710 runJUnitTest(__test, __test.test_parseListLiteral_empty_twoTokens);
5711 });
5712 _ut.test('test_parseListLiteral_multiple', () {
5713 final __test = new SimpleParserTest();
5714 runJUnitTest(__test, __test.test_parseListLiteral_multiple);
5715 });
5716 _ut.test('test_parseListLiteral_single', () {
5717 final __test = new SimpleParserTest();
5718 runJUnitTest(__test, __test.test_parseListLiteral_single);
5719 });
5720 _ut.test('test_parseListOrMapLiteral_list_noType', () {
5721 final __test = new SimpleParserTest();
5722 runJUnitTest(__test, __test.test_parseListOrMapLiteral_list_noType);
5723 });
5724 _ut.test('test_parseListOrMapLiteral_list_type', () {
5725 final __test = new SimpleParserTest();
5726 runJUnitTest(__test, __test.test_parseListOrMapLiteral_list_type);
5727 });
5728 _ut.test('test_parseListOrMapLiteral_map_noType', () {
5729 final __test = new SimpleParserTest();
5730 runJUnitTest(__test, __test.test_parseListOrMapLiteral_map_noType);
5731 });
5732 _ut.test('test_parseListOrMapLiteral_map_type', () {
5733 final __test = new SimpleParserTest();
5734 runJUnitTest(__test, __test.test_parseListOrMapLiteral_map_type);
5735 });
5736 _ut.test('test_parseLogicalAndExpression', () {
5737 final __test = new SimpleParserTest();
5738 runJUnitTest(__test, __test.test_parseLogicalAndExpression);
5739 });
5740 _ut.test('test_parseLogicalOrExpression', () {
5741 final __test = new SimpleParserTest();
5742 runJUnitTest(__test, __test.test_parseLogicalOrExpression);
5743 });
5744 _ut.test('test_parseMapLiteralEntry', () {
5745 final __test = new SimpleParserTest();
5746 runJUnitTest(__test, __test.test_parseMapLiteralEntry);
5747 });
5748 _ut.test('test_parseMapLiteral_empty', () {
5749 final __test = new SimpleParserTest();
5750 runJUnitTest(__test, __test.test_parseMapLiteral_empty);
5751 });
5752 _ut.test('test_parseMapLiteral_multiple', () {
5753 final __test = new SimpleParserTest();
5754 runJUnitTest(__test, __test.test_parseMapLiteral_multiple);
5755 });
5756 _ut.test('test_parseMapLiteral_single', () {
5757 final __test = new SimpleParserTest();
5758 runJUnitTest(__test, __test.test_parseMapLiteral_single);
5759 });
5760 _ut.test('test_parseModifiers_abstract', () {
5761 final __test = new SimpleParserTest();
5762 runJUnitTest(__test, __test.test_parseModifiers_abstract);
5763 });
5764 _ut.test('test_parseModifiers_const', () {
5765 final __test = new SimpleParserTest();
5766 runJUnitTest(__test, __test.test_parseModifiers_const);
5767 });
5768 _ut.test('test_parseModifiers_external', () {
5769 final __test = new SimpleParserTest();
5770 runJUnitTest(__test, __test.test_parseModifiers_external);
5771 });
5772 _ut.test('test_parseModifiers_factory', () {
5773 final __test = new SimpleParserTest();
5774 runJUnitTest(__test, __test.test_parseModifiers_factory);
5775 });
5776 _ut.test('test_parseModifiers_final', () {
5777 final __test = new SimpleParserTest();
5778 runJUnitTest(__test, __test.test_parseModifiers_final);
5779 });
5780 _ut.test('test_parseModifiers_static', () {
5781 final __test = new SimpleParserTest();
5782 runJUnitTest(__test, __test.test_parseModifiers_static);
5783 });
5784 _ut.test('test_parseModifiers_var', () {
5785 final __test = new SimpleParserTest();
5786 runJUnitTest(__test, __test.test_parseModifiers_var);
5787 });
5788 _ut.test('test_parseMultiplicativeExpression_normal', () {
5789 final __test = new SimpleParserTest();
5790 runJUnitTest(__test, __test.test_parseMultiplicativeExpression_normal);
5791 });
5792 _ut.test('test_parseMultiplicativeExpression_super', () {
5793 final __test = new SimpleParserTest();
5794 runJUnitTest(__test, __test.test_parseMultiplicativeExpression_super);
5795 });
5796 _ut.test('test_parseNewExpression', () {
5797 final __test = new SimpleParserTest();
5798 runJUnitTest(__test, __test.test_parseNewExpression);
5799 });
5800 _ut.test('test_parseNonLabeledStatement_const_list_empty', () {
5801 final __test = new SimpleParserTest();
5802 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_list_emp ty);
5803 });
5804 _ut.test('test_parseNonLabeledStatement_const_list_nonEmpty', () {
5805 final __test = new SimpleParserTest();
5806 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_list_non Empty);
5807 });
5808 _ut.test('test_parseNonLabeledStatement_const_map_empty', () {
5809 final __test = new SimpleParserTest();
5810 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_map_empt y);
5811 });
5812 _ut.test('test_parseNonLabeledStatement_const_map_nonEmpty', () {
5813 final __test = new SimpleParserTest();
5814 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_map_nonE mpty);
5815 });
5816 _ut.test('test_parseNonLabeledStatement_const_object', () {
5817 final __test = new SimpleParserTest();
5818 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_object);
5819 });
5820 _ut.test('test_parseNonLabeledStatement_const_object_named_typeParameters' , () {
5821 final __test = new SimpleParserTest();
5822 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_object_n amed_typeParameters);
5823 });
5824 _ut.test('test_parseNonLabeledStatement_constructorInvocation', () {
5825 final __test = new SimpleParserTest();
5826 runJUnitTest(__test, __test.test_parseNonLabeledStatement_constructorInv ocation);
5827 });
5828 _ut.test('test_parseNonLabeledStatement_false', () {
5829 final __test = new SimpleParserTest();
5830 runJUnitTest(__test, __test.test_parseNonLabeledStatement_false);
5831 });
5832 _ut.test('test_parseNonLabeledStatement_functionDeclaration', () {
5833 final __test = new SimpleParserTest();
5834 runJUnitTest(__test, __test.test_parseNonLabeledStatement_functionDeclar ation);
5835 });
5836 _ut.test('test_parseNonLabeledStatement_functionDeclaration_arguments', () {
5837 final __test = new SimpleParserTest();
5838 runJUnitTest(__test, __test.test_parseNonLabeledStatement_functionDeclar ation_arguments);
5839 });
5840 _ut.test('test_parseNonLabeledStatement_functionExpressionIndex', () {
5841 final __test = new SimpleParserTest();
5842 runJUnitTest(__test, __test.test_parseNonLabeledStatement_functionExpres sionIndex);
5843 });
5844 _ut.test('test_parseNonLabeledStatement_functionInvocation', () {
5845 final __test = new SimpleParserTest();
5846 runJUnitTest(__test, __test.test_parseNonLabeledStatement_functionInvoca tion);
5847 });
5848 _ut.test('test_parseNonLabeledStatement_invokeFunctionExpression', () {
5849 final __test = new SimpleParserTest();
5850 runJUnitTest(__test, __test.test_parseNonLabeledStatement_invokeFunction Expression);
5851 });
5852 _ut.test('test_parseNonLabeledStatement_null', () {
5853 final __test = new SimpleParserTest();
5854 runJUnitTest(__test, __test.test_parseNonLabeledStatement_null);
5855 });
5856 _ut.test('test_parseNonLabeledStatement_startingWithBuiltInIdentifier', () {
5857 final __test = new SimpleParserTest();
5858 runJUnitTest(__test, __test.test_parseNonLabeledStatement_startingWithBu iltInIdentifier);
5859 });
5860 _ut.test('test_parseNonLabeledStatement_true', () {
5861 final __test = new SimpleParserTest();
5862 runJUnitTest(__test, __test.test_parseNonLabeledStatement_true);
5863 });
5864 _ut.test('test_parseNonLabeledStatement_typeCast', () {
5865 final __test = new SimpleParserTest();
5866 runJUnitTest(__test, __test.test_parseNonLabeledStatement_typeCast);
5867 });
5868 _ut.test('test_parseNormalFormalParameter_field_const_noType', () {
5869 final __test = new SimpleParserTest();
5870 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_const_ noType);
5871 });
5872 _ut.test('test_parseNormalFormalParameter_field_const_type', () {
5873 final __test = new SimpleParserTest();
5874 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_const_ type);
5875 });
5876 _ut.test('test_parseNormalFormalParameter_field_final_noType', () {
5877 final __test = new SimpleParserTest();
5878 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_final_ noType);
5879 });
5880 _ut.test('test_parseNormalFormalParameter_field_final_type', () {
5881 final __test = new SimpleParserTest();
5882 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_final_ type);
5883 });
5884 _ut.test('test_parseNormalFormalParameter_field_noType', () {
5885 final __test = new SimpleParserTest();
5886 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_noType );
5887 });
5888 _ut.test('test_parseNormalFormalParameter_field_type', () {
5889 final __test = new SimpleParserTest();
5890 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_type);
5891 });
5892 _ut.test('test_parseNormalFormalParameter_field_var', () {
5893 final __test = new SimpleParserTest();
5894 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_var);
5895 });
5896 _ut.test('test_parseNormalFormalParameter_function_noType', () {
5897 final __test = new SimpleParserTest();
5898 runJUnitTest(__test, __test.test_parseNormalFormalParameter_function_noT ype);
5899 });
5900 _ut.test('test_parseNormalFormalParameter_function_type', () {
5901 final __test = new SimpleParserTest();
5902 runJUnitTest(__test, __test.test_parseNormalFormalParameter_function_typ e);
5903 });
5904 _ut.test('test_parseNormalFormalParameter_function_void', () {
5905 final __test = new SimpleParserTest();
5906 runJUnitTest(__test, __test.test_parseNormalFormalParameter_function_voi d);
5907 });
5908 _ut.test('test_parseNormalFormalParameter_simple_const_noType', () {
5909 final __test = new SimpleParserTest();
5910 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_const _noType);
5911 });
5912 _ut.test('test_parseNormalFormalParameter_simple_const_type', () {
5913 final __test = new SimpleParserTest();
5914 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_const _type);
5915 });
5916 _ut.test('test_parseNormalFormalParameter_simple_final_noType', () {
5917 final __test = new SimpleParserTest();
5918 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_final _noType);
5919 });
5920 _ut.test('test_parseNormalFormalParameter_simple_final_type', () {
5921 final __test = new SimpleParserTest();
5922 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_final _type);
5923 });
5924 _ut.test('test_parseNormalFormalParameter_simple_noType', () {
5925 final __test = new SimpleParserTest();
5926 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_noTyp e);
5927 });
5928 _ut.test('test_parseNormalFormalParameter_simple_type', () {
5929 final __test = new SimpleParserTest();
5930 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_type) ;
5931 });
5932 _ut.test('test_parseOperator', () {
5933 final __test = new SimpleParserTest();
5934 runJUnitTest(__test, __test.test_parseOperator);
5935 });
5936 _ut.test('test_parseOptionalReturnType', () {
5937 final __test = new SimpleParserTest();
5938 runJUnitTest(__test, __test.test_parseOptionalReturnType);
5939 });
5940 _ut.test('test_parsePartDirective_part', () {
5941 final __test = new SimpleParserTest();
5942 runJUnitTest(__test, __test.test_parsePartDirective_part);
5943 });
5944 _ut.test('test_parsePartDirective_partOf', () {
5945 final __test = new SimpleParserTest();
5946 runJUnitTest(__test, __test.test_parsePartDirective_partOf);
5947 });
5948 _ut.test('test_parsePostfixExpression_decrement', () {
5949 final __test = new SimpleParserTest();
5950 runJUnitTest(__test, __test.test_parsePostfixExpression_decrement);
5951 });
5952 _ut.test('test_parsePostfixExpression_increment', () {
5953 final __test = new SimpleParserTest();
5954 runJUnitTest(__test, __test.test_parsePostfixExpression_increment);
5955 });
5956 _ut.test('test_parsePostfixExpression_none_indexExpression', () {
5957 final __test = new SimpleParserTest();
5958 runJUnitTest(__test, __test.test_parsePostfixExpression_none_indexExpres sion);
5959 });
5960 _ut.test('test_parsePostfixExpression_none_methodInvocation', () {
5961 final __test = new SimpleParserTest();
5962 runJUnitTest(__test, __test.test_parsePostfixExpression_none_methodInvoc ation);
5963 });
5964 _ut.test('test_parsePostfixExpression_none_propertyAccess', () {
5965 final __test = new SimpleParserTest();
5966 runJUnitTest(__test, __test.test_parsePostfixExpression_none_propertyAcc ess);
5967 });
5968 _ut.test('test_parsePrefixedIdentifier_noPrefix', () {
5969 final __test = new SimpleParserTest();
5970 runJUnitTest(__test, __test.test_parsePrefixedIdentifier_noPrefix);
5971 });
5972 _ut.test('test_parsePrefixedIdentifier_prefix', () {
5973 final __test = new SimpleParserTest();
5974 runJUnitTest(__test, __test.test_parsePrefixedIdentifier_prefix);
5975 });
5976 _ut.test('test_parsePrimaryExpression_argumentDefinitionTest', () {
5977 final __test = new SimpleParserTest();
5978 runJUnitTest(__test, __test.test_parsePrimaryExpression_argumentDefiniti onTest);
5979 });
5980 _ut.test('test_parsePrimaryExpression_const', () {
5981 final __test = new SimpleParserTest();
5982 runJUnitTest(__test, __test.test_parsePrimaryExpression_const);
5983 });
5984 _ut.test('test_parsePrimaryExpression_double', () {
5985 final __test = new SimpleParserTest();
5986 runJUnitTest(__test, __test.test_parsePrimaryExpression_double);
5987 });
5988 _ut.test('test_parsePrimaryExpression_false', () {
5989 final __test = new SimpleParserTest();
5990 runJUnitTest(__test, __test.test_parsePrimaryExpression_false);
5991 });
5992 _ut.test('test_parsePrimaryExpression_function_arguments', () {
5993 final __test = new SimpleParserTest();
5994 runJUnitTest(__test, __test.test_parsePrimaryExpression_function_argumen ts);
5995 });
5996 _ut.test('test_parsePrimaryExpression_function_noArguments', () {
5997 final __test = new SimpleParserTest();
5998 runJUnitTest(__test, __test.test_parsePrimaryExpression_function_noArgum ents);
5999 });
6000 _ut.test('test_parsePrimaryExpression_hex', () {
6001 final __test = new SimpleParserTest();
6002 runJUnitTest(__test, __test.test_parsePrimaryExpression_hex);
6003 });
6004 _ut.test('test_parsePrimaryExpression_identifier', () {
6005 final __test = new SimpleParserTest();
6006 runJUnitTest(__test, __test.test_parsePrimaryExpression_identifier);
6007 });
6008 _ut.test('test_parsePrimaryExpression_int', () {
6009 final __test = new SimpleParserTest();
6010 runJUnitTest(__test, __test.test_parsePrimaryExpression_int);
6011 });
6012 _ut.test('test_parsePrimaryExpression_listLiteral', () {
6013 final __test = new SimpleParserTest();
6014 runJUnitTest(__test, __test.test_parsePrimaryExpression_listLiteral);
6015 });
6016 _ut.test('test_parsePrimaryExpression_listLiteral_index', () {
6017 final __test = new SimpleParserTest();
6018 runJUnitTest(__test, __test.test_parsePrimaryExpression_listLiteral_inde x);
6019 });
6020 _ut.test('test_parsePrimaryExpression_listLiteral_typed', () {
6021 final __test = new SimpleParserTest();
6022 runJUnitTest(__test, __test.test_parsePrimaryExpression_listLiteral_type d);
6023 });
6024 _ut.test('test_parsePrimaryExpression_mapLiteral', () {
6025 final __test = new SimpleParserTest();
6026 runJUnitTest(__test, __test.test_parsePrimaryExpression_mapLiteral);
6027 });
6028 _ut.test('test_parsePrimaryExpression_mapLiteral_typed', () {
6029 final __test = new SimpleParserTest();
6030 runJUnitTest(__test, __test.test_parsePrimaryExpression_mapLiteral_typed );
6031 });
6032 _ut.test('test_parsePrimaryExpression_new', () {
6033 final __test = new SimpleParserTest();
6034 runJUnitTest(__test, __test.test_parsePrimaryExpression_new);
6035 });
6036 _ut.test('test_parsePrimaryExpression_null', () {
6037 final __test = new SimpleParserTest();
6038 runJUnitTest(__test, __test.test_parsePrimaryExpression_null);
6039 });
6040 _ut.test('test_parsePrimaryExpression_parenthesized', () {
6041 final __test = new SimpleParserTest();
6042 runJUnitTest(__test, __test.test_parsePrimaryExpression_parenthesized);
6043 });
6044 _ut.test('test_parsePrimaryExpression_string', () {
6045 final __test = new SimpleParserTest();
6046 runJUnitTest(__test, __test.test_parsePrimaryExpression_string);
6047 });
6048 _ut.test('test_parsePrimaryExpression_super', () {
6049 final __test = new SimpleParserTest();
6050 runJUnitTest(__test, __test.test_parsePrimaryExpression_super);
6051 });
6052 _ut.test('test_parsePrimaryExpression_this', () {
6053 final __test = new SimpleParserTest();
6054 runJUnitTest(__test, __test.test_parsePrimaryExpression_this);
6055 });
6056 _ut.test('test_parsePrimaryExpression_true', () {
6057 final __test = new SimpleParserTest();
6058 runJUnitTest(__test, __test.test_parsePrimaryExpression_true);
6059 });
6060 _ut.test('test_parseRedirectingConstructorInvocation_named', () {
6061 final __test = new SimpleParserTest();
6062 runJUnitTest(__test, __test.test_parseRedirectingConstructorInvocation_n amed);
6063 });
6064 _ut.test('test_parseRedirectingConstructorInvocation_unnamed', () {
6065 final __test = new SimpleParserTest();
6066 runJUnitTest(__test, __test.test_parseRedirectingConstructorInvocation_u nnamed);
6067 });
6068 _ut.test('test_parseRelationalExpression_as', () {
6069 final __test = new SimpleParserTest();
6070 runJUnitTest(__test, __test.test_parseRelationalExpression_as);
6071 });
6072 _ut.test('test_parseRelationalExpression_is', () {
6073 final __test = new SimpleParserTest();
6074 runJUnitTest(__test, __test.test_parseRelationalExpression_is);
6075 });
6076 _ut.test('test_parseRelationalExpression_isNot', () {
6077 final __test = new SimpleParserTest();
6078 runJUnitTest(__test, __test.test_parseRelationalExpression_isNot);
6079 });
6080 _ut.test('test_parseRelationalExpression_normal', () {
6081 final __test = new SimpleParserTest();
6082 runJUnitTest(__test, __test.test_parseRelationalExpression_normal);
6083 });
6084 _ut.test('test_parseRelationalExpression_super', () {
6085 final __test = new SimpleParserTest();
6086 runJUnitTest(__test, __test.test_parseRelationalExpression_super);
6087 });
6088 _ut.test('test_parseReturnStatement_noValue', () {
6089 final __test = new SimpleParserTest();
6090 runJUnitTest(__test, __test.test_parseReturnStatement_noValue);
6091 });
6092 _ut.test('test_parseReturnStatement_value', () {
6093 final __test = new SimpleParserTest();
6094 runJUnitTest(__test, __test.test_parseReturnStatement_value);
6095 });
6096 _ut.test('test_parseReturnType_nonVoid', () {
6097 final __test = new SimpleParserTest();
6098 runJUnitTest(__test, __test.test_parseReturnType_nonVoid);
6099 });
6100 _ut.test('test_parseReturnType_void', () {
6101 final __test = new SimpleParserTest();
6102 runJUnitTest(__test, __test.test_parseReturnType_void);
6103 });
6104 _ut.test('test_parseSetter_nonStatic', () {
6105 final __test = new SimpleParserTest();
6106 runJUnitTest(__test, __test.test_parseSetter_nonStatic);
6107 });
6108 _ut.test('test_parseSetter_static', () {
6109 final __test = new SimpleParserTest();
6110 runJUnitTest(__test, __test.test_parseSetter_static);
6111 });
6112 _ut.test('test_parseShiftExpression_normal', () {
6113 final __test = new SimpleParserTest();
6114 runJUnitTest(__test, __test.test_parseShiftExpression_normal);
6115 });
6116 _ut.test('test_parseShiftExpression_super', () {
6117 final __test = new SimpleParserTest();
6118 runJUnitTest(__test, __test.test_parseShiftExpression_super);
6119 });
6120 _ut.test('test_parseSimpleIdentifier1_normalIdentifier', () {
6121 final __test = new SimpleParserTest();
6122 runJUnitTest(__test, __test.test_parseSimpleIdentifier1_normalIdentifier );
6123 });
6124 _ut.test('test_parseSimpleIdentifier_builtInIdentifier', () {
6125 final __test = new SimpleParserTest();
6126 runJUnitTest(__test, __test.test_parseSimpleIdentifier_builtInIdentifier );
6127 });
6128 _ut.test('test_parseSimpleIdentifier_normalIdentifier', () {
6129 final __test = new SimpleParserTest();
6130 runJUnitTest(__test, __test.test_parseSimpleIdentifier_normalIdentifier) ;
6131 });
6132 _ut.test('test_parseStatement_functionDeclaration', () {
6133 final __test = new SimpleParserTest();
6134 runJUnitTest(__test, __test.test_parseStatement_functionDeclaration);
6135 });
6136 _ut.test('test_parseStatement_mulipleLabels', () {
6137 final __test = new SimpleParserTest();
6138 runJUnitTest(__test, __test.test_parseStatement_mulipleLabels);
6139 });
6140 _ut.test('test_parseStatement_noLabels', () {
6141 final __test = new SimpleParserTest();
6142 runJUnitTest(__test, __test.test_parseStatement_noLabels);
6143 });
6144 _ut.test('test_parseStatement_singleLabel', () {
6145 final __test = new SimpleParserTest();
6146 runJUnitTest(__test, __test.test_parseStatement_singleLabel);
6147 });
6148 _ut.test('test_parseStatements_multiple', () {
6149 final __test = new SimpleParserTest();
6150 runJUnitTest(__test, __test.test_parseStatements_multiple);
6151 });
6152 _ut.test('test_parseStatements_single', () {
6153 final __test = new SimpleParserTest();
6154 runJUnitTest(__test, __test.test_parseStatements_single);
6155 });
6156 _ut.test('test_parseStringLiteral_adjacent', () {
6157 final __test = new SimpleParserTest();
6158 runJUnitTest(__test, __test.test_parseStringLiteral_adjacent);
6159 });
6160 _ut.test('test_parseStringLiteral_interpolated', () {
6161 final __test = new SimpleParserTest();
6162 runJUnitTest(__test, __test.test_parseStringLiteral_interpolated);
6163 });
6164 _ut.test('test_parseStringLiteral_single', () {
6165 final __test = new SimpleParserTest();
6166 runJUnitTest(__test, __test.test_parseStringLiteral_single);
6167 });
6168 _ut.test('test_parseSuperConstructorInvocation_named', () {
6169 final __test = new SimpleParserTest();
6170 runJUnitTest(__test, __test.test_parseSuperConstructorInvocation_named);
6171 });
6172 _ut.test('test_parseSuperConstructorInvocation_unnamed', () {
6173 final __test = new SimpleParserTest();
6174 runJUnitTest(__test, __test.test_parseSuperConstructorInvocation_unnamed );
6175 });
6176 _ut.test('test_parseSwitchStatement_case', () {
6177 final __test = new SimpleParserTest();
6178 runJUnitTest(__test, __test.test_parseSwitchStatement_case);
6179 });
6180 _ut.test('test_parseSwitchStatement_empty', () {
6181 final __test = new SimpleParserTest();
6182 runJUnitTest(__test, __test.test_parseSwitchStatement_empty);
6183 });
6184 _ut.test('test_parseSwitchStatement_labeledCase', () {
6185 final __test = new SimpleParserTest();
6186 runJUnitTest(__test, __test.test_parseSwitchStatement_labeledCase);
6187 });
6188 _ut.test('test_parseSwitchStatement_labeledStatementInCase', () {
6189 final __test = new SimpleParserTest();
6190 runJUnitTest(__test, __test.test_parseSwitchStatement_labeledStatementIn Case);
6191 });
6192 _ut.test('test_parseThrowExpressionWithoutCascade_expression', () {
6193 final __test = new SimpleParserTest();
6194 runJUnitTest(__test, __test.test_parseThrowExpressionWithoutCascade_expr ession);
6195 });
6196 _ut.test('test_parseThrowExpressionWithoutCascade_noExpression', () {
6197 final __test = new SimpleParserTest();
6198 runJUnitTest(__test, __test.test_parseThrowExpressionWithoutCascade_noEx pression);
6199 });
6200 _ut.test('test_parseThrowExpression_expression', () {
6201 final __test = new SimpleParserTest();
6202 runJUnitTest(__test, __test.test_parseThrowExpression_expression);
6203 });
6204 _ut.test('test_parseThrowExpression_noExpression', () {
6205 final __test = new SimpleParserTest();
6206 runJUnitTest(__test, __test.test_parseThrowExpression_noExpression);
6207 });
6208 _ut.test('test_parseTryStatement_catch', () {
6209 final __test = new SimpleParserTest();
6210 runJUnitTest(__test, __test.test_parseTryStatement_catch);
6211 });
6212 _ut.test('test_parseTryStatement_catch_finally', () {
6213 final __test = new SimpleParserTest();
6214 runJUnitTest(__test, __test.test_parseTryStatement_catch_finally);
6215 });
6216 _ut.test('test_parseTryStatement_finally', () {
6217 final __test = new SimpleParserTest();
6218 runJUnitTest(__test, __test.test_parseTryStatement_finally);
6219 });
6220 _ut.test('test_parseTryStatement_multiple', () {
6221 final __test = new SimpleParserTest();
6222 runJUnitTest(__test, __test.test_parseTryStatement_multiple);
6223 });
6224 _ut.test('test_parseTryStatement_on', () {
6225 final __test = new SimpleParserTest();
6226 runJUnitTest(__test, __test.test_parseTryStatement_on);
6227 });
6228 _ut.test('test_parseTryStatement_on_catch', () {
6229 final __test = new SimpleParserTest();
6230 runJUnitTest(__test, __test.test_parseTryStatement_on_catch);
6231 });
6232 _ut.test('test_parseTryStatement_on_catch_finally', () {
6233 final __test = new SimpleParserTest();
6234 runJUnitTest(__test, __test.test_parseTryStatement_on_catch_finally);
6235 });
6236 _ut.test('test_parseTypeAlias_noParameters', () {
6237 final __test = new SimpleParserTest();
6238 runJUnitTest(__test, __test.test_parseTypeAlias_noParameters);
6239 });
6240 _ut.test('test_parseTypeAlias_noReturnType', () {
6241 final __test = new SimpleParserTest();
6242 runJUnitTest(__test, __test.test_parseTypeAlias_noReturnType);
6243 });
6244 _ut.test('test_parseTypeAlias_parameterizedReturnType', () {
6245 final __test = new SimpleParserTest();
6246 runJUnitTest(__test, __test.test_parseTypeAlias_parameterizedReturnType) ;
6247 });
6248 _ut.test('test_parseTypeAlias_parameters', () {
6249 final __test = new SimpleParserTest();
6250 runJUnitTest(__test, __test.test_parseTypeAlias_parameters);
6251 });
6252 _ut.test('test_parseTypeAlias_typeParameters', () {
6253 final __test = new SimpleParserTest();
6254 runJUnitTest(__test, __test.test_parseTypeAlias_typeParameters);
6255 });
6256 _ut.test('test_parseTypeAlias_voidReturnType', () {
6257 final __test = new SimpleParserTest();
6258 runJUnitTest(__test, __test.test_parseTypeAlias_voidReturnType);
6259 });
6260 _ut.test('test_parseTypeArgumentList_multiple', () {
6261 final __test = new SimpleParserTest();
6262 runJUnitTest(__test, __test.test_parseTypeArgumentList_multiple);
6263 });
6264 _ut.test('test_parseTypeArgumentList_nested', () {
6265 final __test = new SimpleParserTest();
6266 runJUnitTest(__test, __test.test_parseTypeArgumentList_nested);
6267 });
6268 _ut.test('test_parseTypeArgumentList_single', () {
6269 final __test = new SimpleParserTest();
6270 runJUnitTest(__test, __test.test_parseTypeArgumentList_single);
6271 });
6272 _ut.test('test_parseTypeName_parameterized', () {
6273 final __test = new SimpleParserTest();
6274 runJUnitTest(__test, __test.test_parseTypeName_parameterized);
6275 });
6276 _ut.test('test_parseTypeName_simple', () {
6277 final __test = new SimpleParserTest();
6278 runJUnitTest(__test, __test.test_parseTypeName_simple);
6279 });
6280 _ut.test('test_parseTypeParameterList_multiple', () {
6281 final __test = new SimpleParserTest();
6282 runJUnitTest(__test, __test.test_parseTypeParameterList_multiple);
6283 });
6284 _ut.test('test_parseTypeParameterList_parameterizedWithTrailingEquals', () {
6285 final __test = new SimpleParserTest();
6286 runJUnitTest(__test, __test.test_parseTypeParameterList_parameterizedWit hTrailingEquals);
6287 });
6288 _ut.test('test_parseTypeParameterList_single', () {
6289 final __test = new SimpleParserTest();
6290 runJUnitTest(__test, __test.test_parseTypeParameterList_single);
6291 });
6292 _ut.test('test_parseTypeParameterList_withTrailingEquals', () {
6293 final __test = new SimpleParserTest();
6294 runJUnitTest(__test, __test.test_parseTypeParameterList_withTrailingEqua ls);
6295 });
6296 _ut.test('test_parseTypeParameter_bounded', () {
6297 final __test = new SimpleParserTest();
6298 runJUnitTest(__test, __test.test_parseTypeParameter_bounded);
6299 });
6300 _ut.test('test_parseTypeParameter_simple', () {
6301 final __test = new SimpleParserTest();
6302 runJUnitTest(__test, __test.test_parseTypeParameter_simple);
6303 });
6304 _ut.test('test_parseUnaryExpression_decrement_normal', () {
6305 final __test = new SimpleParserTest();
6306 runJUnitTest(__test, __test.test_parseUnaryExpression_decrement_normal);
6307 });
6308 _ut.test('test_parseUnaryExpression_decrement_super', () {
6309 final __test = new SimpleParserTest();
6310 runJUnitTest(__test, __test.test_parseUnaryExpression_decrement_super);
6311 });
6312 _ut.test('test_parseUnaryExpression_increment_normal', () {
6313 final __test = new SimpleParserTest();
6314 runJUnitTest(__test, __test.test_parseUnaryExpression_increment_normal);
6315 });
6316 _ut.test('test_parseUnaryExpression_minus_normal', () {
6317 final __test = new SimpleParserTest();
6318 runJUnitTest(__test, __test.test_parseUnaryExpression_minus_normal);
6319 });
6320 _ut.test('test_parseUnaryExpression_minus_super', () {
6321 final __test = new SimpleParserTest();
6322 runJUnitTest(__test, __test.test_parseUnaryExpression_minus_super);
6323 });
6324 _ut.test('test_parseUnaryExpression_not_normal', () {
6325 final __test = new SimpleParserTest();
6326 runJUnitTest(__test, __test.test_parseUnaryExpression_not_normal);
6327 });
6328 _ut.test('test_parseUnaryExpression_not_super', () {
6329 final __test = new SimpleParserTest();
6330 runJUnitTest(__test, __test.test_parseUnaryExpression_not_super);
6331 });
6332 _ut.test('test_parseUnaryExpression_tilda_normal', () {
6333 final __test = new SimpleParserTest();
6334 runJUnitTest(__test, __test.test_parseUnaryExpression_tilda_normal);
6335 });
6336 _ut.test('test_parseUnaryExpression_tilda_super', () {
6337 final __test = new SimpleParserTest();
6338 runJUnitTest(__test, __test.test_parseUnaryExpression_tilda_super);
6339 });
6340 _ut.test('test_parseVariableDeclarationList2_type', () {
6341 final __test = new SimpleParserTest();
6342 runJUnitTest(__test, __test.test_parseVariableDeclarationList2_type);
6343 });
6344 _ut.test('test_parseVariableDeclarationList2_var', () {
6345 final __test = new SimpleParserTest();
6346 runJUnitTest(__test, __test.test_parseVariableDeclarationList2_var);
6347 });
6348 _ut.test('test_parseVariableDeclarationList_const_noType', () {
6349 final __test = new SimpleParserTest();
6350 runJUnitTest(__test, __test.test_parseVariableDeclarationList_const_noTy pe);
6351 });
6352 _ut.test('test_parseVariableDeclarationList_const_type', () {
6353 final __test = new SimpleParserTest();
6354 runJUnitTest(__test, __test.test_parseVariableDeclarationList_const_type );
6355 });
6356 _ut.test('test_parseVariableDeclarationList_final_noType', () {
6357 final __test = new SimpleParserTest();
6358 runJUnitTest(__test, __test.test_parseVariableDeclarationList_final_noTy pe);
6359 });
6360 _ut.test('test_parseVariableDeclarationList_final_type', () {
6361 final __test = new SimpleParserTest();
6362 runJUnitTest(__test, __test.test_parseVariableDeclarationList_final_type );
6363 });
6364 _ut.test('test_parseVariableDeclarationList_type_multiple', () {
6365 final __test = new SimpleParserTest();
6366 runJUnitTest(__test, __test.test_parseVariableDeclarationList_type_multi ple);
6367 });
6368 _ut.test('test_parseVariableDeclarationList_type_single', () {
6369 final __test = new SimpleParserTest();
6370 runJUnitTest(__test, __test.test_parseVariableDeclarationList_type_singl e);
6371 });
6372 _ut.test('test_parseVariableDeclarationList_var_multiple', () {
6373 final __test = new SimpleParserTest();
6374 runJUnitTest(__test, __test.test_parseVariableDeclarationList_var_multip le);
6375 });
6376 _ut.test('test_parseVariableDeclarationList_var_single', () {
6377 final __test = new SimpleParserTest();
6378 runJUnitTest(__test, __test.test_parseVariableDeclarationList_var_single );
6379 });
6380 _ut.test('test_parseVariableDeclarationStatement_multiple', () {
6381 final __test = new SimpleParserTest();
6382 runJUnitTest(__test, __test.test_parseVariableDeclarationStatement_multi ple);
6383 });
6384 _ut.test('test_parseVariableDeclarationStatement_single', () {
6385 final __test = new SimpleParserTest();
6386 runJUnitTest(__test, __test.test_parseVariableDeclarationStatement_singl e);
6387 });
6388 _ut.test('test_parseVariableDeclaration_equals', () {
6389 final __test = new SimpleParserTest();
6390 runJUnitTest(__test, __test.test_parseVariableDeclaration_equals);
6391 });
6392 _ut.test('test_parseVariableDeclaration_noEquals', () {
6393 final __test = new SimpleParserTest();
6394 runJUnitTest(__test, __test.test_parseVariableDeclaration_noEquals);
6395 });
6396 _ut.test('test_parseWhileStatement', () {
6397 final __test = new SimpleParserTest();
6398 runJUnitTest(__test, __test.test_parseWhileStatement);
6399 });
6400 _ut.test('test_parseWithClause_multiple', () {
6401 final __test = new SimpleParserTest();
6402 runJUnitTest(__test, __test.test_parseWithClause_multiple);
6403 });
6404 _ut.test('test_parseWithClause_single', () {
6405 final __test = new SimpleParserTest();
6406 runJUnitTest(__test, __test.test_parseWithClause_single);
6407 });
6408 _ut.test('test_skipPrefixedIdentifier_invalid', () {
6409 final __test = new SimpleParserTest();
6410 runJUnitTest(__test, __test.test_skipPrefixedIdentifier_invalid);
6411 });
6412 _ut.test('test_skipPrefixedIdentifier_notPrefixed', () {
6413 final __test = new SimpleParserTest();
6414 runJUnitTest(__test, __test.test_skipPrefixedIdentifier_notPrefixed);
6415 });
6416 _ut.test('test_skipPrefixedIdentifier_prefixed', () {
6417 final __test = new SimpleParserTest();
6418 runJUnitTest(__test, __test.test_skipPrefixedIdentifier_prefixed);
6419 });
6420 _ut.test('test_skipReturnType_invalid', () {
6421 final __test = new SimpleParserTest();
6422 runJUnitTest(__test, __test.test_skipReturnType_invalid);
6423 });
6424 _ut.test('test_skipReturnType_type', () {
6425 final __test = new SimpleParserTest();
6426 runJUnitTest(__test, __test.test_skipReturnType_type);
6427 });
6428 _ut.test('test_skipReturnType_void', () {
6429 final __test = new SimpleParserTest();
6430 runJUnitTest(__test, __test.test_skipReturnType_void);
6431 });
6432 _ut.test('test_skipSimpleIdentifier_identifier', () {
6433 final __test = new SimpleParserTest();
6434 runJUnitTest(__test, __test.test_skipSimpleIdentifier_identifier);
6435 });
6436 _ut.test('test_skipSimpleIdentifier_invalid', () {
6437 final __test = new SimpleParserTest();
6438 runJUnitTest(__test, __test.test_skipSimpleIdentifier_invalid);
6439 });
6440 _ut.test('test_skipSimpleIdentifier_pseudoKeyword', () {
6441 final __test = new SimpleParserTest();
6442 runJUnitTest(__test, __test.test_skipSimpleIdentifier_pseudoKeyword);
6443 });
6444 _ut.test('test_skipStringLiteral_adjacent', () {
6445 final __test = new SimpleParserTest();
6446 runJUnitTest(__test, __test.test_skipStringLiteral_adjacent);
6447 });
6448 _ut.test('test_skipStringLiteral_interpolated', () {
6449 final __test = new SimpleParserTest();
6450 runJUnitTest(__test, __test.test_skipStringLiteral_interpolated);
6451 });
6452 _ut.test('test_skipStringLiteral_invalid', () {
6453 final __test = new SimpleParserTest();
6454 runJUnitTest(__test, __test.test_skipStringLiteral_invalid);
6455 });
6456 _ut.test('test_skipStringLiteral_single', () {
6457 final __test = new SimpleParserTest();
6458 runJUnitTest(__test, __test.test_skipStringLiteral_single);
6459 });
6460 _ut.test('test_skipTypeArgumentList_invalid', () {
6461 final __test = new SimpleParserTest();
6462 runJUnitTest(__test, __test.test_skipTypeArgumentList_invalid);
6463 });
6464 _ut.test('test_skipTypeArgumentList_multiple', () {
6465 final __test = new SimpleParserTest();
6466 runJUnitTest(__test, __test.test_skipTypeArgumentList_multiple);
6467 });
6468 _ut.test('test_skipTypeArgumentList_single', () {
6469 final __test = new SimpleParserTest();
6470 runJUnitTest(__test, __test.test_skipTypeArgumentList_single);
6471 });
6472 _ut.test('test_skipTypeName_invalid', () {
6473 final __test = new SimpleParserTest();
6474 runJUnitTest(__test, __test.test_skipTypeName_invalid);
6475 });
6476 _ut.test('test_skipTypeName_parameterized', () {
6477 final __test = new SimpleParserTest();
6478 runJUnitTest(__test, __test.test_skipTypeName_parameterized);
6479 });
6480 _ut.test('test_skipTypeName_simple', () {
6481 final __test = new SimpleParserTest();
6482 runJUnitTest(__test, __test.test_skipTypeName_simple);
6483 });
6484 });
6485 }
6486 }
6487 class AnalysisErrorListener_4 implements AnalysisErrorListener {
6488 void onError(AnalysisError event) {
6489 JUnitTestCase.fail("Unexpected compilation error: ${event.message} (${event. offset}, ${event.length})");
6490 }
6491 }
6492 /**
6493 * The class {@code ComplexParserTest} defines parser tests that test the parsin g of more complex
6494 * code fragments or the interactions between multiple parsing methods. For exam ple, tests to ensure
6495 * that the precedence of operations is being handled correctly should be define d in this class.
6496 * <p>
6497 * Simpler tests should be defined in the class {@link SimpleParserTest}.
6498 */
6499 class ComplexParserTest extends ParserTestCase {
6500 void test_additiveExpression_normal() {
6501 BinaryExpression expression = ParserTestCase.parseExpression("x + y - z", [] );
6502 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6503 }
6504 void test_additiveExpression_noSpaces() {
6505 BinaryExpression expression = ParserTestCase.parseExpression("i+1", []);
6506 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftOperand);
6507 EngineTestCase.assertInstanceOf(IntegerLiteral, expression.rightOperand);
6508 }
6509 void test_additiveExpression_precedence_multiplicative_left() {
6510 BinaryExpression expression = ParserTestCase.parseExpression("x * y + z", [] );
6511 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6512 }
6513 void test_additiveExpression_precedence_multiplicative_left_withSuper() {
6514 BinaryExpression expression = ParserTestCase.parseExpression("super * y - z" , []);
6515 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6516 }
6517 void test_additiveExpression_precedence_multiplicative_right() {
6518 BinaryExpression expression = ParserTestCase.parseExpression("x + y * z", [] );
6519 EngineTestCase.assertInstanceOf(BinaryExpression, expression.rightOperand);
6520 }
6521 void test_additiveExpression_super() {
6522 BinaryExpression expression = ParserTestCase.parseExpression("super + y - z" , []);
6523 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6524 }
6525 void test_assignableExpression_arguments_normal_chain() {
6526 PropertyAccess propertyAccess1 = ParserTestCase.parseExpression("a(b)(c).d(e ).f", []);
6527 JUnitTestCase.assertEquals("f", propertyAccess1.propertyName.name);
6528 MethodInvocation invocation2 = EngineTestCase.assertInstanceOf(MethodInvocat ion, propertyAccess1.target);
6529 JUnitTestCase.assertEquals("d", invocation2.methodName.name);
6530 ArgumentList argumentList2 = invocation2.argumentList;
6531 JUnitTestCase.assertNotNull(argumentList2);
6532 EngineTestCase.assertSize(1, argumentList2.arguments);
6533 FunctionExpressionInvocation invocation3 = EngineTestCase.assertInstanceOf(F unctionExpressionInvocation, invocation2.target);
6534 ArgumentList argumentList3 = invocation3.argumentList;
6535 JUnitTestCase.assertNotNull(argumentList3);
6536 EngineTestCase.assertSize(1, argumentList3.arguments);
6537 MethodInvocation invocation4 = EngineTestCase.assertInstanceOf(MethodInvocat ion, invocation3.function);
6538 JUnitTestCase.assertEquals("a", invocation4.methodName.name);
6539 ArgumentList argumentList4 = invocation4.argumentList;
6540 JUnitTestCase.assertNotNull(argumentList4);
6541 EngineTestCase.assertSize(1, argumentList4.arguments);
6542 }
6543 void test_assignmentExpression_compound() {
6544 AssignmentExpression expression = ParserTestCase.parseExpression("x = y = 0" , []);
6545 EngineTestCase.assertInstanceOf(SimpleIdentifier, expression.leftHandSide);
6546 EngineTestCase.assertInstanceOf(AssignmentExpression, expression.rightHandSi de);
6547 }
6548 void test_assignmentExpression_indexExpression() {
6549 AssignmentExpression expression = ParserTestCase.parseExpression("x[1] = 0", []);
6550 EngineTestCase.assertInstanceOf(IndexExpression, expression.leftHandSide);
6551 EngineTestCase.assertInstanceOf(IntegerLiteral, expression.rightHandSide);
6552 }
6553 void test_assignmentExpression_prefixedIdentifier() {
6554 AssignmentExpression expression = ParserTestCase.parseExpression("x.y = 0", []);
6555 EngineTestCase.assertInstanceOf(PrefixedIdentifier, expression.leftHandSide) ;
6556 EngineTestCase.assertInstanceOf(IntegerLiteral, expression.rightHandSide);
6557 }
6558 void test_assignmentExpression_propertyAccess() {
6559 AssignmentExpression expression = ParserTestCase.parseExpression("super.y = 0", []);
6560 EngineTestCase.assertInstanceOf(PropertyAccess, expression.leftHandSide);
6561 EngineTestCase.assertInstanceOf(IntegerLiteral, expression.rightHandSide);
6562 }
6563 void test_bitwiseAndExpression_normal() {
6564 BinaryExpression expression = ParserTestCase.parseExpression("x & y & z", [] );
6565 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6566 }
6567 void test_bitwiseAndExpression_precedence_equality_left() {
6568 BinaryExpression expression = ParserTestCase.parseExpression("x == y & z", [ ]);
6569 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6570 }
6571 void test_bitwiseAndExpression_precedence_equality_right() {
6572 BinaryExpression expression = ParserTestCase.parseExpression("x & y == z", [ ]);
6573 EngineTestCase.assertInstanceOf(BinaryExpression, expression.rightOperand);
6574 }
6575 void test_bitwiseAndExpression_super() {
6576 BinaryExpression expression = ParserTestCase.parseExpression("super & y & z" , []);
6577 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6578 }
6579 void test_bitwiseOrExpression_normal() {
6580 BinaryExpression expression = ParserTestCase.parseExpression("x | y | z", [] );
6581 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6582 }
6583 void test_bitwiseOrExpression_precedence_xor_left() {
6584 BinaryExpression expression = ParserTestCase.parseExpression("x ^ y | z", [] );
6585 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6586 }
6587 void test_bitwiseOrExpression_precedence_xor_right() {
6588 BinaryExpression expression = ParserTestCase.parseExpression("x | y ^ z", [] );
6589 EngineTestCase.assertInstanceOf(BinaryExpression, expression.rightOperand);
6590 }
6591 void test_bitwiseOrExpression_super() {
6592 BinaryExpression expression = ParserTestCase.parseExpression("super | y | z" , []);
6593 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6594 }
6595 void test_bitwiseXorExpression_normal() {
6596 BinaryExpression expression = ParserTestCase.parseExpression("x ^ y ^ z", [] );
6597 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6598 }
6599 void test_bitwiseXorExpression_precedence_and_left() {
6600 BinaryExpression expression = ParserTestCase.parseExpression("x & y ^ z", [] );
6601 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6602 }
6603 void test_bitwiseXorExpression_precedence_and_right() {
6604 BinaryExpression expression = ParserTestCase.parseExpression("x ^ y & z", [] );
6605 EngineTestCase.assertInstanceOf(BinaryExpression, expression.rightOperand);
6606 }
6607 void test_bitwiseXorExpression_super() {
6608 BinaryExpression expression = ParserTestCase.parseExpression("super ^ y ^ z" , []);
6609 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6610 }
6611 void test_conditionalExpression_precedence_argumentDefinitionTest_not() {
6612 ConditionalExpression conditional = ParserTestCase.parseExpression("!?a?!?b: !?c", []);
6613 EngineTestCase.assertInstanceOf(PrefixExpression, conditional.condition);
6614 EngineTestCase.assertInstanceOf(ArgumentDefinitionTest, (conditional.conditi on as PrefixExpression).operand);
6615 EngineTestCase.assertInstanceOf(PrefixExpression, conditional.thenExpression );
6616 EngineTestCase.assertInstanceOf(ArgumentDefinitionTest, (conditional.thenExp ression as PrefixExpression).operand);
6617 EngineTestCase.assertInstanceOf(PrefixExpression, conditional.elseExpression );
6618 EngineTestCase.assertInstanceOf(ArgumentDefinitionTest, (conditional.elseExp ression as PrefixExpression).operand);
6619 }
6620 void test_conditionalExpression_precedence_logicalOrExpression() {
6621 ConditionalExpression expression = ParserTestCase.parseExpression("a | b ? y : z", []);
6622 EngineTestCase.assertInstanceOf(BinaryExpression, expression.condition);
6623 }
6624 void test_constructor_initializer_withParenthesizedExpression() {
6625 CompilationUnit unit = ParserTestCase.parseCompilationUnit(EngineTestCase.cr eateSource(["class C {", " C() :", " this.a = (b == null ? c : d) {", " }", "}"]), []);
6626 NodeList<CompilationUnitMember> declarations2 = unit.declarations;
6627 EngineTestCase.assertSize(1, declarations2);
6628 }
6629 void test_equalityExpression_normal() {
6630 BinaryExpression expression = ParserTestCase.parseExpression("x == y != z", []);
6631 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6632 }
6633 void test_equalityExpression_precedence_relational_left() {
6634 BinaryExpression expression = ParserTestCase.parseExpression("x is y == z", []);
6635 EngineTestCase.assertInstanceOf(IsExpression, expression.leftOperand);
6636 }
6637 void test_equalityExpression_precedence_relational_right() {
6638 BinaryExpression expression = ParserTestCase.parseExpression("x == y is z", []);
6639 EngineTestCase.assertInstanceOf(IsExpression, expression.rightOperand);
6640 }
6641 void test_equalityExpression_super() {
6642 BinaryExpression expression = ParserTestCase.parseExpression("super == y != z", []);
6643 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6644 }
6645 void test_logicalAndExpression() {
6646 BinaryExpression expression = ParserTestCase.parseExpression("x && y && z", []);
6647 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6648 }
6649 void test_logicalAndExpression_precedence_bitwiseOr_left() {
6650 BinaryExpression expression = ParserTestCase.parseExpression("x | y && z", [ ]);
6651 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6652 }
6653 void test_logicalAndExpression_precedence_bitwiseOr_right() {
6654 BinaryExpression expression = ParserTestCase.parseExpression("x && y | z", [ ]);
6655 EngineTestCase.assertInstanceOf(BinaryExpression, expression.rightOperand);
6656 }
6657 void test_logicalOrExpression() {
6658 BinaryExpression expression = ParserTestCase.parseExpression("x || y || z", []);
6659 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6660 }
6661 void test_logicalOrExpression_precedence_logicalAnd_left() {
6662 BinaryExpression expression = ParserTestCase.parseExpression("x && y || z", []);
6663 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6664 }
6665 void test_logicalOrExpression_precedence_logicalAnd_right() {
6666 BinaryExpression expression = ParserTestCase.parseExpression("x || y && z", []);
6667 EngineTestCase.assertInstanceOf(BinaryExpression, expression.rightOperand);
6668 }
6669 void test_multipleLabels_statement() {
6670 LabeledStatement statement = ParserTestCase.parseStatement("a: b: c: return x;", []);
6671 EngineTestCase.assertSize(3, statement.labels);
6672 EngineTestCase.assertInstanceOf(ReturnStatement, statement.statement);
6673 }
6674 void test_multiplicativeExpression_normal() {
6675 BinaryExpression expression = ParserTestCase.parseExpression("x * y / z", [] );
6676 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6677 }
6678 void test_multiplicativeExpression_precedence_unary_left() {
6679 BinaryExpression expression = ParserTestCase.parseExpression("-x * y", []);
6680 EngineTestCase.assertInstanceOf(PrefixExpression, expression.leftOperand);
6681 }
6682 void test_multiplicativeExpression_precedence_unary_right() {
6683 BinaryExpression expression = ParserTestCase.parseExpression("x * -y", []);
6684 EngineTestCase.assertInstanceOf(PrefixExpression, expression.rightOperand);
6685 }
6686 void test_multiplicativeExpression_super() {
6687 BinaryExpression expression = ParserTestCase.parseExpression("super * y / z" , []);
6688 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6689 }
6690 void test_relationalExpression_precedence_shift_right() {
6691 IsExpression expression = ParserTestCase.parseExpression("x << y is z", []);
6692 EngineTestCase.assertInstanceOf(BinaryExpression, expression.expression);
6693 }
6694 void test_shiftExpression_normal() {
6695 BinaryExpression expression = ParserTestCase.parseExpression("x >> 4 << 3", []);
6696 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6697 }
6698 void test_shiftExpression_precedence_additive_left() {
6699 BinaryExpression expression = ParserTestCase.parseExpression("x + y << z", [ ]);
6700 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6701 }
6702 void test_shiftExpression_precedence_additive_right() {
6703 BinaryExpression expression = ParserTestCase.parseExpression("x << y + z", [ ]);
6704 EngineTestCase.assertInstanceOf(BinaryExpression, expression.rightOperand);
6705 }
6706 void test_shiftExpression_super() {
6707 BinaryExpression expression = ParserTestCase.parseExpression("super >> 4 << 3", []);
6708 EngineTestCase.assertInstanceOf(BinaryExpression, expression.leftOperand);
6709 }
6710 static dartSuite() {
6711 _ut.group('ComplexParserTest', () {
6712 _ut.test('test_additiveExpression_noSpaces', () {
6713 final __test = new ComplexParserTest();
6714 runJUnitTest(__test, __test.test_additiveExpression_noSpaces);
6715 });
6716 _ut.test('test_additiveExpression_normal', () {
6717 final __test = new ComplexParserTest();
6718 runJUnitTest(__test, __test.test_additiveExpression_normal);
6719 });
6720 _ut.test('test_additiveExpression_precedence_multiplicative_left', () {
6721 final __test = new ComplexParserTest();
6722 runJUnitTest(__test, __test.test_additiveExpression_precedence_multiplic ative_left);
6723 });
6724 _ut.test('test_additiveExpression_precedence_multiplicative_left_withSuper ', () {
6725 final __test = new ComplexParserTest();
6726 runJUnitTest(__test, __test.test_additiveExpression_precedence_multiplic ative_left_withSuper);
6727 });
6728 _ut.test('test_additiveExpression_precedence_multiplicative_right', () {
6729 final __test = new ComplexParserTest();
6730 runJUnitTest(__test, __test.test_additiveExpression_precedence_multiplic ative_right);
6731 });
6732 _ut.test('test_additiveExpression_super', () {
6733 final __test = new ComplexParserTest();
6734 runJUnitTest(__test, __test.test_additiveExpression_super);
6735 });
6736 _ut.test('test_assignableExpression_arguments_normal_chain', () {
6737 final __test = new ComplexParserTest();
6738 runJUnitTest(__test, __test.test_assignableExpression_arguments_normal_c hain);
6739 });
6740 _ut.test('test_assignmentExpression_compound', () {
6741 final __test = new ComplexParserTest();
6742 runJUnitTest(__test, __test.test_assignmentExpression_compound);
6743 });
6744 _ut.test('test_assignmentExpression_indexExpression', () {
6745 final __test = new ComplexParserTest();
6746 runJUnitTest(__test, __test.test_assignmentExpression_indexExpression);
6747 });
6748 _ut.test('test_assignmentExpression_prefixedIdentifier', () {
6749 final __test = new ComplexParserTest();
6750 runJUnitTest(__test, __test.test_assignmentExpression_prefixedIdentifier );
6751 });
6752 _ut.test('test_assignmentExpression_propertyAccess', () {
6753 final __test = new ComplexParserTest();
6754 runJUnitTest(__test, __test.test_assignmentExpression_propertyAccess);
6755 });
6756 _ut.test('test_bitwiseAndExpression_normal', () {
6757 final __test = new ComplexParserTest();
6758 runJUnitTest(__test, __test.test_bitwiseAndExpression_normal);
6759 });
6760 _ut.test('test_bitwiseAndExpression_precedence_equality_left', () {
6761 final __test = new ComplexParserTest();
6762 runJUnitTest(__test, __test.test_bitwiseAndExpression_precedence_equalit y_left);
6763 });
6764 _ut.test('test_bitwiseAndExpression_precedence_equality_right', () {
6765 final __test = new ComplexParserTest();
6766 runJUnitTest(__test, __test.test_bitwiseAndExpression_precedence_equalit y_right);
6767 });
6768 _ut.test('test_bitwiseAndExpression_super', () {
6769 final __test = new ComplexParserTest();
6770 runJUnitTest(__test, __test.test_bitwiseAndExpression_super);
6771 });
6772 _ut.test('test_bitwiseOrExpression_normal', () {
6773 final __test = new ComplexParserTest();
6774 runJUnitTest(__test, __test.test_bitwiseOrExpression_normal);
6775 });
6776 _ut.test('test_bitwiseOrExpression_precedence_xor_left', () {
6777 final __test = new ComplexParserTest();
6778 runJUnitTest(__test, __test.test_bitwiseOrExpression_precedence_xor_left );
6779 });
6780 _ut.test('test_bitwiseOrExpression_precedence_xor_right', () {
6781 final __test = new ComplexParserTest();
6782 runJUnitTest(__test, __test.test_bitwiseOrExpression_precedence_xor_righ t);
6783 });
6784 _ut.test('test_bitwiseOrExpression_super', () {
6785 final __test = new ComplexParserTest();
6786 runJUnitTest(__test, __test.test_bitwiseOrExpression_super);
6787 });
6788 _ut.test('test_bitwiseXorExpression_normal', () {
6789 final __test = new ComplexParserTest();
6790 runJUnitTest(__test, __test.test_bitwiseXorExpression_normal);
6791 });
6792 _ut.test('test_bitwiseXorExpression_precedence_and_left', () {
6793 final __test = new ComplexParserTest();
6794 runJUnitTest(__test, __test.test_bitwiseXorExpression_precedence_and_lef t);
6795 });
6796 _ut.test('test_bitwiseXorExpression_precedence_and_right', () {
6797 final __test = new ComplexParserTest();
6798 runJUnitTest(__test, __test.test_bitwiseXorExpression_precedence_and_rig ht);
6799 });
6800 _ut.test('test_bitwiseXorExpression_super', () {
6801 final __test = new ComplexParserTest();
6802 runJUnitTest(__test, __test.test_bitwiseXorExpression_super);
6803 });
6804 _ut.test('test_conditionalExpression_precedence_argumentDefinitionTest_not ', () {
6805 final __test = new ComplexParserTest();
6806 runJUnitTest(__test, __test.test_conditionalExpression_precedence_argume ntDefinitionTest_not);
6807 });
6808 _ut.test('test_conditionalExpression_precedence_logicalOrExpression', () {
6809 final __test = new ComplexParserTest();
6810 runJUnitTest(__test, __test.test_conditionalExpression_precedence_logica lOrExpression);
6811 });
6812 _ut.test('test_constructor_initializer_withParenthesizedExpression', () {
6813 final __test = new ComplexParserTest();
6814 runJUnitTest(__test, __test.test_constructor_initializer_withParenthesiz edExpression);
6815 });
6816 _ut.test('test_equalityExpression_normal', () {
6817 final __test = new ComplexParserTest();
6818 runJUnitTest(__test, __test.test_equalityExpression_normal);
6819 });
6820 _ut.test('test_equalityExpression_precedence_relational_left', () {
6821 final __test = new ComplexParserTest();
6822 runJUnitTest(__test, __test.test_equalityExpression_precedence_relationa l_left);
6823 });
6824 _ut.test('test_equalityExpression_precedence_relational_right', () {
6825 final __test = new ComplexParserTest();
6826 runJUnitTest(__test, __test.test_equalityExpression_precedence_relationa l_right);
6827 });
6828 _ut.test('test_equalityExpression_super', () {
6829 final __test = new ComplexParserTest();
6830 runJUnitTest(__test, __test.test_equalityExpression_super);
6831 });
6832 _ut.test('test_logicalAndExpression', () {
6833 final __test = new ComplexParserTest();
6834 runJUnitTest(__test, __test.test_logicalAndExpression);
6835 });
6836 _ut.test('test_logicalAndExpression_precedence_bitwiseOr_left', () {
6837 final __test = new ComplexParserTest();
6838 runJUnitTest(__test, __test.test_logicalAndExpression_precedence_bitwise Or_left);
6839 });
6840 _ut.test('test_logicalAndExpression_precedence_bitwiseOr_right', () {
6841 final __test = new ComplexParserTest();
6842 runJUnitTest(__test, __test.test_logicalAndExpression_precedence_bitwise Or_right);
6843 });
6844 _ut.test('test_logicalOrExpression', () {
6845 final __test = new ComplexParserTest();
6846 runJUnitTest(__test, __test.test_logicalOrExpression);
6847 });
6848 _ut.test('test_logicalOrExpression_precedence_logicalAnd_left', () {
6849 final __test = new ComplexParserTest();
6850 runJUnitTest(__test, __test.test_logicalOrExpression_precedence_logicalA nd_left);
6851 });
6852 _ut.test('test_logicalOrExpression_precedence_logicalAnd_right', () {
6853 final __test = new ComplexParserTest();
6854 runJUnitTest(__test, __test.test_logicalOrExpression_precedence_logicalA nd_right);
6855 });
6856 _ut.test('test_multipleLabels_statement', () {
6857 final __test = new ComplexParserTest();
6858 runJUnitTest(__test, __test.test_multipleLabels_statement);
6859 });
6860 _ut.test('test_multiplicativeExpression_normal', () {
6861 final __test = new ComplexParserTest();
6862 runJUnitTest(__test, __test.test_multiplicativeExpression_normal);
6863 });
6864 _ut.test('test_multiplicativeExpression_precedence_unary_left', () {
6865 final __test = new ComplexParserTest();
6866 runJUnitTest(__test, __test.test_multiplicativeExpression_precedence_una ry_left);
6867 });
6868 _ut.test('test_multiplicativeExpression_precedence_unary_right', () {
6869 final __test = new ComplexParserTest();
6870 runJUnitTest(__test, __test.test_multiplicativeExpression_precedence_una ry_right);
6871 });
6872 _ut.test('test_multiplicativeExpression_super', () {
6873 final __test = new ComplexParserTest();
6874 runJUnitTest(__test, __test.test_multiplicativeExpression_super);
6875 });
6876 _ut.test('test_relationalExpression_precedence_shift_right', () {
6877 final __test = new ComplexParserTest();
6878 runJUnitTest(__test, __test.test_relationalExpression_precedence_shift_r ight);
6879 });
6880 _ut.test('test_shiftExpression_normal', () {
6881 final __test = new ComplexParserTest();
6882 runJUnitTest(__test, __test.test_shiftExpression_normal);
6883 });
6884 _ut.test('test_shiftExpression_precedence_additive_left', () {
6885 final __test = new ComplexParserTest();
6886 runJUnitTest(__test, __test.test_shiftExpression_precedence_additive_lef t);
6887 });
6888 _ut.test('test_shiftExpression_precedence_additive_right', () {
6889 final __test = new ComplexParserTest();
6890 runJUnitTest(__test, __test.test_shiftExpression_precedence_additive_rig ht);
6891 });
6892 _ut.test('test_shiftExpression_super', () {
6893 final __test = new ComplexParserTest();
6894 runJUnitTest(__test, __test.test_shiftExpression_super);
6895 });
6896 });
6897 }
6898 }
6899 /**
6900 * The class {@code ErrorParserTest} defines parser tests that test the parsing of code to ensure
6901 * that errors are correctly reported, and in some cases, not reported.
6902 */
6903 class ErrorParserTest extends ParserTestCase {
6904 void fail_expectedListOrMapLiteral() {
6905 TypedLiteral literal = ParserTestCase.parse3("parseListOrMapLiteral", <Objec t> [null], "1", [ParserErrorCode.EXPECTED_LIST_OR_MAP_LITERAL]);
6906 JUnitTestCase.assertTrue(literal.isSynthetic());
6907 }
6908 void fail_illegalAssignmentToNonAssignable_superAssigned() {
6909 ParserTestCase.parse4("parseExpression", "super = x;", [ParserErrorCode.ILLE GAL_ASSIGNMENT_TO_NON_ASSIGNABLE]);
6910 }
6911 void fail_invalidCommentReference__new_nonIdentifier() {
6912 ParserTestCase.parse3("parseCommentReference", <Object> ["new 42", 0], "", [ ParserErrorCode.INVALID_COMMENT_REFERENCE]);
6913 }
6914 void fail_invalidCommentReference__new_tooMuch() {
6915 ParserTestCase.parse3("parseCommentReference", <Object> ["new a.b.c.d", 0], "", [ParserErrorCode.INVALID_COMMENT_REFERENCE]);
6916 }
6917 void fail_invalidCommentReference__nonNew_nonIdentifier() {
6918 ParserTestCase.parse3("parseCommentReference", <Object> ["42", 0], "", [Pars erErrorCode.INVALID_COMMENT_REFERENCE]);
6919 }
6920 void fail_invalidCommentReference__nonNew_tooMuch() {
6921 ParserTestCase.parse3("parseCommentReference", <Object> ["a.b.c.d", 0], "", [ParserErrorCode.INVALID_COMMENT_REFERENCE]);
6922 }
6923 void fail_missingFunctionParameters_local_nonVoid_block() {
6924 ParserTestCase.parse4("parseStatement", "int f { return x;}", [ParserErrorCo de.MISSING_FUNCTION_PARAMETERS]);
6925 }
6926 void fail_missingFunctionParameters_local_nonVoid_expression() {
6927 ParserTestCase.parse4("parseStatement", "int f => x;", [ParserErrorCode.MISS ING_FUNCTION_PARAMETERS]);
6928 }
6929 void fail_unexpectedToken_invalidPostfixExpression() {
6930 ParserTestCase.parse4("parseExpression", "f()++", [ParserErrorCode.UNEXPECTE D_TOKEN]);
6931 }
6932 void fail_voidVariable_initializer() {
6933 ParserTestCase.parse4("parseStatement", "void x = 0;", [ParserErrorCode.VOID _VARIABLE]);
6934 }
6935 void fail_voidVariable_noInitializer() {
6936 ParserTestCase.parse4("parseStatement", "void x;", [ParserErrorCode.VOID_VAR IABLE]);
6937 }
6938 void test_abstractClassMember_constructor() {
6939 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "abstract C.c();", [ParserErrorCode.ABSTRACT_CLASS_MEMBER]);
6940 }
6941 void test_abstractClassMember_field() {
6942 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "abstract C f;", [ ParserErrorCode.ABSTRACT_CLASS_MEMBER]);
6943 }
6944 void test_abstractClassMember_getter() {
6945 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "abstract get m;", [ParserErrorCode.ABSTRACT_CLASS_MEMBER]);
6946 }
6947 void test_abstractClassMember_method() {
6948 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "abstract m();", [ ParserErrorCode.ABSTRACT_CLASS_MEMBER]);
6949 }
6950 void test_abstractClassMember_setter() {
6951 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "abstract set m(v) ;", [ParserErrorCode.ABSTRACT_CLASS_MEMBER]);
6952 }
6953 void test_abstractTopLevelFunction_function() {
6954 ParserTestCase.parse4("parseCompilationUnit", "abstract f(v) {}", [ParserErr orCode.ABSTRACT_TOP_LEVEL_FUNCTION]);
6955 }
6956 void test_abstractTopLevelFunction_getter() {
6957 ParserTestCase.parse4("parseCompilationUnit", "abstract get m {}", [ParserEr rorCode.ABSTRACT_TOP_LEVEL_FUNCTION]);
6958 }
6959 void test_abstractTopLevelFunction_setter() {
6960 ParserTestCase.parse4("parseCompilationUnit", "abstract set m(v) {}", [Parse rErrorCode.ABSTRACT_TOP_LEVEL_FUNCTION]);
6961 }
6962 void test_abstractTopLevelVariable() {
6963 ParserTestCase.parse4("parseCompilationUnit", "abstract C f;", [ParserErrorC ode.ABSTRACT_TOP_LEVEL_VARIABLE]);
6964 }
6965 void test_abstractTypeDef() {
6966 ParserTestCase.parse4("parseCompilationUnit", "abstract typedef F();", [Pars erErrorCode.ABSTRACT_TYPEDEF]);
6967 }
6968 void test_breakOutsideOfLoop_breakInDoStatement() {
6969 ParserTestCase.parse4("parseDoStatement", "do {break;} while (x);", []);
6970 }
6971 void test_breakOutsideOfLoop_breakInForStatement() {
6972 ParserTestCase.parse4("parseForStatement", "for (; x;) {break;}", []);
6973 }
6974 void test_breakOutsideOfLoop_breakInIfStatement() {
6975 ParserTestCase.parse4("parseIfStatement", "if (x) {break;}", [ParserErrorCod e.BREAK_OUTSIDE_OF_LOOP]);
6976 }
6977 void test_breakOutsideOfLoop_breakInSwitchStatement() {
6978 ParserTestCase.parse4("parseSwitchStatement", "switch (x) {case 1: break;}", []);
6979 }
6980 void test_breakOutsideOfLoop_breakInWhileStatement() {
6981 ParserTestCase.parse4("parseWhileStatement", "while (x) {break;}", []);
6982 }
6983 void test_breakOutsideOfLoop_functionExpression_inALoop() {
6984 ParserTestCase.parse4("parseStatement", "for(; x;) {() {break;};}", [ParserE rrorCode.BREAK_OUTSIDE_OF_LOOP]);
6985 }
6986 void test_breakOutsideOfLoop_functionExpression_withALoop() {
6987 ParserTestCase.parse4("parseStatement", "() {for (; x;) {break;}};", []);
6988 }
6989 void test_builtInIdentifierAsTypeDefName() {
6990 ParserTestCase.parse3("parseTypeAlias", <Object> [emptyCommentAndMetadata()] , "typedef as();", [ParserErrorCode.BUILT_IN_IDENTIFIER_AS_TYPEDEF_NAME]);
6991 }
6992 void test_builtInIdentifierAsTypeName() {
6993 ParserTestCase.parse3("parseClassDeclaration", <Object> [emptyCommentAndMeta data(), null], "class as {}", [ParserErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE_NAME] );
6994 }
6995 void test_builtInIdentifierAsTypeVariableName() {
6996 ParserTestCase.parse4("parseTypeParameter", "as", [ParserErrorCode.BUILT_IN_ IDENTIFIER_AS_TYPE_VARIABLE_NAME]);
6997 }
6998 void test_constAndFinal() {
6999 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "const final int x ;", [ParserErrorCode.CONST_AND_FINAL]);
7000 }
7001 void test_constAndVar() {
7002 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "const var x;", [P arserErrorCode.CONST_AND_VAR]);
7003 }
7004 void test_constClass() {
7005 ParserTestCase.parse4("parseCompilationUnit", "const class C {}", [ParserErr orCode.CONST_CLASS]);
7006 }
7007 void test_constMethod() {
7008 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "const int m() {}" , [ParserErrorCode.CONST_METHOD]);
7009 }
7010 void test_constTypedef() {
7011 ParserTestCase.parse4("parseCompilationUnit", "const typedef F();", [ParserE rrorCode.CONST_TYPEDEF]);
7012 }
7013 void test_continueOutsideOfLoop_continueInDoStatement() {
7014 ParserTestCase.parse4("parseDoStatement", "do {continue;} while (x);", []);
7015 }
7016 void test_continueOutsideOfLoop_continueInForStatement() {
7017 ParserTestCase.parse4("parseForStatement", "for (; x;) {continue;}", []);
7018 }
7019 void test_continueOutsideOfLoop_continueInIfStatement() {
7020 ParserTestCase.parse4("parseIfStatement", "if (x) {continue;}", [ParserError Code.CONTINUE_OUTSIDE_OF_LOOP]);
7021 }
7022 void test_continueOutsideOfLoop_continueInSwitchStatement() {
7023 ParserTestCase.parse4("parseSwitchStatement", "switch (x) {case 1: continue a;}", []);
7024 }
7025 void test_continueOutsideOfLoop_continueInWhileStatement() {
7026 ParserTestCase.parse4("parseWhileStatement", "while (x) {continue;}", []);
7027 }
7028 void test_continueOutsideOfLoop_functionExpression_inALoop() {
7029 ParserTestCase.parse4("parseStatement", "for(; x;) {() {continue;};}", [Pars erErrorCode.CONTINUE_OUTSIDE_OF_LOOP]);
7030 }
7031 void test_continueOutsideOfLoop_functionExpression_withALoop() {
7032 ParserTestCase.parse4("parseStatement", "() {for (; x;) {continue;}};", []);
7033 }
7034 void test_continueWithoutLabelInCase_error() {
7035 ParserTestCase.parse4("parseSwitchStatement", "switch (x) {case 1: continue; }", [ParserErrorCode.CONTINUE_WITHOUT_LABEL_IN_CASE]);
7036 }
7037 void test_continueWithoutLabelInCase_noError() {
7038 ParserTestCase.parse4("parseSwitchStatement", "switch (x) {case 1: continue a;}", []);
7039 }
7040 void test_continueWithoutLabelInCase_noError_switchInLoop() {
7041 ParserTestCase.parse4("parseWhileStatement", "while (a) { switch (b) {defaul t: continue;}}", []);
7042 }
7043 void test_directiveAfterDeclaration_classBeforeDirective() {
7044 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "class Foo{} library l;", [ParserErrorCode.DIRECTIVE_AFTER_DECLARATION]);
7045 JUnitTestCase.assertNotNull(unit);
7046 }
7047 void test_directiveAfterDeclaration_classBetweenDirectives() {
7048 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "librar y l;\nclass Foo{}\npart 'a.dart';", [ParserErrorCode.DIRECTIVE_AFTER_DECLARATION ]);
7049 JUnitTestCase.assertNotNull(unit);
7050 }
7051 void test_duplicatedModifier_const() {
7052 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "const const m;", [ParserErrorCode.DUPLICATED_MODIFIER]);
7053 }
7054 void test_duplicatedModifier_external() {
7055 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "external external f();", [ParserErrorCode.DUPLICATED_MODIFIER]);
7056 }
7057 void test_duplicatedModifier_factory() {
7058 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "factory factory C () {}", [ParserErrorCode.DUPLICATED_MODIFIER]);
7059 }
7060 void test_duplicatedModifier_final() {
7061 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "final final m;", [ParserErrorCode.DUPLICATED_MODIFIER]);
7062 }
7063 void test_duplicatedModifier_static() {
7064 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "static static m;" , [ParserErrorCode.DUPLICATED_MODIFIER]);
7065 }
7066 void test_duplicatedModifier_var() {
7067 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "var var m;", [Par serErrorCode.DUPLICATED_MODIFIER]);
7068 }
7069 void test_duplicateLabelInSwitchStatement() {
7070 ParserTestCase.parse4("parseSwitchStatement", "switch (e) {l1: case 0: break ; l1: case 1: break;}", [ParserErrorCode.DUPLICATE_LABEL_IN_SWITCH_STATEMENT]);
7071 }
7072 void test_expectedCaseOrDefault() {
7073 ParserTestCase.parse4("parseSwitchStatement", "switch (e) {break;}", [Parser ErrorCode.EXPECTED_CASE_OR_DEFAULT]);
7074 }
7075 void test_expectedStringLiteral() {
7076 StringLiteral expression = ParserTestCase.parse4("parseStringLiteral", "1", [ParserErrorCode.EXPECTED_STRING_LITERAL]);
7077 JUnitTestCase.assertTrue(expression.isSynthetic());
7078 }
7079 void test_expectedToken_commaMissingInArgumentList() {
7080 ParserTestCase.parse4("parseArgumentList", "(x, y z)", [ParserErrorCode.EXPE CTED_TOKEN]);
7081 }
7082 void test_expectedToken_semicolonMissingAfterExpression() {
7083 ParserTestCase.parse4("parseStatement", "x", [ParserErrorCode.EXPECTED_TOKEN ]);
7084 }
7085 void test_expectedToken_whileMissingInDoStatement() {
7086 ParserTestCase.parse4("parseStatement", "do {} (x);", [ParserErrorCode.EXPEC TED_TOKEN]);
7087 }
7088 void test_exportDirectiveAfterPartDirective() {
7089 ParserTestCase.parse4("parseCompilationUnit", "part 'a.dart'; export 'b.dart ';", [ParserErrorCode.EXPORT_DIRECTIVE_AFTER_PART_DIRECTIVE]);
7090 }
7091 void test_externalAfterConst() {
7092 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "const external C( );", [ParserErrorCode.EXTERNAL_AFTER_CONST]);
7093 }
7094 void test_externalAfterFactory() {
7095 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "factory external C();", [ParserErrorCode.EXTERNAL_AFTER_FACTORY]);
7096 }
7097 void test_externalAfterStatic() {
7098 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "static external i nt m();", [ParserErrorCode.EXTERNAL_AFTER_STATIC]);
7099 }
7100 void test_externalClass() {
7101 ParserTestCase.parse4("parseCompilationUnit", "external class C {}", [Parser ErrorCode.EXTERNAL_CLASS]);
7102 }
7103 void test_externalConstructorWithBody_factory() {
7104 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "external factory C() {}", [ParserErrorCode.EXTERNAL_CONSTRUCTOR_WITH_BODY]);
7105 }
7106 void test_externalConstructorWithBody_named() {
7107 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "external C.c() {} ", [ParserErrorCode.EXTERNAL_CONSTRUCTOR_WITH_BODY]);
7108 }
7109 void test_externalField_const() {
7110 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "external const A f;", [ParserErrorCode.EXTERNAL_FIELD]);
7111 }
7112 void test_externalField_final() {
7113 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "external final A f;", [ParserErrorCode.EXTERNAL_FIELD]);
7114 }
7115 void test_externalField_static() {
7116 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "external static A f;", [ParserErrorCode.EXTERNAL_FIELD]);
7117 }
7118 void test_externalField_typed() {
7119 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "external A f;", [ ParserErrorCode.EXTERNAL_FIELD]);
7120 }
7121 void test_externalField_untyped() {
7122 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "external var f;", [ParserErrorCode.EXTERNAL_FIELD]);
7123 }
7124 void test_externalGetterWithBody() {
7125 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "external int get x {}", [ParserErrorCode.EXTERNAL_GETTER_WITH_BODY]);
7126 }
7127 void test_externalMethodWithBody() {
7128 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "external m() {}", [ParserErrorCode.EXTERNAL_METHOD_WITH_BODY]);
7129 }
7130 void test_externalOperatorWithBody() {
7131 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "external operator +(int value) {}", [ParserErrorCode.EXTERNAL_OPERATOR_WITH_BODY]);
7132 }
7133 void test_externalSetterWithBody() {
7134 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "external set x(in t value) {}", [ParserErrorCode.EXTERNAL_SETTER_WITH_BODY]);
7135 }
7136 void test_externalTypedef() {
7137 ParserTestCase.parse4("parseCompilationUnit", "external typedef F();", [Pars erErrorCode.EXTERNAL_TYPEDEF]);
7138 }
7139 void test_factoryTopLevelDeclaration_class() {
7140 ParserTestCase.parse4("parseCompilationUnit", "factory class C {}", [ParserE rrorCode.FACTORY_TOP_LEVEL_DECLARATION]);
7141 }
7142 void test_factoryTopLevelDeclaration_typedef() {
7143 ParserTestCase.parse4("parseCompilationUnit", "factory typedef F();", [Parse rErrorCode.FACTORY_TOP_LEVEL_DECLARATION]);
7144 }
7145 void test_fieldInitializerOutsideConstructor() {
7146 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "void m(this.x);", [ParserErrorCode.FIELD_INITIALIZER_OUTSIDE_CONSTRUCTOR]);
7147 }
7148 void test_finalAndVar() {
7149 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "final var x;", [P arserErrorCode.FINAL_AND_VAR]);
7150 }
7151 void test_finalClass() {
7152 ParserTestCase.parse4("parseCompilationUnit", "final class C {}", [ParserErr orCode.FINAL_CLASS]);
7153 }
7154 void test_finalConstructor() {
7155 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "final C() {}", [P arserErrorCode.FINAL_CONSTRUCTOR]);
7156 }
7157 void test_finalMethod() {
7158 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "final int m() {}" , [ParserErrorCode.FINAL_METHOD]);
7159 }
7160 void test_finalTypedef() {
7161 ParserTestCase.parse4("parseCompilationUnit", "final typedef F();", [ParserE rrorCode.FINAL_TYPEDEF]);
7162 }
7163 void test_getterWithParameters() {
7164 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "int get x() {}", [ParserErrorCode.GETTER_WITH_PARAMETERS]);
7165 }
7166 void test_illegalAssignmentToNonAssignable_superAssigned() {
7167 ParserTestCase.parse4("parseExpression", "super = x;", [ParserErrorCode.MISS ING_ASSIGNABLE_SELECTOR, ParserErrorCode.ILLEGAL_ASSIGNMENT_TO_NON_ASSIGNABLE]);
7168 }
7169 void test_implementsBeforeExtends() {
7170 ParserTestCase.parse4("parseCompilationUnit", "class A implements B extends C {}", [ParserErrorCode.IMPLEMENTS_BEFORE_EXTENDS]);
7171 }
7172 void test_implementsBeforeWith() {
7173 ParserTestCase.parse4("parseCompilationUnit", "class A extends B implements C with D {}", [ParserErrorCode.IMPLEMENTS_BEFORE_WITH]);
7174 }
7175 void test_importDirectiveAfterPartDirective() {
7176 ParserTestCase.parse4("parseCompilationUnit", "part 'a.dart'; import 'b.dart ';", [ParserErrorCode.IMPORT_DIRECTIVE_AFTER_PART_DIRECTIVE]);
7177 }
7178 void test_initializedVariableInForEach() {
7179 ParserTestCase.parse4("parseForStatement", "for (int a = 0 in foo) {}", [Par serErrorCode.INITIALIZED_VARIABLE_IN_FOR_EACH]);
7180 }
7181 void test_invalidCodePoint() {
7182 ParserTestCase.parse4("parseStringLiteral", "'\\uD900'", [ParserErrorCode.IN VALID_CODE_POINT]);
7183 }
7184 void test_invalidHexEscape_invalidDigit() {
7185 ParserTestCase.parse4("parseStringLiteral", "'\\x0 a'", [ParserErrorCode.INV ALID_HEX_ESCAPE]);
7186 }
7187 void test_invalidHexEscape_tooFewDigits() {
7188 ParserTestCase.parse4("parseStringLiteral", "'\\x0'", [ParserErrorCode.INVAL ID_HEX_ESCAPE]);
7189 }
7190 void test_invalidOperatorForSuper() {
7191 ParserTestCase.parse4("parseUnaryExpression", "++super", [ParserErrorCode.IN VALID_OPERATOR_FOR_SUPER]);
7192 }
7193 void test_invalidUnicodeEscape_incomplete_noDigits() {
7194 ParserTestCase.parse4("parseStringLiteral", "'\\u{'", [ParserErrorCode.INVAL ID_UNICODE_ESCAPE]);
7195 }
7196 void test_invalidUnicodeEscape_incomplete_someDigits() {
7197 ParserTestCase.parse4("parseStringLiteral", "'\\u{0A'", [ParserErrorCode.INV ALID_UNICODE_ESCAPE]);
7198 }
7199 void test_invalidUnicodeEscape_invalidDigit() {
7200 ParserTestCase.parse4("parseStringLiteral", "'\\u0 a'", [ParserErrorCode.INV ALID_UNICODE_ESCAPE]);
7201 }
7202 void test_invalidUnicodeEscape_tooFewDigits_fixed() {
7203 ParserTestCase.parse4("parseStringLiteral", "'\\u04'", [ParserErrorCode.INVA LID_UNICODE_ESCAPE]);
7204 }
7205 void test_invalidUnicodeEscape_tooFewDigits_variable() {
7206 ParserTestCase.parse4("parseStringLiteral", "'\\u{}'", [ParserErrorCode.INVA LID_UNICODE_ESCAPE]);
7207 }
7208 void test_invalidUnicodeEscape_tooManyDigits_variable() {
7209 ParserTestCase.parse4("parseStringLiteral", "'\\u{12345678}'", [ParserErrorC ode.INVALID_UNICODE_ESCAPE, ParserErrorCode.INVALID_CODE_POINT]);
7210 }
7211 void test_libraryDirectiveNotFirst() {
7212 ParserTestCase.parse4("parseCompilationUnit", "import 'x.dart'; library l;", [ParserErrorCode.LIBRARY_DIRECTIVE_NOT_FIRST]);
7213 }
7214 void test_libraryDirectiveNotFirst_afterPart() {
7215 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "part ' a.dart';\nlibrary l;", [ParserErrorCode.LIBRARY_DIRECTIVE_NOT_FIRST]);
7216 JUnitTestCase.assertNotNull(unit);
7217 }
7218 void test_missingAssignableSelector_identifiersAssigned() {
7219 ParserTestCase.parse4("parseExpression", "x.y = y;", []);
7220 }
7221 void test_missingAssignableSelector_primarySelectorPostfix() {
7222 ParserTestCase.parse4("parseExpression", "x(y)(z)++", [ParserErrorCode.MISSI NG_ASSIGNABLE_SELECTOR]);
7223 }
7224 void test_missingAssignableSelector_selector() {
7225 ParserTestCase.parse4("parseExpression", "x(y)(z).a++", []);
7226 }
7227 void test_missingAssignableSelector_superPrimaryExpression() {
7228 SuperExpression expression = ParserTestCase.parse4("parsePrimaryExpression", "super", [ParserErrorCode.MISSING_ASSIGNABLE_SELECTOR]);
7229 JUnitTestCase.assertNotNull(expression.keyword);
7230 }
7231 void test_missingAssignableSelector_superPropertyAccessAssigned() {
7232 ParserTestCase.parse4("parseExpression", "super.x = x;", []);
7233 }
7234 void test_missingCatchOrFinally() {
7235 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {}" , [ParserErrorCode.MISSING_CATCH_OR_FINALLY]);
7236 JUnitTestCase.assertNotNull(statement);
7237 }
7238 void test_missingClassBody() {
7239 ParserTestCase.parse4("parseCompilationUnit", "class A class B {}", [ParserE rrorCode.MISSING_CLASS_BODY]);
7240 }
7241 void test_missingConstFinalVarOrType() {
7242 ParserTestCase.parse3("parseFinalConstVarOrType", <Object> [false], "a;", [P arserErrorCode.MISSING_CONST_FINAL_VAR_OR_TYPE]);
7243 }
7244 void test_missingFunctionBody_emptyNotAllowed() {
7245 ParserTestCase.parse3("parseFunctionBody", <Object> [false, false], ";", [Pa rserErrorCode.MISSING_FUNCTION_BODY]);
7246 }
7247 void test_missingFunctionBody_invalid() {
7248 ParserTestCase.parse3("parseFunctionBody", <Object> [false, false], "return 0;", [ParserErrorCode.MISSING_FUNCTION_BODY]);
7249 }
7250 void test_missingFunctionParameters_local_void_block() {
7251 ParserTestCase.parse4("parseStatement", "void f { return x;}", [ParserErrorC ode.MISSING_FUNCTION_PARAMETERS]);
7252 }
7253 void test_missingFunctionParameters_local_void_expression() {
7254 ParserTestCase.parse4("parseStatement", "void f => x;", [ParserErrorCode.MIS SING_FUNCTION_PARAMETERS]);
7255 }
7256 void test_missingFunctionParameters_topLevel_nonVoid_block() {
7257 ParserTestCase.parse4("parseCompilationUnit", "int f { return x;}", [ParserE rrorCode.MISSING_FUNCTION_PARAMETERS]);
7258 }
7259 void test_missingFunctionParameters_topLevel_nonVoid_expression() {
7260 ParserTestCase.parse4("parseCompilationUnit", "int f => x;", [ParserErrorCod e.MISSING_FUNCTION_PARAMETERS]);
7261 }
7262 void test_missingFunctionParameters_topLevel_void_block() {
7263 ParserTestCase.parse4("parseCompilationUnit", "void f { return x;}", [Parser ErrorCode.MISSING_FUNCTION_PARAMETERS]);
7264 }
7265 void test_missingFunctionParameters_topLevel_void_expression() {
7266 ParserTestCase.parse4("parseCompilationUnit", "void f => x;", [ParserErrorCo de.MISSING_FUNCTION_PARAMETERS]);
7267 }
7268 void test_missingIdentifier_functionDeclaration_returnTypeWithoutName() {
7269 ParserTestCase.parse4("parseFunctionDeclarationStatement", "A<T> () {}", [Pa rserErrorCode.MISSING_IDENTIFIER]);
7270 }
7271 void test_missingIdentifier_number() {
7272 SimpleIdentifier expression = ParserTestCase.parse4("parseSimpleIdentifier", "1", [ParserErrorCode.MISSING_IDENTIFIER]);
7273 JUnitTestCase.assertTrue(expression.isSynthetic());
7274 }
7275 void test_missingNameInLibraryDirective() {
7276 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "librar y;", [ParserErrorCode.MISSING_NAME_IN_LIBRARY_DIRECTIVE]);
7277 JUnitTestCase.assertNotNull(unit);
7278 }
7279 void test_missingNameInPartOfDirective() {
7280 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "part o f;", [ParserErrorCode.MISSING_NAME_IN_PART_OF_DIRECTIVE]);
7281 JUnitTestCase.assertNotNull(unit);
7282 }
7283 void test_missingTypedefParameters_nonVoid() {
7284 ParserTestCase.parse4("parseCompilationUnit", "typedef int F;", [ParserError Code.MISSING_TYPEDEF_PARAMETERS]);
7285 }
7286 void test_missingTypedefParameters_typeParameters() {
7287 ParserTestCase.parse4("parseCompilationUnit", "typedef F<E>;", [ParserErrorC ode.MISSING_TYPEDEF_PARAMETERS]);
7288 }
7289 void test_missingTypedefParameters_void() {
7290 ParserTestCase.parse4("parseCompilationUnit", "typedef void F;", [ParserErro rCode.MISSING_TYPEDEF_PARAMETERS]);
7291 }
7292 void test_missingVariableInForEach() {
7293 ParserTestCase.parse4("parseForStatement", "for (a < b in foo) {}", [ParserE rrorCode.MISSING_VARIABLE_IN_FOR_EACH]);
7294 }
7295 void test_mixedParameterGroups_namedPositional() {
7296 ParserTestCase.parse4("parseFormalParameterList", "(a, {b}, [c])", [ParserEr rorCode.MIXED_PARAMETER_GROUPS]);
7297 }
7298 void test_mixedParameterGroups_positionalNamed() {
7299 ParserTestCase.parse4("parseFormalParameterList", "(a, [b], {c})", [ParserEr rorCode.MIXED_PARAMETER_GROUPS]);
7300 }
7301 void test_multipleLibraryDirectives() {
7302 ParserTestCase.parse4("parseCompilationUnit", "library l; library m;", [Pars erErrorCode.MULTIPLE_LIBRARY_DIRECTIVES]);
7303 }
7304 void test_multipleNamedParameterGroups() {
7305 ParserTestCase.parse4("parseFormalParameterList", "(a, {b}, {c})", [ParserEr rorCode.MULTIPLE_NAMED_PARAMETER_GROUPS]);
7306 }
7307 void test_multiplePartOfDirectives() {
7308 ParserTestCase.parse4("parseCompilationUnit", "part of l; part of m;", [Pars erErrorCode.MULTIPLE_PART_OF_DIRECTIVES]);
7309 }
7310 void test_multiplePositionalParameterGroups() {
7311 ParserTestCase.parse4("parseFormalParameterList", "(a, [b], [c])", [ParserEr rorCode.MULTIPLE_POSITIONAL_PARAMETER_GROUPS]);
7312 }
7313 void test_multipleVariablesInForEach() {
7314 ParserTestCase.parse4("parseForStatement", "for (int a, b in foo) {}", [Pars erErrorCode.MULTIPLE_VARIABLES_IN_FOR_EACH]);
7315 }
7316 void test_namedParameterOutsideGroup() {
7317 ParserTestCase.parse4("parseFormalParameterList", "(a, b : 0)", [ParserError Code.NAMED_PARAMETER_OUTSIDE_GROUP]);
7318 }
7319 void test_nonConstructorFactory_field() {
7320 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "factory int x;", [ParserErrorCode.NON_CONSTRUCTOR_FACTORY]);
7321 }
7322 void test_nonConstructorFactory_method() {
7323 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "factory int m() { }", [ParserErrorCode.NON_CONSTRUCTOR_FACTORY]);
7324 }
7325 void test_nonIdentifierLibraryName_library() {
7326 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "librar y 'lib';", [ParserErrorCode.NON_IDENTIFIER_LIBRARY_NAME]);
7327 JUnitTestCase.assertNotNull(unit);
7328 }
7329 void test_nonIdentifierLibraryName_partOf() {
7330 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "part o f 'lib';", [ParserErrorCode.NON_IDENTIFIER_LIBRARY_NAME]);
7331 JUnitTestCase.assertNotNull(unit);
7332 }
7333 void test_nonPartOfDirectiveInPart_after() {
7334 ParserTestCase.parse4("parseCompilationUnit", "part of l; part 'f.dart';", [ ParserErrorCode.NON_PART_OF_DIRECTIVE_IN_PART]);
7335 }
7336 void test_nonPartOfDirectiveInPart_before() {
7337 ParserTestCase.parse4("parseCompilationUnit", "part 'f.dart'; part of m;", [ ParserErrorCode.NON_PART_OF_DIRECTIVE_IN_PART]);
7338 }
7339 void test_nonUserDefinableOperator() {
7340 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "operator +=(int x ) => x + 1;", [ParserErrorCode.NON_USER_DEFINABLE_OPERATOR]);
7341 }
7342 void test_positionalAfterNamedArgument() {
7343 ParserTestCase.parse4("parseArgumentList", "(x: 1, 2)", [ParserErrorCode.POS ITIONAL_AFTER_NAMED_ARGUMENT]);
7344 }
7345 void test_positionalParameterOutsideGroup() {
7346 ParserTestCase.parse4("parseFormalParameterList", "(a, b = 0)", [ParserError Code.POSITIONAL_PARAMETER_OUTSIDE_GROUP]);
7347 }
7348 void test_staticAfterConst() {
7349 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "final static int f;", [ParserErrorCode.STATIC_AFTER_FINAL]);
7350 }
7351 void test_staticAfterFinal() {
7352 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "const static int f;", [ParserErrorCode.STATIC_AFTER_CONST]);
7353 }
7354 void test_staticAfterVar() {
7355 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "var static f;", [ ParserErrorCode.STATIC_AFTER_VAR]);
7356 }
7357 void test_staticConstructor() {
7358 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "static C.m() {}", [ParserErrorCode.STATIC_CONSTRUCTOR]);
7359 }
7360 void test_staticOperator_noReturnType() {
7361 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "static operator + (int x) => x + 1;", [ParserErrorCode.STATIC_OPERATOR]);
7362 }
7363 void test_staticOperator_returnType() {
7364 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "static int operat or +(int x) => x + 1;", [ParserErrorCode.STATIC_OPERATOR]);
7365 }
7366 void test_staticTopLevelDeclaration_class() {
7367 ParserTestCase.parse4("parseCompilationUnit", "static class C {}", [ParserEr rorCode.STATIC_TOP_LEVEL_DECLARATION]);
7368 }
7369 void test_staticTopLevelDeclaration_typedef() {
7370 ParserTestCase.parse4("parseCompilationUnit", "static typedef F();", [Parser ErrorCode.STATIC_TOP_LEVEL_DECLARATION]);
7371 }
7372 void test_staticTopLevelDeclaration_variable() {
7373 ParserTestCase.parse4("parseCompilationUnit", "static var x;", [ParserErrorC ode.STATIC_TOP_LEVEL_DECLARATION]);
7374 }
7375 void test_unexpectedToken_semicolonBetweenClassMembers() {
7376 ParserTestCase.parse3("parseClassDeclaration", <Object> [emptyCommentAndMeta data(), null], "class C { int x; ; int y;}", [ParserErrorCode.UNEXPECTED_TOKEN]) ;
7377 }
7378 void test_unexpectedToken_semicolonBetweenCompilationUnitMembers() {
7379 ParserTestCase.parse4("parseCompilationUnit", "int x; ; int y;", [ParserErro rCode.UNEXPECTED_TOKEN]);
7380 }
7381 void test_useOfUnaryPlusOperator() {
7382 ParserTestCase.parse4("parseUnaryExpression", "+x", [ParserErrorCode.USE_OF_ UNARY_PLUS_OPERATOR]);
7383 }
7384 void test_varClass() {
7385 ParserTestCase.parse4("parseCompilationUnit", "var class C {}", [ParserError Code.VAR_CLASS]);
7386 }
7387 void test_varConstructor() {
7388 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "var C() {}", [Par serErrorCode.CONSTRUCTOR_WITH_RETURN_TYPE]);
7389 }
7390 void test_varReturnType() {
7391 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "var m() {}", [Par serErrorCode.VAR_RETURN_TYPE]);
7392 }
7393 void test_varTypedef() {
7394 ParserTestCase.parse4("parseCompilationUnit", "var typedef F();", [ParserErr orCode.VAR_TYPEDEF]);
7395 }
7396 void test_voidField_initializer() {
7397 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "void x = 0;", [Pa rserErrorCode.VOID_VARIABLE]);
7398 }
7399 void test_voidField_noInitializer() {
7400 ParserTestCase.parse3("parseClassMember", <Object> ["C"], "void x;", [Parser ErrorCode.VOID_VARIABLE]);
7401 }
7402 void test_voidParameter() {
7403 ParserTestCase.parse4("parseNormalFormalParameter", "void a)", [ParserErrorC ode.VOID_PARAMETER]);
7404 }
7405 void test_withBeforeExtends() {
7406 ParserTestCase.parse4("parseCompilationUnit", "class A with B extends C {}", [ParserErrorCode.WITH_BEFORE_EXTENDS]);
7407 }
7408 void test_withWithoutExtends() {
7409 ParserTestCase.parse3("parseClassDeclaration", <Object> [emptyCommentAndMeta data(), null], "class A with B, C {}", [ParserErrorCode.WITH_WITHOUT_EXTENDS]);
7410 }
7411 void test_wrongSeparatorForNamedParameter() {
7412 ParserTestCase.parse4("parseFormalParameterList", "(a, {b = 0})", [ParserErr orCode.WRONG_SEPARATOR_FOR_NAMED_PARAMETER]);
7413 }
7414 void test_wrongSeparatorForPositionalParameter() {
7415 ParserTestCase.parse4("parseFormalParameterList", "(a, [b : 0])", [ParserErr orCode.WRONG_SEPARATOR_FOR_POSITIONAL_PARAMETER]);
7416 }
7417 static dartSuite() {
7418 _ut.group('ErrorParserTest', () {
7419 _ut.test('test_abstractClassMember_constructor', () {
7420 final __test = new ErrorParserTest();
7421 runJUnitTest(__test, __test.test_abstractClassMember_constructor);
7422 });
7423 _ut.test('test_abstractClassMember_field', () {
7424 final __test = new ErrorParserTest();
7425 runJUnitTest(__test, __test.test_abstractClassMember_field);
7426 });
7427 _ut.test('test_abstractClassMember_getter', () {
7428 final __test = new ErrorParserTest();
7429 runJUnitTest(__test, __test.test_abstractClassMember_getter);
7430 });
7431 _ut.test('test_abstractClassMember_method', () {
7432 final __test = new ErrorParserTest();
7433 runJUnitTest(__test, __test.test_abstractClassMember_method);
7434 });
7435 _ut.test('test_abstractClassMember_setter', () {
7436 final __test = new ErrorParserTest();
7437 runJUnitTest(__test, __test.test_abstractClassMember_setter);
7438 });
7439 _ut.test('test_abstractTopLevelFunction_function', () {
7440 final __test = new ErrorParserTest();
7441 runJUnitTest(__test, __test.test_abstractTopLevelFunction_function);
7442 });
7443 _ut.test('test_abstractTopLevelFunction_getter', () {
7444 final __test = new ErrorParserTest();
7445 runJUnitTest(__test, __test.test_abstractTopLevelFunction_getter);
7446 });
7447 _ut.test('test_abstractTopLevelFunction_setter', () {
7448 final __test = new ErrorParserTest();
7449 runJUnitTest(__test, __test.test_abstractTopLevelFunction_setter);
7450 });
7451 _ut.test('test_abstractTopLevelVariable', () {
7452 final __test = new ErrorParserTest();
7453 runJUnitTest(__test, __test.test_abstractTopLevelVariable);
7454 });
7455 _ut.test('test_abstractTypeDef', () {
7456 final __test = new ErrorParserTest();
7457 runJUnitTest(__test, __test.test_abstractTypeDef);
7458 });
7459 _ut.test('test_breakOutsideOfLoop_breakInDoStatement', () {
7460 final __test = new ErrorParserTest();
7461 runJUnitTest(__test, __test.test_breakOutsideOfLoop_breakInDoStatement);
7462 });
7463 _ut.test('test_breakOutsideOfLoop_breakInForStatement', () {
7464 final __test = new ErrorParserTest();
7465 runJUnitTest(__test, __test.test_breakOutsideOfLoop_breakInForStatement) ;
7466 });
7467 _ut.test('test_breakOutsideOfLoop_breakInIfStatement', () {
7468 final __test = new ErrorParserTest();
7469 runJUnitTest(__test, __test.test_breakOutsideOfLoop_breakInIfStatement);
7470 });
7471 _ut.test('test_breakOutsideOfLoop_breakInSwitchStatement', () {
7472 final __test = new ErrorParserTest();
7473 runJUnitTest(__test, __test.test_breakOutsideOfLoop_breakInSwitchStateme nt);
7474 });
7475 _ut.test('test_breakOutsideOfLoop_breakInWhileStatement', () {
7476 final __test = new ErrorParserTest();
7477 runJUnitTest(__test, __test.test_breakOutsideOfLoop_breakInWhileStatemen t);
7478 });
7479 _ut.test('test_breakOutsideOfLoop_functionExpression_inALoop', () {
7480 final __test = new ErrorParserTest();
7481 runJUnitTest(__test, __test.test_breakOutsideOfLoop_functionExpression_i nALoop);
7482 });
7483 _ut.test('test_breakOutsideOfLoop_functionExpression_withALoop', () {
7484 final __test = new ErrorParserTest();
7485 runJUnitTest(__test, __test.test_breakOutsideOfLoop_functionExpression_w ithALoop);
7486 });
7487 _ut.test('test_builtInIdentifierAsTypeDefName', () {
7488 final __test = new ErrorParserTest();
7489 runJUnitTest(__test, __test.test_builtInIdentifierAsTypeDefName);
7490 });
7491 _ut.test('test_builtInIdentifierAsTypeName', () {
7492 final __test = new ErrorParserTest();
7493 runJUnitTest(__test, __test.test_builtInIdentifierAsTypeName);
7494 });
7495 _ut.test('test_builtInIdentifierAsTypeVariableName', () {
7496 final __test = new ErrorParserTest();
7497 runJUnitTest(__test, __test.test_builtInIdentifierAsTypeVariableName);
7498 });
7499 _ut.test('test_constAndFinal', () {
7500 final __test = new ErrorParserTest();
7501 runJUnitTest(__test, __test.test_constAndFinal);
7502 });
7503 _ut.test('test_constAndVar', () {
7504 final __test = new ErrorParserTest();
7505 runJUnitTest(__test, __test.test_constAndVar);
7506 });
7507 _ut.test('test_constClass', () {
7508 final __test = new ErrorParserTest();
7509 runJUnitTest(__test, __test.test_constClass);
7510 });
7511 _ut.test('test_constMethod', () {
7512 final __test = new ErrorParserTest();
7513 runJUnitTest(__test, __test.test_constMethod);
7514 });
7515 _ut.test('test_constTypedef', () {
7516 final __test = new ErrorParserTest();
7517 runJUnitTest(__test, __test.test_constTypedef);
7518 });
7519 _ut.test('test_continueOutsideOfLoop_continueInDoStatement', () {
7520 final __test = new ErrorParserTest();
7521 runJUnitTest(__test, __test.test_continueOutsideOfLoop_continueInDoState ment);
7522 });
7523 _ut.test('test_continueOutsideOfLoop_continueInForStatement', () {
7524 final __test = new ErrorParserTest();
7525 runJUnitTest(__test, __test.test_continueOutsideOfLoop_continueInForStat ement);
7526 });
7527 _ut.test('test_continueOutsideOfLoop_continueInIfStatement', () {
7528 final __test = new ErrorParserTest();
7529 runJUnitTest(__test, __test.test_continueOutsideOfLoop_continueInIfState ment);
7530 });
7531 _ut.test('test_continueOutsideOfLoop_continueInSwitchStatement', () {
7532 final __test = new ErrorParserTest();
7533 runJUnitTest(__test, __test.test_continueOutsideOfLoop_continueInSwitchS tatement);
7534 });
7535 _ut.test('test_continueOutsideOfLoop_continueInWhileStatement', () {
7536 final __test = new ErrorParserTest();
7537 runJUnitTest(__test, __test.test_continueOutsideOfLoop_continueInWhileSt atement);
7538 });
7539 _ut.test('test_continueOutsideOfLoop_functionExpression_inALoop', () {
7540 final __test = new ErrorParserTest();
7541 runJUnitTest(__test, __test.test_continueOutsideOfLoop_functionExpressio n_inALoop);
7542 });
7543 _ut.test('test_continueOutsideOfLoop_functionExpression_withALoop', () {
7544 final __test = new ErrorParserTest();
7545 runJUnitTest(__test, __test.test_continueOutsideOfLoop_functionExpressio n_withALoop);
7546 });
7547 _ut.test('test_continueWithoutLabelInCase_error', () {
7548 final __test = new ErrorParserTest();
7549 runJUnitTest(__test, __test.test_continueWithoutLabelInCase_error);
7550 });
7551 _ut.test('test_continueWithoutLabelInCase_noError', () {
7552 final __test = new ErrorParserTest();
7553 runJUnitTest(__test, __test.test_continueWithoutLabelInCase_noError);
7554 });
7555 _ut.test('test_continueWithoutLabelInCase_noError_switchInLoop', () {
7556 final __test = new ErrorParserTest();
7557 runJUnitTest(__test, __test.test_continueWithoutLabelInCase_noError_swit chInLoop);
7558 });
7559 _ut.test('test_directiveAfterDeclaration_classBeforeDirective', () {
7560 final __test = new ErrorParserTest();
7561 runJUnitTest(__test, __test.test_directiveAfterDeclaration_classBeforeDi rective);
7562 });
7563 _ut.test('test_directiveAfterDeclaration_classBetweenDirectives', () {
7564 final __test = new ErrorParserTest();
7565 runJUnitTest(__test, __test.test_directiveAfterDeclaration_classBetweenD irectives);
7566 });
7567 _ut.test('test_duplicateLabelInSwitchStatement', () {
7568 final __test = new ErrorParserTest();
7569 runJUnitTest(__test, __test.test_duplicateLabelInSwitchStatement);
7570 });
7571 _ut.test('test_duplicatedModifier_const', () {
7572 final __test = new ErrorParserTest();
7573 runJUnitTest(__test, __test.test_duplicatedModifier_const);
7574 });
7575 _ut.test('test_duplicatedModifier_external', () {
7576 final __test = new ErrorParserTest();
7577 runJUnitTest(__test, __test.test_duplicatedModifier_external);
7578 });
7579 _ut.test('test_duplicatedModifier_factory', () {
7580 final __test = new ErrorParserTest();
7581 runJUnitTest(__test, __test.test_duplicatedModifier_factory);
7582 });
7583 _ut.test('test_duplicatedModifier_final', () {
7584 final __test = new ErrorParserTest();
7585 runJUnitTest(__test, __test.test_duplicatedModifier_final);
7586 });
7587 _ut.test('test_duplicatedModifier_static', () {
7588 final __test = new ErrorParserTest();
7589 runJUnitTest(__test, __test.test_duplicatedModifier_static);
7590 });
7591 _ut.test('test_duplicatedModifier_var', () {
7592 final __test = new ErrorParserTest();
7593 runJUnitTest(__test, __test.test_duplicatedModifier_var);
7594 });
7595 _ut.test('test_expectedCaseOrDefault', () {
7596 final __test = new ErrorParserTest();
7597 runJUnitTest(__test, __test.test_expectedCaseOrDefault);
7598 });
7599 _ut.test('test_expectedStringLiteral', () {
7600 final __test = new ErrorParserTest();
7601 runJUnitTest(__test, __test.test_expectedStringLiteral);
7602 });
7603 _ut.test('test_expectedToken_commaMissingInArgumentList', () {
7604 final __test = new ErrorParserTest();
7605 runJUnitTest(__test, __test.test_expectedToken_commaMissingInArgumentLis t);
7606 });
7607 _ut.test('test_expectedToken_semicolonMissingAfterExpression', () {
7608 final __test = new ErrorParserTest();
7609 runJUnitTest(__test, __test.test_expectedToken_semicolonMissingAfterExpr ession);
7610 });
7611 _ut.test('test_expectedToken_whileMissingInDoStatement', () {
7612 final __test = new ErrorParserTest();
7613 runJUnitTest(__test, __test.test_expectedToken_whileMissingInDoStatement );
7614 });
7615 _ut.test('test_exportDirectiveAfterPartDirective', () {
7616 final __test = new ErrorParserTest();
7617 runJUnitTest(__test, __test.test_exportDirectiveAfterPartDirective);
7618 });
7619 _ut.test('test_externalAfterConst', () {
7620 final __test = new ErrorParserTest();
7621 runJUnitTest(__test, __test.test_externalAfterConst);
7622 });
7623 _ut.test('test_externalAfterFactory', () {
7624 final __test = new ErrorParserTest();
7625 runJUnitTest(__test, __test.test_externalAfterFactory);
7626 });
7627 _ut.test('test_externalAfterStatic', () {
7628 final __test = new ErrorParserTest();
7629 runJUnitTest(__test, __test.test_externalAfterStatic);
7630 });
7631 _ut.test('test_externalClass', () {
7632 final __test = new ErrorParserTest();
7633 runJUnitTest(__test, __test.test_externalClass);
7634 });
7635 _ut.test('test_externalConstructorWithBody_factory', () {
7636 final __test = new ErrorParserTest();
7637 runJUnitTest(__test, __test.test_externalConstructorWithBody_factory);
7638 });
7639 _ut.test('test_externalConstructorWithBody_named', () {
7640 final __test = new ErrorParserTest();
7641 runJUnitTest(__test, __test.test_externalConstructorWithBody_named);
7642 });
7643 _ut.test('test_externalField_const', () {
7644 final __test = new ErrorParserTest();
7645 runJUnitTest(__test, __test.test_externalField_const);
7646 });
7647 _ut.test('test_externalField_final', () {
7648 final __test = new ErrorParserTest();
7649 runJUnitTest(__test, __test.test_externalField_final);
7650 });
7651 _ut.test('test_externalField_static', () {
7652 final __test = new ErrorParserTest();
7653 runJUnitTest(__test, __test.test_externalField_static);
7654 });
7655 _ut.test('test_externalField_typed', () {
7656 final __test = new ErrorParserTest();
7657 runJUnitTest(__test, __test.test_externalField_typed);
7658 });
7659 _ut.test('test_externalField_untyped', () {
7660 final __test = new ErrorParserTest();
7661 runJUnitTest(__test, __test.test_externalField_untyped);
7662 });
7663 _ut.test('test_externalGetterWithBody', () {
7664 final __test = new ErrorParserTest();
7665 runJUnitTest(__test, __test.test_externalGetterWithBody);
7666 });
7667 _ut.test('test_externalMethodWithBody', () {
7668 final __test = new ErrorParserTest();
7669 runJUnitTest(__test, __test.test_externalMethodWithBody);
7670 });
7671 _ut.test('test_externalOperatorWithBody', () {
7672 final __test = new ErrorParserTest();
7673 runJUnitTest(__test, __test.test_externalOperatorWithBody);
7674 });
7675 _ut.test('test_externalSetterWithBody', () {
7676 final __test = new ErrorParserTest();
7677 runJUnitTest(__test, __test.test_externalSetterWithBody);
7678 });
7679 _ut.test('test_externalTypedef', () {
7680 final __test = new ErrorParserTest();
7681 runJUnitTest(__test, __test.test_externalTypedef);
7682 });
7683 _ut.test('test_factoryTopLevelDeclaration_class', () {
7684 final __test = new ErrorParserTest();
7685 runJUnitTest(__test, __test.test_factoryTopLevelDeclaration_class);
7686 });
7687 _ut.test('test_factoryTopLevelDeclaration_typedef', () {
7688 final __test = new ErrorParserTest();
7689 runJUnitTest(__test, __test.test_factoryTopLevelDeclaration_typedef);
7690 });
7691 _ut.test('test_fieldInitializerOutsideConstructor', () {
7692 final __test = new ErrorParserTest();
7693 runJUnitTest(__test, __test.test_fieldInitializerOutsideConstructor);
7694 });
7695 _ut.test('test_finalAndVar', () {
7696 final __test = new ErrorParserTest();
7697 runJUnitTest(__test, __test.test_finalAndVar);
7698 });
7699 _ut.test('test_finalClass', () {
7700 final __test = new ErrorParserTest();
7701 runJUnitTest(__test, __test.test_finalClass);
7702 });
7703 _ut.test('test_finalConstructor', () {
7704 final __test = new ErrorParserTest();
7705 runJUnitTest(__test, __test.test_finalConstructor);
7706 });
7707 _ut.test('test_finalMethod', () {
7708 final __test = new ErrorParserTest();
7709 runJUnitTest(__test, __test.test_finalMethod);
7710 });
7711 _ut.test('test_finalTypedef', () {
7712 final __test = new ErrorParserTest();
7713 runJUnitTest(__test, __test.test_finalTypedef);
7714 });
7715 _ut.test('test_getterWithParameters', () {
7716 final __test = new ErrorParserTest();
7717 runJUnitTest(__test, __test.test_getterWithParameters);
7718 });
7719 _ut.test('test_illegalAssignmentToNonAssignable_superAssigned', () {
7720 final __test = new ErrorParserTest();
7721 runJUnitTest(__test, __test.test_illegalAssignmentToNonAssignable_superA ssigned);
7722 });
7723 _ut.test('test_implementsBeforeExtends', () {
7724 final __test = new ErrorParserTest();
7725 runJUnitTest(__test, __test.test_implementsBeforeExtends);
7726 });
7727 _ut.test('test_implementsBeforeWith', () {
7728 final __test = new ErrorParserTest();
7729 runJUnitTest(__test, __test.test_implementsBeforeWith);
7730 });
7731 _ut.test('test_importDirectiveAfterPartDirective', () {
7732 final __test = new ErrorParserTest();
7733 runJUnitTest(__test, __test.test_importDirectiveAfterPartDirective);
7734 });
7735 _ut.test('test_initializedVariableInForEach', () {
7736 final __test = new ErrorParserTest();
7737 runJUnitTest(__test, __test.test_initializedVariableInForEach);
7738 });
7739 _ut.test('test_invalidCodePoint', () {
7740 final __test = new ErrorParserTest();
7741 runJUnitTest(__test, __test.test_invalidCodePoint);
7742 });
7743 _ut.test('test_invalidHexEscape_invalidDigit', () {
7744 final __test = new ErrorParserTest();
7745 runJUnitTest(__test, __test.test_invalidHexEscape_invalidDigit);
7746 });
7747 _ut.test('test_invalidHexEscape_tooFewDigits', () {
7748 final __test = new ErrorParserTest();
7749 runJUnitTest(__test, __test.test_invalidHexEscape_tooFewDigits);
7750 });
7751 _ut.test('test_invalidOperatorForSuper', () {
7752 final __test = new ErrorParserTest();
7753 runJUnitTest(__test, __test.test_invalidOperatorForSuper);
7754 });
7755 _ut.test('test_invalidUnicodeEscape_incomplete_noDigits', () {
7756 final __test = new ErrorParserTest();
7757 runJUnitTest(__test, __test.test_invalidUnicodeEscape_incomplete_noDigit s);
7758 });
7759 _ut.test('test_invalidUnicodeEscape_incomplete_someDigits', () {
7760 final __test = new ErrorParserTest();
7761 runJUnitTest(__test, __test.test_invalidUnicodeEscape_incomplete_someDig its);
7762 });
7763 _ut.test('test_invalidUnicodeEscape_invalidDigit', () {
7764 final __test = new ErrorParserTest();
7765 runJUnitTest(__test, __test.test_invalidUnicodeEscape_invalidDigit);
7766 });
7767 _ut.test('test_invalidUnicodeEscape_tooFewDigits_fixed', () {
7768 final __test = new ErrorParserTest();
7769 runJUnitTest(__test, __test.test_invalidUnicodeEscape_tooFewDigits_fixed );
7770 });
7771 _ut.test('test_invalidUnicodeEscape_tooFewDigits_variable', () {
7772 final __test = new ErrorParserTest();
7773 runJUnitTest(__test, __test.test_invalidUnicodeEscape_tooFewDigits_varia ble);
7774 });
7775 _ut.test('test_invalidUnicodeEscape_tooManyDigits_variable', () {
7776 final __test = new ErrorParserTest();
7777 runJUnitTest(__test, __test.test_invalidUnicodeEscape_tooManyDigits_vari able);
7778 });
7779 _ut.test('test_libraryDirectiveNotFirst', () {
7780 final __test = new ErrorParserTest();
7781 runJUnitTest(__test, __test.test_libraryDirectiveNotFirst);
7782 });
7783 _ut.test('test_libraryDirectiveNotFirst_afterPart', () {
7784 final __test = new ErrorParserTest();
7785 runJUnitTest(__test, __test.test_libraryDirectiveNotFirst_afterPart);
7786 });
7787 _ut.test('test_missingAssignableSelector_identifiersAssigned', () {
7788 final __test = new ErrorParserTest();
7789 runJUnitTest(__test, __test.test_missingAssignableSelector_identifiersAs signed);
7790 });
7791 _ut.test('test_missingAssignableSelector_primarySelectorPostfix', () {
7792 final __test = new ErrorParserTest();
7793 runJUnitTest(__test, __test.test_missingAssignableSelector_primarySelect orPostfix);
7794 });
7795 _ut.test('test_missingAssignableSelector_selector', () {
7796 final __test = new ErrorParserTest();
7797 runJUnitTest(__test, __test.test_missingAssignableSelector_selector);
7798 });
7799 _ut.test('test_missingAssignableSelector_superPrimaryExpression', () {
7800 final __test = new ErrorParserTest();
7801 runJUnitTest(__test, __test.test_missingAssignableSelector_superPrimaryE xpression);
7802 });
7803 _ut.test('test_missingAssignableSelector_superPropertyAccessAssigned', () {
7804 final __test = new ErrorParserTest();
7805 runJUnitTest(__test, __test.test_missingAssignableSelector_superProperty AccessAssigned);
7806 });
7807 _ut.test('test_missingCatchOrFinally', () {
7808 final __test = new ErrorParserTest();
7809 runJUnitTest(__test, __test.test_missingCatchOrFinally);
7810 });
7811 _ut.test('test_missingClassBody', () {
7812 final __test = new ErrorParserTest();
7813 runJUnitTest(__test, __test.test_missingClassBody);
7814 });
7815 _ut.test('test_missingConstFinalVarOrType', () {
7816 final __test = new ErrorParserTest();
7817 runJUnitTest(__test, __test.test_missingConstFinalVarOrType);
7818 });
7819 _ut.test('test_missingFunctionBody_emptyNotAllowed', () {
7820 final __test = new ErrorParserTest();
7821 runJUnitTest(__test, __test.test_missingFunctionBody_emptyNotAllowed);
7822 });
7823 _ut.test('test_missingFunctionBody_invalid', () {
7824 final __test = new ErrorParserTest();
7825 runJUnitTest(__test, __test.test_missingFunctionBody_invalid);
7826 });
7827 _ut.test('test_missingFunctionParameters_local_void_block', () {
7828 final __test = new ErrorParserTest();
7829 runJUnitTest(__test, __test.test_missingFunctionParameters_local_void_bl ock);
7830 });
7831 _ut.test('test_missingFunctionParameters_local_void_expression', () {
7832 final __test = new ErrorParserTest();
7833 runJUnitTest(__test, __test.test_missingFunctionParameters_local_void_ex pression);
7834 });
7835 _ut.test('test_missingFunctionParameters_topLevel_nonVoid_block', () {
7836 final __test = new ErrorParserTest();
7837 runJUnitTest(__test, __test.test_missingFunctionParameters_topLevel_nonV oid_block);
7838 });
7839 _ut.test('test_missingFunctionParameters_topLevel_nonVoid_expression', () {
7840 final __test = new ErrorParserTest();
7841 runJUnitTest(__test, __test.test_missingFunctionParameters_topLevel_nonV oid_expression);
7842 });
7843 _ut.test('test_missingFunctionParameters_topLevel_void_block', () {
7844 final __test = new ErrorParserTest();
7845 runJUnitTest(__test, __test.test_missingFunctionParameters_topLevel_void _block);
7846 });
7847 _ut.test('test_missingFunctionParameters_topLevel_void_expression', () {
7848 final __test = new ErrorParserTest();
7849 runJUnitTest(__test, __test.test_missingFunctionParameters_topLevel_void _expression);
7850 });
7851 _ut.test('test_missingIdentifier_functionDeclaration_returnTypeWithoutName ', () {
7852 final __test = new ErrorParserTest();
7853 runJUnitTest(__test, __test.test_missingIdentifier_functionDeclaration_r eturnTypeWithoutName);
7854 });
7855 _ut.test('test_missingIdentifier_number', () {
7856 final __test = new ErrorParserTest();
7857 runJUnitTest(__test, __test.test_missingIdentifier_number);
7858 });
7859 _ut.test('test_missingNameInLibraryDirective', () {
7860 final __test = new ErrorParserTest();
7861 runJUnitTest(__test, __test.test_missingNameInLibraryDirective);
7862 });
7863 _ut.test('test_missingNameInPartOfDirective', () {
7864 final __test = new ErrorParserTest();
7865 runJUnitTest(__test, __test.test_missingNameInPartOfDirective);
7866 });
7867 _ut.test('test_missingTypedefParameters_nonVoid', () {
7868 final __test = new ErrorParserTest();
7869 runJUnitTest(__test, __test.test_missingTypedefParameters_nonVoid);
7870 });
7871 _ut.test('test_missingTypedefParameters_typeParameters', () {
7872 final __test = new ErrorParserTest();
7873 runJUnitTest(__test, __test.test_missingTypedefParameters_typeParameters );
7874 });
7875 _ut.test('test_missingTypedefParameters_void', () {
7876 final __test = new ErrorParserTest();
7877 runJUnitTest(__test, __test.test_missingTypedefParameters_void);
7878 });
7879 _ut.test('test_missingVariableInForEach', () {
7880 final __test = new ErrorParserTest();
7881 runJUnitTest(__test, __test.test_missingVariableInForEach);
7882 });
7883 _ut.test('test_mixedParameterGroups_namedPositional', () {
7884 final __test = new ErrorParserTest();
7885 runJUnitTest(__test, __test.test_mixedParameterGroups_namedPositional);
7886 });
7887 _ut.test('test_mixedParameterGroups_positionalNamed', () {
7888 final __test = new ErrorParserTest();
7889 runJUnitTest(__test, __test.test_mixedParameterGroups_positionalNamed);
7890 });
7891 _ut.test('test_multipleLibraryDirectives', () {
7892 final __test = new ErrorParserTest();
7893 runJUnitTest(__test, __test.test_multipleLibraryDirectives);
7894 });
7895 _ut.test('test_multipleNamedParameterGroups', () {
7896 final __test = new ErrorParserTest();
7897 runJUnitTest(__test, __test.test_multipleNamedParameterGroups);
7898 });
7899 _ut.test('test_multiplePartOfDirectives', () {
7900 final __test = new ErrorParserTest();
7901 runJUnitTest(__test, __test.test_multiplePartOfDirectives);
7902 });
7903 _ut.test('test_multiplePositionalParameterGroups', () {
7904 final __test = new ErrorParserTest();
7905 runJUnitTest(__test, __test.test_multiplePositionalParameterGroups);
7906 });
7907 _ut.test('test_multipleVariablesInForEach', () {
7908 final __test = new ErrorParserTest();
7909 runJUnitTest(__test, __test.test_multipleVariablesInForEach);
7910 });
7911 _ut.test('test_namedParameterOutsideGroup', () {
7912 final __test = new ErrorParserTest();
7913 runJUnitTest(__test, __test.test_namedParameterOutsideGroup);
7914 });
7915 _ut.test('test_nonConstructorFactory_field', () {
7916 final __test = new ErrorParserTest();
7917 runJUnitTest(__test, __test.test_nonConstructorFactory_field);
7918 });
7919 _ut.test('test_nonConstructorFactory_method', () {
7920 final __test = new ErrorParserTest();
7921 runJUnitTest(__test, __test.test_nonConstructorFactory_method);
7922 });
7923 _ut.test('test_nonIdentifierLibraryName_library', () {
7924 final __test = new ErrorParserTest();
7925 runJUnitTest(__test, __test.test_nonIdentifierLibraryName_library);
7926 });
7927 _ut.test('test_nonIdentifierLibraryName_partOf', () {
7928 final __test = new ErrorParserTest();
7929 runJUnitTest(__test, __test.test_nonIdentifierLibraryName_partOf);
7930 });
7931 _ut.test('test_nonPartOfDirectiveInPart_after', () {
7932 final __test = new ErrorParserTest();
7933 runJUnitTest(__test, __test.test_nonPartOfDirectiveInPart_after);
7934 });
7935 _ut.test('test_nonPartOfDirectiveInPart_before', () {
7936 final __test = new ErrorParserTest();
7937 runJUnitTest(__test, __test.test_nonPartOfDirectiveInPart_before);
7938 });
7939 _ut.test('test_nonUserDefinableOperator', () {
7940 final __test = new ErrorParserTest();
7941 runJUnitTest(__test, __test.test_nonUserDefinableOperator);
7942 });
7943 _ut.test('test_positionalAfterNamedArgument', () {
7944 final __test = new ErrorParserTest();
7945 runJUnitTest(__test, __test.test_positionalAfterNamedArgument);
7946 });
7947 _ut.test('test_positionalParameterOutsideGroup', () {
7948 final __test = new ErrorParserTest();
7949 runJUnitTest(__test, __test.test_positionalParameterOutsideGroup);
7950 });
7951 _ut.test('test_staticAfterConst', () {
7952 final __test = new ErrorParserTest();
7953 runJUnitTest(__test, __test.test_staticAfterConst);
7954 });
7955 _ut.test('test_staticAfterFinal', () {
7956 final __test = new ErrorParserTest();
7957 runJUnitTest(__test, __test.test_staticAfterFinal);
7958 });
7959 _ut.test('test_staticAfterVar', () {
7960 final __test = new ErrorParserTest();
7961 runJUnitTest(__test, __test.test_staticAfterVar);
7962 });
7963 _ut.test('test_staticConstructor', () {
7964 final __test = new ErrorParserTest();
7965 runJUnitTest(__test, __test.test_staticConstructor);
7966 });
7967 _ut.test('test_staticOperator_noReturnType', () {
7968 final __test = new ErrorParserTest();
7969 runJUnitTest(__test, __test.test_staticOperator_noReturnType);
7970 });
7971 _ut.test('test_staticOperator_returnType', () {
7972 final __test = new ErrorParserTest();
7973 runJUnitTest(__test, __test.test_staticOperator_returnType);
7974 });
7975 _ut.test('test_staticTopLevelDeclaration_class', () {
7976 final __test = new ErrorParserTest();
7977 runJUnitTest(__test, __test.test_staticTopLevelDeclaration_class);
7978 });
7979 _ut.test('test_staticTopLevelDeclaration_typedef', () {
7980 final __test = new ErrorParserTest();
7981 runJUnitTest(__test, __test.test_staticTopLevelDeclaration_typedef);
7982 });
7983 _ut.test('test_staticTopLevelDeclaration_variable', () {
7984 final __test = new ErrorParserTest();
7985 runJUnitTest(__test, __test.test_staticTopLevelDeclaration_variable);
7986 });
7987 _ut.test('test_unexpectedToken_semicolonBetweenClassMembers', () {
7988 final __test = new ErrorParserTest();
7989 runJUnitTest(__test, __test.test_unexpectedToken_semicolonBetweenClassMe mbers);
7990 });
7991 _ut.test('test_unexpectedToken_semicolonBetweenCompilationUnitMembers', () {
7992 final __test = new ErrorParserTest();
7993 runJUnitTest(__test, __test.test_unexpectedToken_semicolonBetweenCompila tionUnitMembers);
7994 });
7995 _ut.test('test_useOfUnaryPlusOperator', () {
7996 final __test = new ErrorParserTest();
7997 runJUnitTest(__test, __test.test_useOfUnaryPlusOperator);
7998 });
7999 _ut.test('test_varClass', () {
8000 final __test = new ErrorParserTest();
8001 runJUnitTest(__test, __test.test_varClass);
8002 });
8003 _ut.test('test_varConstructor', () {
8004 final __test = new ErrorParserTest();
8005 runJUnitTest(__test, __test.test_varConstructor);
8006 });
8007 _ut.test('test_varReturnType', () {
8008 final __test = new ErrorParserTest();
8009 runJUnitTest(__test, __test.test_varReturnType);
8010 });
8011 _ut.test('test_varTypedef', () {
8012 final __test = new ErrorParserTest();
8013 runJUnitTest(__test, __test.test_varTypedef);
8014 });
8015 _ut.test('test_voidField_initializer', () {
8016 final __test = new ErrorParserTest();
8017 runJUnitTest(__test, __test.test_voidField_initializer);
8018 });
8019 _ut.test('test_voidField_noInitializer', () {
8020 final __test = new ErrorParserTest();
8021 runJUnitTest(__test, __test.test_voidField_noInitializer);
8022 });
8023 _ut.test('test_voidParameter', () {
8024 final __test = new ErrorParserTest();
8025 runJUnitTest(__test, __test.test_voidParameter);
8026 });
8027 _ut.test('test_withBeforeExtends', () {
8028 final __test = new ErrorParserTest();
8029 runJUnitTest(__test, __test.test_withBeforeExtends);
8030 });
8031 _ut.test('test_withWithoutExtends', () {
8032 final __test = new ErrorParserTest();
8033 runJUnitTest(__test, __test.test_withWithoutExtends);
8034 });
8035 _ut.test('test_wrongSeparatorForNamedParameter', () {
8036 final __test = new ErrorParserTest();
8037 runJUnitTest(__test, __test.test_wrongSeparatorForNamedParameter);
8038 });
8039 _ut.test('test_wrongSeparatorForPositionalParameter', () {
8040 final __test = new ErrorParserTest();
8041 runJUnitTest(__test, __test.test_wrongSeparatorForPositionalParameter);
8042 });
8043 });
8044 }
8045 }
8046 main() {
8047 ComplexParserTest.dartSuite();
8048 ErrorParserTest.dartSuite();
8049 RecoveryParserTest.dartSuite();
8050 SimpleParserTest.dartSuite();
8051 }
8052 Map<String, MethodTrampoline> _methodTable_Parser = <String, MethodTrampoline> {
8053 'parseCompilationUnit_1': new MethodTrampoline(1, (Parser target, arg0) => tar get.parseCompilationUnit(arg0)),
8054 'parseExpression_1': new MethodTrampoline(1, (Parser target, arg0) => target.p arseExpression(arg0)),
8055 'parseStatement_1': new MethodTrampoline(1, (Parser target, arg0) => target.pa rseStatement(arg0)),
8056 'parseStatements_1': new MethodTrampoline(1, (Parser target, arg0) => target.p arseStatements(arg0)),
8057 'advance_0': new MethodTrampoline(0, (Parser target) => target.advance()),
8058 'appendScalarValue_5': new MethodTrampoline(5, (Parser target, arg0, arg1, arg 2, arg3, arg4) => target.appendScalarValue(arg0, arg1, arg2, arg3, arg4)),
8059 'computeStringValue_1': new MethodTrampoline(1, (Parser target, arg0) => targe t.computeStringValue(arg0)),
8060 'createSyntheticIdentifier_0': new MethodTrampoline(0, (Parser target) => targ et.createSyntheticIdentifier()),
8061 'createSyntheticStringLiteral_0': new MethodTrampoline(0, (Parser target) => t arget.createSyntheticStringLiteral()),
8062 'createSyntheticToken_1': new MethodTrampoline(1, (Parser target, arg0) => tar get.createSyntheticToken(arg0)),
8063 'ensureAssignable_1': new MethodTrampoline(1, (Parser target, arg0) => target. ensureAssignable(arg0)),
8064 'expect_1': new MethodTrampoline(1, (Parser target, arg0) => target.expect(arg 0)),
8065 'hasReturnTypeInTypeAlias_0': new MethodTrampoline(0, (Parser target) => targe t.hasReturnTypeInTypeAlias()),
8066 'isFunctionDeclaration_0': new MethodTrampoline(0, (Parser target) => target.i sFunctionDeclaration()),
8067 'isFunctionExpression_1': new MethodTrampoline(1, (Parser target, arg0) => tar get.isFunctionExpression(arg0)),
8068 'isHexDigit_1': new MethodTrampoline(1, (Parser target, arg0) => target.isHexD igit(arg0)),
8069 'isInitializedVariableDeclaration_0': new MethodTrampoline(0, (Parser target) => target.isInitializedVariableDeclaration()),
8070 'isSwitchMember_0': new MethodTrampoline(0, (Parser target) => target.isSwitch Member()),
8071 'lexicallyFirst_1': new MethodTrampoline(1, (Parser target, arg0) => target.le xicallyFirst(arg0)),
8072 'matches_1': new MethodTrampoline(1, (Parser target, arg0) => target.matches(a rg0)),
8073 'matches_2': new MethodTrampoline(2, (Parser target, arg0, arg1) => target.mat ches3(arg0, arg1)),
8074 'matchesAny_2': new MethodTrampoline(2, (Parser target, arg0, arg1) => target. matchesAny(arg0, arg1)),
8075 'matchesIdentifier_0': new MethodTrampoline(0, (Parser target) => target.match esIdentifier()),
8076 'matchesIdentifier_1': new MethodTrampoline(1, (Parser target, arg0) => target .matchesIdentifier2(arg0)),
8077 'optional_1': new MethodTrampoline(1, (Parser target, arg0) => target.optional (arg0)),
8078 'parseAdditiveExpression_0': new MethodTrampoline(0, (Parser target) => target .parseAdditiveExpression()),
8079 'parseAnnotation_0': new MethodTrampoline(0, (Parser target) => target.parseAn notation()),
8080 'parseArgument_0': new MethodTrampoline(0, (Parser target) => target.parseArgu ment()),
8081 'parseArgumentDefinitionTest_0': new MethodTrampoline(0, (Parser target) => ta rget.parseArgumentDefinitionTest()),
8082 'parseArgumentList_0': new MethodTrampoline(0, (Parser target) => target.parse ArgumentList()),
8083 'parseAssertStatement_0': new MethodTrampoline(0, (Parser target) => target.pa rseAssertStatement()),
8084 'parseAssignableExpression_1': new MethodTrampoline(1, (Parser target, arg0) = > target.parseAssignableExpression(arg0)),
8085 'parseAssignableSelector_2': new MethodTrampoline(2, (Parser target, arg0, arg 1) => target.parseAssignableSelector(arg0, arg1)),
8086 'parseBitwiseAndExpression_0': new MethodTrampoline(0, (Parser target) => targ et.parseBitwiseAndExpression()),
8087 'parseBitwiseOrExpression_0': new MethodTrampoline(0, (Parser target) => targe t.parseBitwiseOrExpression()),
8088 'parseBitwiseXorExpression_0': new MethodTrampoline(0, (Parser target) => targ et.parseBitwiseXorExpression()),
8089 'parseBlock_0': new MethodTrampoline(0, (Parser target) => target.parseBlock() ),
8090 'parseBreakStatement_0': new MethodTrampoline(0, (Parser target) => target.par seBreakStatement()),
8091 'parseCascadeSection_0': new MethodTrampoline(0, (Parser target) => target.par seCascadeSection()),
8092 'parseClassDeclaration_2': new MethodTrampoline(2, (Parser target, arg0, arg1) => target.parseClassDeclaration(arg0, arg1)),
8093 'parseClassMember_1': new MethodTrampoline(1, (Parser target, arg0) => target. parseClassMember(arg0)),
8094 'parseClassMembers_1': new MethodTrampoline(1, (Parser target, arg0) => target .parseClassMembers(arg0)),
8095 'parseClassTypeAlias_2': new MethodTrampoline(2, (Parser target, arg0, arg1) = > target.parseClassTypeAlias(arg0, arg1)),
8096 'parseCombinators_0': new MethodTrampoline(0, (Parser target) => target.parseC ombinators()),
8097 'parseCommentAndMetadata_0': new MethodTrampoline(0, (Parser target) => target .parseCommentAndMetadata()),
8098 'parseCommentReference_2': new MethodTrampoline(2, (Parser target, arg0, arg1) => target.parseCommentReference(arg0, arg1)),
8099 'parseCommentReferences_1': new MethodTrampoline(1, (Parser target, arg0) => t arget.parseCommentReferences(arg0)),
8100 'parseCompilationUnit_0': new MethodTrampoline(0, (Parser target) => target.pa rseCompilationUnit2()),
8101 'parseCompilationUnitMember_1': new MethodTrampoline(1, (Parser target, arg0) => target.parseCompilationUnitMember(arg0)),
8102 'parseConditionalExpression_0': new MethodTrampoline(0, (Parser target) => tar get.parseConditionalExpression()),
8103 'parseConstExpression_0': new MethodTrampoline(0, (Parser target) => target.pa rseConstExpression()),
8104 'parseConstructor_8': new MethodTrampoline(8, (Parser target, arg0, arg1, arg2 , arg3, arg4, arg5, arg6, arg7) => target.parseConstructor(arg0, arg1, arg2, arg 3, arg4, arg5, arg6, arg7)),
8105 'parseConstructorFieldInitializer_0': new MethodTrampoline(0, (Parser target) => target.parseConstructorFieldInitializer()),
8106 'parseConstructorName_0': new MethodTrampoline(0, (Parser target) => target.pa rseConstructorName()),
8107 'parseContinueStatement_0': new MethodTrampoline(0, (Parser target) => target. parseContinueStatement()),
8108 'parseDirective_1': new MethodTrampoline(1, (Parser target, arg0) => target.pa rseDirective(arg0)),
8109 'parseDocumentationComment_0': new MethodTrampoline(0, (Parser target) => targ et.parseDocumentationComment()),
8110 'parseDoStatement_0': new MethodTrampoline(0, (Parser target) => target.parseD oStatement()),
8111 'parseEmptyStatement_0': new MethodTrampoline(0, (Parser target) => target.par seEmptyStatement()),
8112 'parseEqualityExpression_0': new MethodTrampoline(0, (Parser target) => target .parseEqualityExpression()),
8113 'parseExportDirective_1': new MethodTrampoline(1, (Parser target, arg0) => tar get.parseExportDirective(arg0)),
8114 'parseExpression_0': new MethodTrampoline(0, (Parser target) => target.parseEx pression2()),
8115 'parseExpressionList_0': new MethodTrampoline(0, (Parser target) => target.par seExpressionList()),
8116 'parseExpressionWithoutCascade_0': new MethodTrampoline(0, (Parser target) => target.parseExpressionWithoutCascade()),
8117 'parseExtendsClause_0': new MethodTrampoline(0, (Parser target) => target.pars eExtendsClause()),
8118 'parseFinalConstVarOrType_1': new MethodTrampoline(1, (Parser target, arg0) => target.parseFinalConstVarOrType(arg0)),
8119 'parseFormalParameter_1': new MethodTrampoline(1, (Parser target, arg0) => tar get.parseFormalParameter(arg0)),
8120 'parseFormalParameterList_0': new MethodTrampoline(0, (Parser target) => targe t.parseFormalParameterList()),
8121 'parseForStatement_0': new MethodTrampoline(0, (Parser target) => target.parse ForStatement()),
8122 'parseFunctionBody_2': new MethodTrampoline(2, (Parser target, arg0, arg1) => target.parseFunctionBody(arg0, arg1)),
8123 'parseFunctionDeclaration_4': new MethodTrampoline(4, (Parser target, arg0, ar g1, arg2, arg3) => target.parseFunctionDeclaration(arg0, arg1, arg2, arg3)),
8124 'parseFunctionDeclarationStatement_0': new MethodTrampoline(0, (Parser target) => target.parseFunctionDeclarationStatement()),
8125 'parseFunctionDeclarationStatement_2': new MethodTrampoline(2, (Parser target, arg0, arg1) => target.parseFunctionDeclarationStatement2(arg0, arg1)),
8126 'parseFunctionExpression_0': new MethodTrampoline(0, (Parser target) => target .parseFunctionExpression()),
8127 'parseFunctionTypeAlias_2': new MethodTrampoline(2, (Parser target, arg0, arg1 ) => target.parseFunctionTypeAlias(arg0, arg1)),
8128 'parseGetter_4': new MethodTrampoline(4, (Parser target, arg0, arg1, arg2, arg 3) => target.parseGetter(arg0, arg1, arg2, arg3)),
8129 'parseIdentifierList_0': new MethodTrampoline(0, (Parser target) => target.par seIdentifierList()),
8130 'parseIfStatement_0': new MethodTrampoline(0, (Parser target) => target.parseI fStatement()),
8131 'parseImplementsClause_0': new MethodTrampoline(0, (Parser target) => target.p arseImplementsClause()),
8132 'parseImportDirective_1': new MethodTrampoline(1, (Parser target, arg0) => tar get.parseImportDirective(arg0)),
8133 'parseInitializedIdentifierList_4': new MethodTrampoline(4, (Parser target, ar g0, arg1, arg2, arg3) => target.parseInitializedIdentifierList(arg0, arg1, arg2, arg3)),
8134 'parseInstanceCreationExpression_1': new MethodTrampoline(1, (Parser target, a rg0) => target.parseInstanceCreationExpression(arg0)),
8135 'parseLibraryDirective_1': new MethodTrampoline(1, (Parser target, arg0) => ta rget.parseLibraryDirective(arg0)),
8136 'parseLibraryIdentifier_0': new MethodTrampoline(0, (Parser target) => target. parseLibraryIdentifier()),
8137 'parseLibraryName_2': new MethodTrampoline(2, (Parser target, arg0, arg1) => t arget.parseLibraryName(arg0, arg1)),
8138 'parseListLiteral_2': new MethodTrampoline(2, (Parser target, arg0, arg1) => t arget.parseListLiteral(arg0, arg1)),
8139 'parseListOrMapLiteral_1': new MethodTrampoline(1, (Parser target, arg0) => ta rget.parseListOrMapLiteral(arg0)),
8140 'parseLogicalAndExpression_0': new MethodTrampoline(0, (Parser target) => targ et.parseLogicalAndExpression()),
8141 'parseLogicalOrExpression_0': new MethodTrampoline(0, (Parser target) => targe t.parseLogicalOrExpression()),
8142 'parseMapLiteral_2': new MethodTrampoline(2, (Parser target, arg0, arg1) => ta rget.parseMapLiteral(arg0, arg1)),
8143 'parseMapLiteralEntry_0': new MethodTrampoline(0, (Parser target) => target.pa rseMapLiteralEntry()),
8144 'parseMethodDeclaration_4': new MethodTrampoline(4, (Parser target, arg0, arg1 , arg2, arg3) => target.parseMethodDeclaration(arg0, arg1, arg2, arg3)),
8145 'parseMethodDeclaration_6': new MethodTrampoline(6, (Parser target, arg0, arg1 , arg2, arg3, arg4, arg5) => target.parseMethodDeclaration2(arg0, arg1, arg2, ar g3, arg4, arg5)),
8146 'parseModifiers_0': new MethodTrampoline(0, (Parser target) => target.parseMod ifiers()),
8147 'parseMultiplicativeExpression_0': new MethodTrampoline(0, (Parser target) => target.parseMultiplicativeExpression()),
8148 'parseNewExpression_0': new MethodTrampoline(0, (Parser target) => target.pars eNewExpression()),
8149 'parseNonLabeledStatement_0': new MethodTrampoline(0, (Parser target) => targe t.parseNonLabeledStatement()),
8150 'parseNormalFormalParameter_0': new MethodTrampoline(0, (Parser target) => tar get.parseNormalFormalParameter()),
8151 'parseOperator_3': new MethodTrampoline(3, (Parser target, arg0, arg1, arg2) = > target.parseOperator(arg0, arg1, arg2)),
8152 'parseOptionalReturnType_0': new MethodTrampoline(0, (Parser target) => target .parseOptionalReturnType()),
8153 'parsePartDirective_1': new MethodTrampoline(1, (Parser target, arg0) => targe t.parsePartDirective(arg0)),
8154 'parsePostfixExpression_0': new MethodTrampoline(0, (Parser target) => target. parsePostfixExpression()),
8155 'parsePrefixedIdentifier_0': new MethodTrampoline(0, (Parser target) => target .parsePrefixedIdentifier()),
8156 'parsePrimaryExpression_0': new MethodTrampoline(0, (Parser target) => target. parsePrimaryExpression()),
8157 'parseRedirectingConstructorInvocation_0': new MethodTrampoline(0, (Parser tar get) => target.parseRedirectingConstructorInvocation()),
8158 'parseRelationalExpression_0': new MethodTrampoline(0, (Parser target) => targ et.parseRelationalExpression()),
8159 'parseReturnStatement_0': new MethodTrampoline(0, (Parser target) => target.pa rseReturnStatement()),
8160 'parseReturnType_0': new MethodTrampoline(0, (Parser target) => target.parseRe turnType()),
8161 'parseSetter_4': new MethodTrampoline(4, (Parser target, arg0, arg1, arg2, arg 3) => target.parseSetter(arg0, arg1, arg2, arg3)),
8162 'parseShiftExpression_0': new MethodTrampoline(0, (Parser target) => target.pa rseShiftExpression()),
8163 'parseSimpleIdentifier_0': new MethodTrampoline(0, (Parser target) => target.p arseSimpleIdentifier()),
8164 'parseSimpleIdentifier_1': new MethodTrampoline(1, (Parser target, arg0) => ta rget.parseSimpleIdentifier2(arg0)),
8165 'parseStatement_0': new MethodTrampoline(0, (Parser target) => target.parseSta tement2()),
8166 'parseStatements_0': new MethodTrampoline(0, (Parser target) => target.parseSt atements2()),
8167 'parseStringInterpolation_1': new MethodTrampoline(1, (Parser target, arg0) => target.parseStringInterpolation(arg0)),
8168 'parseStringLiteral_0': new MethodTrampoline(0, (Parser target) => target.pars eStringLiteral()),
8169 'parseSuperConstructorInvocation_0': new MethodTrampoline(0, (Parser target) = > target.parseSuperConstructorInvocation()),
8170 'parseSwitchStatement_0': new MethodTrampoline(0, (Parser target) => target.pa rseSwitchStatement()),
8171 'parseThrowExpression_0': new MethodTrampoline(0, (Parser target) => target.pa rseThrowExpression()),
8172 'parseThrowExpressionWithoutCascade_0': new MethodTrampoline(0, (Parser target ) => target.parseThrowExpressionWithoutCascade()),
8173 'parseTryStatement_0': new MethodTrampoline(0, (Parser target) => target.parse TryStatement()),
8174 'parseTypeAlias_1': new MethodTrampoline(1, (Parser target, arg0) => target.pa rseTypeAlias(arg0)),
8175 'parseTypeArgumentList_0': new MethodTrampoline(0, (Parser target) => target.p arseTypeArgumentList()),
8176 'parseTypeName_0': new MethodTrampoline(0, (Parser target) => target.parseType Name()),
8177 'parseTypeParameter_0': new MethodTrampoline(0, (Parser target) => target.pars eTypeParameter()),
8178 'parseTypeParameterList_0': new MethodTrampoline(0, (Parser target) => target. parseTypeParameterList()),
8179 'parseUnaryExpression_0': new MethodTrampoline(0, (Parser target) => target.pa rseUnaryExpression()),
8180 'parseVariableDeclaration_0': new MethodTrampoline(0, (Parser target) => targe t.parseVariableDeclaration()),
8181 'parseVariableDeclarationList_0': new MethodTrampoline(0, (Parser target) => t arget.parseVariableDeclarationList()),
8182 'parseVariableDeclarationList_2': new MethodTrampoline(2, (Parser target, arg0 , arg1) => target.parseVariableDeclarationList2(arg0, arg1)),
8183 'parseVariableDeclarationStatement_0': new MethodTrampoline(0, (Parser target) => target.parseVariableDeclarationStatement()),
8184 'parseWhileStatement_0': new MethodTrampoline(0, (Parser target) => target.par seWhileStatement()),
8185 'parseWithClause_0': new MethodTrampoline(0, (Parser target) => target.parseWi thClause()),
8186 'peek_0': new MethodTrampoline(0, (Parser target) => target.peek()),
8187 'peek_1': new MethodTrampoline(1, (Parser target, arg0) => target.peek2(arg0)) ,
8188 'reportError_3': new MethodTrampoline(3, (Parser target, arg0, arg1, arg2) => target.reportError(arg0, arg1, arg2)),
8189 'reportError_2': new MethodTrampoline(2, (Parser target, arg0, arg1) => target .reportError3(arg0, arg1)),
8190 'skipFinalConstVarOrType_1': new MethodTrampoline(1, (Parser target, arg0) => target.skipFinalConstVarOrType(arg0)),
8191 'skipFormalParameterList_1': new MethodTrampoline(1, (Parser target, arg0) => target.skipFormalParameterList(arg0)),
8192 'skipPastMatchingToken_1': new MethodTrampoline(1, (Parser target, arg0) => ta rget.skipPastMatchingToken(arg0)),
8193 'skipPrefixedIdentifier_1': new MethodTrampoline(1, (Parser target, arg0) => t arget.skipPrefixedIdentifier(arg0)),
8194 'skipReturnType_1': new MethodTrampoline(1, (Parser target, arg0) => target.sk ipReturnType(arg0)),
8195 'skipSimpleIdentifier_1': new MethodTrampoline(1, (Parser target, arg0) => tar get.skipSimpleIdentifier(arg0)),
8196 'skipStringInterpolation_1': new MethodTrampoline(1, (Parser target, arg0) => target.skipStringInterpolation(arg0)),
8197 'skipStringLiteral_1': new MethodTrampoline(1, (Parser target, arg0) => target .skipStringLiteral(arg0)),
8198 'skipTypeArgumentList_1': new MethodTrampoline(1, (Parser target, arg0) => tar get.skipTypeArgumentList(arg0)),
8199 'skipTypeName_1': new MethodTrampoline(1, (Parser target, arg0) => target.skip TypeName(arg0)),
8200 'skipTypeParameterList_1': new MethodTrampoline(1, (Parser target, arg0) => ta rget.skipTypeParameterList(arg0)),
8201 'translateCharacter_3': new MethodTrampoline(3, (Parser target, arg0, arg1, ar g2) => target.translateCharacter(arg0, arg1, arg2)),
8202 'validateFormalParameterList_1': new MethodTrampoline(1, (Parser target, arg0) => target.validateFormalParameterList(arg0)),
8203 'validateModifiersForClass_1': new MethodTrampoline(1, (Parser target, arg0) = > target.validateModifiersForClass(arg0)),
8204 'validateModifiersForConstructor_1': new MethodTrampoline(1, (Parser target, a rg0) => target.validateModifiersForConstructor(arg0)),
8205 'validateModifiersForField_1': new MethodTrampoline(1, (Parser target, arg0) = > target.validateModifiersForField(arg0)),
8206 'validateModifiersForGetterOrSetterOrMethod_1': new MethodTrampoline(1, (Parse r target, arg0) => target.validateModifiersForGetterOrSetterOrMethod(arg0)),
8207 'validateModifiersForOperator_1': new MethodTrampoline(1, (Parser target, arg0 ) => target.validateModifiersForOperator(arg0)),
8208 'validateModifiersForTopLevelDeclaration_1': new MethodTrampoline(1, (Parser t arget, arg0) => target.validateModifiersForTopLevelDeclaration(arg0)),
8209 'validateModifiersForTopLevelFunction_1': new MethodTrampoline(1, (Parser targ et, arg0) => target.validateModifiersForTopLevelFunction(arg0)),
8210 'validateModifiersForTopLevelVariable_1': new MethodTrampoline(1, (Parser targ et, arg0) => target.validateModifiersForTopLevelVariable(arg0)),
8211 'validateModifiersForTypedef_1': new MethodTrampoline(1, (Parser target, arg0) => target.validateModifiersForTypedef(arg0)),};
8212
8213
8214 Object invokeParserMethodImpl(Parser parser, String methodName, List<Object> obj ects, Token tokenStream) {
8215 parser.currentToken = tokenStream;
8216 MethodTrampoline method = _methodTable_Parser['${methodName}_${objects.length} '];
8217 return method.invoke(parser, objects);
8218 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer-experimental/test/generated/scanner_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698