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

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

Issue 257773008: New analyzer snapshot, based on r35422. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Update pubspec.yaml Created 6 years, 8 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
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // This code was auto-generated, is not intended to be edited, and is subject to 5 // This code was auto-generated, is not intended to be edited, and is subject to
6 // significant change. Please see the README file for more information. 6 // significant change. Please see the README file for more information.
7 7
8 library engine.parser_test; 8 library engine.parser_test;
9 9
10 import 'package:analyzer/src/generated/java_core.dart'; 10 import 'package:analyzer/src/generated/java_core.dart';
11 import 'package:analyzer/src/generated/java_junit.dart'; 11 import 'package:analyzer/src/generated/java_junit.dart';
12 import 'package:analyzer/src/generated/error.dart'; 12 import 'package:analyzer/src/generated/error.dart';
13 import 'package:analyzer/src/generated/source.dart' show Source; 13 import 'package:analyzer/src/generated/source.dart' show Source;
14 import 'package:analyzer/src/generated/scanner.dart'; 14 import 'package:analyzer/src/generated/scanner.dart';
15 import 'package:analyzer/src/generated/ast.dart'; 15 import 'package:analyzer/src/generated/ast.dart';
16 import 'package:analyzer/src/generated/parser.dart'; 16 import 'package:analyzer/src/generated/parser.dart';
17 import 'package:analyzer/src/generated/element.dart'; 17 import 'package:analyzer/src/generated/element.dart';
18 import 'package:analyzer/src/generated/utilities_dart.dart'; 18 import 'package:analyzer/src/generated/utilities_dart.dart';
19 import 'package:unittest/unittest.dart' as _ut; 19 import 'package:unittest/unittest.dart' as _ut;
20 import 'test_support.dart'; 20 import 'test_support.dart';
21 import 'scanner_test.dart' show TokenFactory; 21 import 'scanner_test.dart' show TokenFactory;
22 import 'ast_test.dart' show AstFactory; 22 import 'ast_test.dart' show AstFactory;
23 import 'element_test.dart' show ElementFactory; 23 import 'element_test.dart' show ElementFactory;
24 24
25 /**
26 * The class `SimpleParserTest` defines parser tests that test individual parsin g method. The
27 * code fragments should be as minimal as possible in order to test the method, but should not test
28 * the interactions between the method under test and other methods.
29 *
30 * More complex tests should be defined in the class [ComplexParserTest].
31 */
32 class SimpleParserTest extends ParserTestCase {
33 void fail_parseCommentReference_this() {
34 // This fails because we are returning null from the method and asserting th at the return value
35 // is not null.
36 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["this", 5], "");
37 SimpleIdentifier identifier = EngineTestCase.assertInstanceOf((obj) => obj i s SimpleIdentifier, SimpleIdentifier, reference.identifier);
38 JUnitTestCase.assertNotNull(identifier.token);
39 JUnitTestCase.assertEquals("a", identifier.name);
40 JUnitTestCase.assertEquals(5, identifier.offset);
41 }
42
43 void test_computeStringValue_emptyInterpolationPrefix() {
44 JUnitTestCase.assertEquals("", _computeStringValue("'''", true, false));
45 }
46
47 void test_computeStringValue_escape_b() {
48 JUnitTestCase.assertEquals("\b", _computeStringValue("'\\b'", true, true));
49 }
50
51 void test_computeStringValue_escape_f() {
52 JUnitTestCase.assertEquals("\f", _computeStringValue("'\\f'", true, true));
53 }
54
55 void test_computeStringValue_escape_n() {
56 JUnitTestCase.assertEquals("\n", _computeStringValue("'\\n'", true, true));
57 }
58
59 void test_computeStringValue_escape_notSpecial() {
60 JUnitTestCase.assertEquals(":", _computeStringValue("'\\:'", true, true));
61 }
62
63 void test_computeStringValue_escape_r() {
64 JUnitTestCase.assertEquals("\r", _computeStringValue("'\\r'", true, true));
65 }
66
67 void test_computeStringValue_escape_t() {
68 JUnitTestCase.assertEquals("\t", _computeStringValue("'\\t'", true, true));
69 }
70
71 void test_computeStringValue_escape_u_fixed() {
72 JUnitTestCase.assertEquals("\u4321", _computeStringValue("'\\u4321'", true, true));
73 }
74
75 void test_computeStringValue_escape_u_variable() {
76 JUnitTestCase.assertEquals("\u0123", _computeStringValue("'\\u{123}'", true, true));
77 }
78
79 void test_computeStringValue_escape_v() {
80 JUnitTestCase.assertEquals("\u000B", _computeStringValue("'\\v'", true, true ));
81 }
82
83 void test_computeStringValue_escape_x() {
84 JUnitTestCase.assertEquals("\u00FF", _computeStringValue("'\\xFF'", true, tr ue));
85 }
86
87 void test_computeStringValue_noEscape_single() {
88 JUnitTestCase.assertEquals("text", _computeStringValue("'text'", true, true) );
89 }
90
91 void test_computeStringValue_noEscape_triple() {
92 JUnitTestCase.assertEquals("text", _computeStringValue("'''text'''", true, t rue));
93 }
94
95 void test_computeStringValue_raw_single() {
96 JUnitTestCase.assertEquals("text", _computeStringValue("r'text'", true, true ));
97 }
98
99 void test_computeStringValue_raw_triple() {
100 JUnitTestCase.assertEquals("text", _computeStringValue("r'''text'''", true, true));
101 }
102
103 void test_computeStringValue_raw_withEscape() {
104 JUnitTestCase.assertEquals("two\\nlines", _computeStringValue("r'two\\nlines '", true, true));
105 }
106
107 void test_computeStringValue_triple_internalQuote_first_empty() {
108 JUnitTestCase.assertEquals("'", _computeStringValue("''''", true, false));
109 }
110
111 void test_computeStringValue_triple_internalQuote_first_nonEmpty() {
112 JUnitTestCase.assertEquals("'text", _computeStringValue("''''text", true, fa lse));
113 }
114
115 void test_computeStringValue_triple_internalQuote_last_empty() {
116 JUnitTestCase.assertEquals("", _computeStringValue("'''", false, true));
117 }
118
119 void test_computeStringValue_triple_internalQuote_last_nonEmpty() {
120 JUnitTestCase.assertEquals("text", _computeStringValue("text'''", false, tru e));
121 }
122
123 void test_constFactory() {
124 ParserTestCase.parse("parseClassMember", <Object> ["C"], "const factory C() = A;");
125 }
126
127 void test_createSyntheticIdentifier() {
128 SimpleIdentifier identifier = _createSyntheticIdentifier();
129 JUnitTestCase.assertTrue(identifier.isSynthetic);
130 }
131
132 void test_createSyntheticStringLiteral() {
133 SimpleStringLiteral literal = _createSyntheticStringLiteral();
134 JUnitTestCase.assertTrue(literal.isSynthetic);
135 }
136
137 void test_function_literal_allowed_at_toplevel() {
138 ParserTestCase.parseCompilationUnit("var x = () {};", []);
139 }
140
141 void test_function_literal_allowed_in_ArgumentList_in_ConstructorFieldInitiali zer() {
142 ParserTestCase.parseCompilationUnit("class C { C() : a = f(() {}); }", []);
143 }
144
145 void test_function_literal_allowed_in_IndexExpression_in_ConstructorFieldIniti alizer() {
146 ParserTestCase.parseCompilationUnit("class C { C() : a = x[() {}]; }", []);
147 }
148
149 void test_function_literal_allowed_in_ListLiteral_in_ConstructorFieldInitializ er() {
150 ParserTestCase.parseCompilationUnit("class C { C() : a = [() {}]; }", []);
151 }
152
153 void test_function_literal_allowed_in_MapLiteral_in_ConstructorFieldInitialize r() {
154 ParserTestCase.parseCompilationUnit("class C { C() : a = {'key': () {}}; }", []);
155 }
156
157 void test_function_literal_allowed_in_ParenthesizedExpression_in_ConstructorFi eldInitializer() {
158 ParserTestCase.parseCompilationUnit("class C { C() : a = (() {}); }", []);
159 }
160
161 void test_function_literal_allowed_in_StringInterpolation_in_ConstructorFieldI nitializer() {
162 ParserTestCase.parseCompilationUnit("class C { C() : a = \"\${(){}}\"; }", [ ]);
163 }
164
165 void test_isFunctionDeclaration_nameButNoReturn_block() {
166 JUnitTestCase.assertTrue(_isFunctionDeclaration("f() {}"));
167 }
168
169 void test_isFunctionDeclaration_nameButNoReturn_expression() {
170 JUnitTestCase.assertTrue(_isFunctionDeclaration("f() => e"));
171 }
172
173 void test_isFunctionDeclaration_normalReturn_block() {
174 JUnitTestCase.assertTrue(_isFunctionDeclaration("C f() {}"));
175 }
176
177 void test_isFunctionDeclaration_normalReturn_expression() {
178 JUnitTestCase.assertTrue(_isFunctionDeclaration("C f() => e"));
179 }
180
181 void test_isFunctionDeclaration_voidReturn_block() {
182 JUnitTestCase.assertTrue(_isFunctionDeclaration("void f() {}"));
183 }
184
185 void test_isFunctionDeclaration_voidReturn_expression() {
186 JUnitTestCase.assertTrue(_isFunctionDeclaration("void f() => e"));
187 }
188
189 void test_isFunctionExpression_false_noBody() {
190 JUnitTestCase.assertFalse(_isFunctionExpression("f();"));
191 }
192
193 void test_isFunctionExpression_false_notParameters() {
194 JUnitTestCase.assertFalse(_isFunctionExpression("(a + b) {"));
195 }
196
197 void test_isFunctionExpression_noName_block() {
198 JUnitTestCase.assertTrue(_isFunctionExpression("() {}"));
199 }
200
201 void test_isFunctionExpression_noName_expression() {
202 JUnitTestCase.assertTrue(_isFunctionExpression("() => e"));
203 }
204
205 void test_isFunctionExpression_parameter_final() {
206 JUnitTestCase.assertTrue(_isFunctionExpression("(final a) {}"));
207 JUnitTestCase.assertTrue(_isFunctionExpression("(final a, b) {}"));
208 JUnitTestCase.assertTrue(_isFunctionExpression("(final a, final b) {}"));
209 }
210
211 void test_isFunctionExpression_parameter_final_typed() {
212 JUnitTestCase.assertTrue(_isFunctionExpression("(final int a) {}"));
213 JUnitTestCase.assertTrue(_isFunctionExpression("(final prefix.List a) {}"));
214 JUnitTestCase.assertTrue(_isFunctionExpression("(final List<int> a) {}"));
215 JUnitTestCase.assertTrue(_isFunctionExpression("(final prefix.List<int> a) { }"));
216 }
217
218 void test_isFunctionExpression_parameter_multiple() {
219 JUnitTestCase.assertTrue(_isFunctionExpression("(a, b) {}"));
220 }
221
222 void test_isFunctionExpression_parameter_named() {
223 JUnitTestCase.assertTrue(_isFunctionExpression("({a}) {}"));
224 }
225
226 void test_isFunctionExpression_parameter_optional() {
227 JUnitTestCase.assertTrue(_isFunctionExpression("([a]) {}"));
228 }
229
230 void test_isFunctionExpression_parameter_single() {
231 JUnitTestCase.assertTrue(_isFunctionExpression("(a) {}"));
232 }
233
234 void test_isFunctionExpression_parameter_typed() {
235 JUnitTestCase.assertTrue(_isFunctionExpression("(int a, int b) {}"));
236 }
237
238 void test_isInitializedVariableDeclaration_assignment() {
239 JUnitTestCase.assertFalse(_isInitializedVariableDeclaration("a = null;"));
240 }
241
242 void test_isInitializedVariableDeclaration_comparison() {
243 JUnitTestCase.assertFalse(_isInitializedVariableDeclaration("a < 0;"));
244 }
245
246 void test_isInitializedVariableDeclaration_conditional() {
247 JUnitTestCase.assertFalse(_isInitializedVariableDeclaration("a == null ? ini t() : update();"));
248 }
249
250 void test_isInitializedVariableDeclaration_const_noType_initialized() {
251 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("const a = 0;"));
252 }
253
254 void test_isInitializedVariableDeclaration_const_noType_uninitialized() {
255 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("const a;"));
256 }
257
258 void test_isInitializedVariableDeclaration_const_simpleType_uninitialized() {
259 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("const A a;"));
260 }
261
262 void test_isInitializedVariableDeclaration_final_noType_initialized() {
263 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("final a = 0;"));
264 }
265
266 void test_isInitializedVariableDeclaration_final_noType_uninitialized() {
267 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("final a;"));
268 }
269
270 void test_isInitializedVariableDeclaration_final_simpleType_initialized() {
271 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("final A a = 0;") );
272 }
273
274 void test_isInitializedVariableDeclaration_functionDeclaration_typed() {
275 JUnitTestCase.assertFalse(_isInitializedVariableDeclaration("A f() {};"));
276 }
277
278 void test_isInitializedVariableDeclaration_functionDeclaration_untyped() {
279 JUnitTestCase.assertFalse(_isInitializedVariableDeclaration("f() {};"));
280 }
281
282 void test_isInitializedVariableDeclaration_noType_initialized() {
283 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("var a = 0;"));
284 }
285
286 void test_isInitializedVariableDeclaration_noType_uninitialized() {
287 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("var a;"));
288 }
289
290 void test_isInitializedVariableDeclaration_parameterizedType_initialized() {
291 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("List<int> a = nu ll;"));
292 }
293
294 void test_isInitializedVariableDeclaration_parameterizedType_uninitialized() {
295 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("List<int> a;"));
296 }
297
298 void test_isInitializedVariableDeclaration_simpleType_initialized() {
299 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("A a = 0;"));
300 }
301
302 void test_isInitializedVariableDeclaration_simpleType_uninitialized() {
303 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("A a;"));
304 }
305
306 void test_isSwitchMember_case_labeled() {
307 JUnitTestCase.assertTrue(_isSwitchMember("l1: l2: case"));
308 }
309
310 void test_isSwitchMember_case_unlabeled() {
311 JUnitTestCase.assertTrue(_isSwitchMember("case"));
312 }
313
314 void test_isSwitchMember_default_labeled() {
315 JUnitTestCase.assertTrue(_isSwitchMember("l1: l2: default"));
316 }
317
318 void test_isSwitchMember_default_unlabeled() {
319 JUnitTestCase.assertTrue(_isSwitchMember("default"));
320 }
321
322 void test_isSwitchMember_false() {
323 JUnitTestCase.assertFalse(_isSwitchMember("break;"));
324 }
325
326 void test_parseAdditiveExpression_normal() {
327 BinaryExpression expression = ParserTestCase.parse4("parseAdditiveExpression ", "x + y", []);
328 JUnitTestCase.assertNotNull(expression.leftOperand);
329 JUnitTestCase.assertNotNull(expression.operator);
330 JUnitTestCase.assertEquals(TokenType.PLUS, expression.operator.type);
331 JUnitTestCase.assertNotNull(expression.rightOperand);
332 }
333
334 void test_parseAdditiveExpression_super() {
335 BinaryExpression expression = ParserTestCase.parse4("parseAdditiveExpression ", "super + y", []);
336 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, expression.leftOperand);
337 JUnitTestCase.assertNotNull(expression.operator);
338 JUnitTestCase.assertEquals(TokenType.PLUS, expression.operator.type);
339 JUnitTestCase.assertNotNull(expression.rightOperand);
340 }
341
342 void test_parseAnnotation_n1() {
343 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A", []);
344 JUnitTestCase.assertNotNull(annotation.atSign);
345 JUnitTestCase.assertNotNull(annotation.name);
346 JUnitTestCase.assertNull(annotation.period);
347 JUnitTestCase.assertNull(annotation.constructorName);
348 JUnitTestCase.assertNull(annotation.arguments);
349 }
350
351 void test_parseAnnotation_n1_a() {
352 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A(x,y)", []);
353 JUnitTestCase.assertNotNull(annotation.atSign);
354 JUnitTestCase.assertNotNull(annotation.name);
355 JUnitTestCase.assertNull(annotation.period);
356 JUnitTestCase.assertNull(annotation.constructorName);
357 JUnitTestCase.assertNotNull(annotation.arguments);
358 }
359
360 void test_parseAnnotation_n2() {
361 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A.B", []) ;
362 JUnitTestCase.assertNotNull(annotation.atSign);
363 JUnitTestCase.assertNotNull(annotation.name);
364 JUnitTestCase.assertNull(annotation.period);
365 JUnitTestCase.assertNull(annotation.constructorName);
366 JUnitTestCase.assertNull(annotation.arguments);
367 }
368
369 void test_parseAnnotation_n2_a() {
370 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A.B(x,y)" , []);
371 JUnitTestCase.assertNotNull(annotation.atSign);
372 JUnitTestCase.assertNotNull(annotation.name);
373 JUnitTestCase.assertNull(annotation.period);
374 JUnitTestCase.assertNull(annotation.constructorName);
375 JUnitTestCase.assertNotNull(annotation.arguments);
376 }
377
378 void test_parseAnnotation_n3() {
379 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A.B.C", [ ]);
380 JUnitTestCase.assertNotNull(annotation.atSign);
381 JUnitTestCase.assertNotNull(annotation.name);
382 JUnitTestCase.assertNotNull(annotation.period);
383 JUnitTestCase.assertNotNull(annotation.constructorName);
384 JUnitTestCase.assertNull(annotation.arguments);
385 }
386
387 void test_parseAnnotation_n3_a() {
388 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A.B.C(x,y )", []);
389 JUnitTestCase.assertNotNull(annotation.atSign);
390 JUnitTestCase.assertNotNull(annotation.name);
391 JUnitTestCase.assertNotNull(annotation.period);
392 JUnitTestCase.assertNotNull(annotation.constructorName);
393 JUnitTestCase.assertNotNull(annotation.arguments);
394 }
395
396 void test_parseArgument_named() {
397 NamedExpression expression = ParserTestCase.parse4("parseArgument", "n: x", []);
398 Label name = expression.name;
399 JUnitTestCase.assertNotNull(name);
400 JUnitTestCase.assertNotNull(name.label);
401 JUnitTestCase.assertNotNull(name.colon);
402 JUnitTestCase.assertNotNull(expression.expression);
403 }
404
405 void test_parseArgument_unnamed() {
406 String lexeme = "x";
407 SimpleIdentifier identifier = ParserTestCase.parse4("parseArgument", lexeme, []);
408 JUnitTestCase.assertEquals(lexeme, identifier.name);
409 }
410
411 void test_parseArgumentDefinitionTest() {
412 ArgumentDefinitionTest test = ParserTestCase.parse4("parseArgumentDefinition Test", "?x", [ParserErrorCode.DEPRECATED_ARGUMENT_DEFINITION_TEST]);
413 JUnitTestCase.assertNotNull(test.question);
414 JUnitTestCase.assertNotNull(test.identifier);
415 }
416
417 void test_parseArgumentList_empty() {
418 ArgumentList argumentList = ParserTestCase.parse4("parseArgumentList", "()", []);
419 NodeList<Expression> arguments = argumentList.arguments;
420 EngineTestCase.assertSizeOfList(0, arguments);
421 }
422
423 void test_parseArgumentList_mixed() {
424 ArgumentList argumentList = ParserTestCase.parse4("parseArgumentList", "(w, x, y: y, z: z)", []);
425 NodeList<Expression> arguments = argumentList.arguments;
426 EngineTestCase.assertSizeOfList(4, arguments);
427 }
428
429 void test_parseArgumentList_noNamed() {
430 ArgumentList argumentList = ParserTestCase.parse4("parseArgumentList", "(x, y, z)", []);
431 NodeList<Expression> arguments = argumentList.arguments;
432 EngineTestCase.assertSizeOfList(3, arguments);
433 }
434
435 void test_parseArgumentList_onlyNamed() {
436 ArgumentList argumentList = ParserTestCase.parse4("parseArgumentList", "(x: x, y: y)", []);
437 NodeList<Expression> arguments = argumentList.arguments;
438 EngineTestCase.assertSizeOfList(2, arguments);
439 }
440
441 void test_parseAssertStatement() {
442 AssertStatement statement = ParserTestCase.parse4("parseAssertStatement", "a ssert (x);", []);
443 JUnitTestCase.assertNotNull(statement.keyword);
444 JUnitTestCase.assertNotNull(statement.leftParenthesis);
445 JUnitTestCase.assertNotNull(statement.condition);
446 JUnitTestCase.assertNotNull(statement.rightParenthesis);
447 JUnitTestCase.assertNotNull(statement.semicolon);
448 }
449
450 void test_parseAssignableExpression_expression_args_dot() {
451 PropertyAccess propertyAccess = ParserTestCase.parse("parseAssignableExpress ion", <Object> [false], "(x)(y).z");
452 FunctionExpressionInvocation invocation = propertyAccess.target as FunctionE xpressionInvocation;
453 JUnitTestCase.assertNotNull(invocation.function);
454 ArgumentList argumentList = invocation.argumentList;
455 JUnitTestCase.assertNotNull(argumentList);
456 EngineTestCase.assertSizeOfList(1, argumentList.arguments);
457 JUnitTestCase.assertNotNull(propertyAccess.operator);
458 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
459 }
460
461 void test_parseAssignableExpression_expression_dot() {
462 PropertyAccess propertyAccess = ParserTestCase.parse("parseAssignableExpress ion", <Object> [false], "(x).y");
463 JUnitTestCase.assertNotNull(propertyAccess.target);
464 JUnitTestCase.assertNotNull(propertyAccess.operator);
465 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
466 }
467
468 void test_parseAssignableExpression_expression_index() {
469 IndexExpression expression = ParserTestCase.parse("parseAssignableExpression ", <Object> [false], "(x)[y]");
470 JUnitTestCase.assertNotNull(expression.target);
471 JUnitTestCase.assertNotNull(expression.leftBracket);
472 JUnitTestCase.assertNotNull(expression.index);
473 JUnitTestCase.assertNotNull(expression.rightBracket);
474 }
475
476 void test_parseAssignableExpression_identifier() {
477 SimpleIdentifier identifier = ParserTestCase.parse("parseAssignableExpressio n", <Object> [false], "x");
478 JUnitTestCase.assertNotNull(identifier);
479 }
480
481 void test_parseAssignableExpression_identifier_args_dot() {
482 PropertyAccess propertyAccess = ParserTestCase.parse("parseAssignableExpress ion", <Object> [false], "x(y).z");
483 MethodInvocation invocation = propertyAccess.target as MethodInvocation;
484 JUnitTestCase.assertEquals("x", invocation.methodName.name);
485 ArgumentList argumentList = invocation.argumentList;
486 JUnitTestCase.assertNotNull(argumentList);
487 EngineTestCase.assertSizeOfList(1, argumentList.arguments);
488 JUnitTestCase.assertNotNull(propertyAccess.operator);
489 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
490 }
491
492 void test_parseAssignableExpression_identifier_dot() {
493 PropertyAccess propertyAccess = ParserTestCase.parse("parseAssignableExpress ion", <Object> [false], "x.y");
494 JUnitTestCase.assertNotNull(propertyAccess.target);
495 JUnitTestCase.assertNotNull(propertyAccess.operator);
496 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
497 }
498
499 void test_parseAssignableExpression_identifier_index() {
500 IndexExpression expression = ParserTestCase.parse("parseAssignableExpression ", <Object> [false], "x[y]");
501 JUnitTestCase.assertNotNull(expression.target);
502 JUnitTestCase.assertNotNull(expression.leftBracket);
503 JUnitTestCase.assertNotNull(expression.index);
504 JUnitTestCase.assertNotNull(expression.rightBracket);
505 }
506
507 void test_parseAssignableExpression_super_dot() {
508 PropertyAccess propertyAccess = ParserTestCase.parse("parseAssignableExpress ion", <Object> [false], "super.y");
509 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, propertyAccess.target);
510 JUnitTestCase.assertNotNull(propertyAccess.operator);
511 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
512 }
513
514 void test_parseAssignableExpression_super_index() {
515 IndexExpression expression = ParserTestCase.parse("parseAssignableExpression ", <Object> [false], "super[y]");
516 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, expression.target);
517 JUnitTestCase.assertNotNull(expression.leftBracket);
518 JUnitTestCase.assertNotNull(expression.index);
519 JUnitTestCase.assertNotNull(expression.rightBracket);
520 }
521
522 void test_parseAssignableSelector_dot() {
523 PropertyAccess selector = ParserTestCase.parse("parseAssignableSelector", <O bject> [null, true], ".x");
524 JUnitTestCase.assertNotNull(selector.operator);
525 JUnitTestCase.assertNotNull(selector.propertyName);
526 }
527
528 void test_parseAssignableSelector_index() {
529 IndexExpression selector = ParserTestCase.parse("parseAssignableSelector", < Object> [null, true], "[x]");
530 JUnitTestCase.assertNotNull(selector.leftBracket);
531 JUnitTestCase.assertNotNull(selector.index);
532 JUnitTestCase.assertNotNull(selector.rightBracket);
533 }
534
535 void test_parseAssignableSelector_none() {
536 SimpleIdentifier selector = ParserTestCase.parse("parseAssignableSelector", <Object> [new SimpleIdentifier(null), true], ";");
537 JUnitTestCase.assertNotNull(selector);
538 }
539
540 void test_parseBitwiseAndExpression_normal() {
541 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseAndExpressi on", "x & y", []);
542 JUnitTestCase.assertNotNull(expression.leftOperand);
543 JUnitTestCase.assertNotNull(expression.operator);
544 JUnitTestCase.assertEquals(TokenType.AMPERSAND, expression.operator.type);
545 JUnitTestCase.assertNotNull(expression.rightOperand);
546 }
547
548 void test_parseBitwiseAndExpression_super() {
549 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseAndExpressi on", "super & y", []);
550 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, expression.leftOperand);
551 JUnitTestCase.assertNotNull(expression.operator);
552 JUnitTestCase.assertEquals(TokenType.AMPERSAND, expression.operator.type);
553 JUnitTestCase.assertNotNull(expression.rightOperand);
554 }
555
556 void test_parseBitwiseOrExpression_normal() {
557 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseOrExpressio n", "x | y", []);
558 JUnitTestCase.assertNotNull(expression.leftOperand);
559 JUnitTestCase.assertNotNull(expression.operator);
560 JUnitTestCase.assertEquals(TokenType.BAR, expression.operator.type);
561 JUnitTestCase.assertNotNull(expression.rightOperand);
562 }
563
564 void test_parseBitwiseOrExpression_super() {
565 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseOrExpressio n", "super | y", []);
566 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, expression.leftOperand);
567 JUnitTestCase.assertNotNull(expression.operator);
568 JUnitTestCase.assertEquals(TokenType.BAR, expression.operator.type);
569 JUnitTestCase.assertNotNull(expression.rightOperand);
570 }
571
572 void test_parseBitwiseXorExpression_normal() {
573 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseXorExpressi on", "x ^ y", []);
574 JUnitTestCase.assertNotNull(expression.leftOperand);
575 JUnitTestCase.assertNotNull(expression.operator);
576 JUnitTestCase.assertEquals(TokenType.CARET, expression.operator.type);
577 JUnitTestCase.assertNotNull(expression.rightOperand);
578 }
579
580 void test_parseBitwiseXorExpression_super() {
581 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseXorExpressi on", "super ^ y", []);
582 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, expression.leftOperand);
583 JUnitTestCase.assertNotNull(expression.operator);
584 JUnitTestCase.assertEquals(TokenType.CARET, expression.operator.type);
585 JUnitTestCase.assertNotNull(expression.rightOperand);
586 }
587
588 void test_parseBlock_empty() {
589 Block block = ParserTestCase.parse4("parseBlock", "{}", []);
590 JUnitTestCase.assertNotNull(block.leftBracket);
591 EngineTestCase.assertSizeOfList(0, block.statements);
592 JUnitTestCase.assertNotNull(block.rightBracket);
593 }
594
595 void test_parseBlock_nonEmpty() {
596 Block block = ParserTestCase.parse4("parseBlock", "{;}", []);
597 JUnitTestCase.assertNotNull(block.leftBracket);
598 EngineTestCase.assertSizeOfList(1, block.statements);
599 JUnitTestCase.assertNotNull(block.rightBracket);
600 }
601
602 void test_parseBreakStatement_label() {
603 BreakStatement statement = ParserTestCase.parse4("parseBreakStatement", "bre ak foo;", []);
604 JUnitTestCase.assertNotNull(statement.keyword);
605 JUnitTestCase.assertNotNull(statement.label);
606 JUnitTestCase.assertNotNull(statement.semicolon);
607 }
608
609 void test_parseBreakStatement_noLabel() {
610 BreakStatement statement = ParserTestCase.parse4("parseBreakStatement", "bre ak;", [ParserErrorCode.BREAK_OUTSIDE_OF_LOOP]);
611 JUnitTestCase.assertNotNull(statement.keyword);
612 JUnitTestCase.assertNull(statement.label);
613 JUnitTestCase.assertNotNull(statement.semicolon);
614 }
615
616 void test_parseCascadeSection_i() {
617 IndexExpression section = ParserTestCase.parse4("parseCascadeSection", "..[i ]", []);
618 JUnitTestCase.assertNull(section.target);
619 JUnitTestCase.assertNotNull(section.leftBracket);
620 JUnitTestCase.assertNotNull(section.index);
621 JUnitTestCase.assertNotNull(section.rightBracket);
622 }
623
624 void test_parseCascadeSection_ia() {
625 FunctionExpressionInvocation section = ParserTestCase.parse4("parseCascadeSe ction", "..[i](b)", []);
626 EngineTestCase.assertInstanceOf((obj) => obj is IndexExpression, IndexExpres sion, section.function);
627 JUnitTestCase.assertNotNull(section.argumentList);
628 }
629
630 void test_parseCascadeSection_ii() {
631 MethodInvocation section = ParserTestCase.parse4("parseCascadeSection", "..a (b).c(d)", []);
632 EngineTestCase.assertInstanceOf((obj) => obj is MethodInvocation, MethodInvo cation, section.target);
633 JUnitTestCase.assertNotNull(section.period);
634 JUnitTestCase.assertNotNull(section.methodName);
635 JUnitTestCase.assertNotNull(section.argumentList);
636 EngineTestCase.assertSizeOfList(1, section.argumentList.arguments);
637 }
638
639 void test_parseCascadeSection_p() {
640 PropertyAccess section = ParserTestCase.parse4("parseCascadeSection", "..a", []);
641 JUnitTestCase.assertNull(section.target);
642 JUnitTestCase.assertNotNull(section.operator);
643 JUnitTestCase.assertNotNull(section.propertyName);
644 }
645
646 void test_parseCascadeSection_p_assign() {
647 AssignmentExpression section = ParserTestCase.parse4("parseCascadeSection", "..a = 3", []);
648 JUnitTestCase.assertNotNull(section.leftHandSide);
649 JUnitTestCase.assertNotNull(section.operator);
650 Expression rhs = section.rightHandSide;
651 JUnitTestCase.assertNotNull(rhs);
652 }
653
654 void test_parseCascadeSection_p_assign_withCascade() {
655 AssignmentExpression section = ParserTestCase.parse4("parseCascadeSection", "..a = 3..m()", []);
656 JUnitTestCase.assertNotNull(section.leftHandSide);
657 JUnitTestCase.assertNotNull(section.operator);
658 Expression rhs = section.rightHandSide;
659 EngineTestCase.assertInstanceOf((obj) => obj is IntegerLiteral, IntegerLiter al, rhs);
660 }
661
662 void test_parseCascadeSection_p_builtIn() {
663 PropertyAccess section = ParserTestCase.parse4("parseCascadeSection", "..as" , []);
664 JUnitTestCase.assertNull(section.target);
665 JUnitTestCase.assertNotNull(section.operator);
666 JUnitTestCase.assertNotNull(section.propertyName);
667 }
668
669 void test_parseCascadeSection_pa() {
670 MethodInvocation section = ParserTestCase.parse4("parseCascadeSection", "..a (b)", []);
671 JUnitTestCase.assertNull(section.target);
672 JUnitTestCase.assertNotNull(section.period);
673 JUnitTestCase.assertNotNull(section.methodName);
674 JUnitTestCase.assertNotNull(section.argumentList);
675 EngineTestCase.assertSizeOfList(1, section.argumentList.arguments);
676 }
677
678 void test_parseCascadeSection_paa() {
679 FunctionExpressionInvocation section = ParserTestCase.parse4("parseCascadeSe ction", "..a(b)(c)", []);
680 EngineTestCase.assertInstanceOf((obj) => obj is MethodInvocation, MethodInvo cation, section.function);
681 JUnitTestCase.assertNotNull(section.argumentList);
682 EngineTestCase.assertSizeOfList(1, section.argumentList.arguments);
683 }
684
685 void test_parseCascadeSection_paapaa() {
686 FunctionExpressionInvocation section = ParserTestCase.parse4("parseCascadeSe ction", "..a(b)(c).d(e)(f)", []);
687 EngineTestCase.assertInstanceOf((obj) => obj is MethodInvocation, MethodInvo cation, section.function);
688 JUnitTestCase.assertNotNull(section.argumentList);
689 EngineTestCase.assertSizeOfList(1, section.argumentList.arguments);
690 }
691
692 void test_parseCascadeSection_pap() {
693 PropertyAccess section = ParserTestCase.parse4("parseCascadeSection", "..a(b ).c", []);
694 JUnitTestCase.assertNotNull(section.target);
695 JUnitTestCase.assertNotNull(section.operator);
696 JUnitTestCase.assertNotNull(section.propertyName);
697 }
698
699 void test_parseClassDeclaration_abstract() {
700 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [
701 emptyCommentAndMetadata(),
702 TokenFactory.tokenFromKeyword(Keyword.ABSTRACT)], "class A {}");
703 JUnitTestCase.assertNull(declaration.documentationComment);
704 JUnitTestCase.assertNotNull(declaration.abstractKeyword);
705 JUnitTestCase.assertNull(declaration.extendsClause);
706 JUnitTestCase.assertNull(declaration.implementsClause);
707 JUnitTestCase.assertNotNull(declaration.classKeyword);
708 JUnitTestCase.assertNotNull(declaration.leftBracket);
709 JUnitTestCase.assertNotNull(declaration.name);
710 EngineTestCase.assertSizeOfList(0, declaration.members);
711 JUnitTestCase.assertNotNull(declaration.rightBracket);
712 JUnitTestCase.assertNull(declaration.typeParameters);
713 }
714
715 void test_parseClassDeclaration_empty() {
716 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A {}");
717 JUnitTestCase.assertNull(declaration.documentationComment);
718 JUnitTestCase.assertNull(declaration.abstractKeyword);
719 JUnitTestCase.assertNull(declaration.extendsClause);
720 JUnitTestCase.assertNull(declaration.implementsClause);
721 JUnitTestCase.assertNotNull(declaration.classKeyword);
722 JUnitTestCase.assertNotNull(declaration.leftBracket);
723 JUnitTestCase.assertNotNull(declaration.name);
724 EngineTestCase.assertSizeOfList(0, declaration.members);
725 JUnitTestCase.assertNotNull(declaration.rightBracket);
726 JUnitTestCase.assertNull(declaration.typeParameters);
727 }
728
729 void test_parseClassDeclaration_extends() {
730 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A extends B {}");
731 JUnitTestCase.assertNull(declaration.documentationComment);
732 JUnitTestCase.assertNull(declaration.abstractKeyword);
733 JUnitTestCase.assertNotNull(declaration.extendsClause);
734 JUnitTestCase.assertNull(declaration.implementsClause);
735 JUnitTestCase.assertNotNull(declaration.classKeyword);
736 JUnitTestCase.assertNotNull(declaration.leftBracket);
737 JUnitTestCase.assertNotNull(declaration.name);
738 EngineTestCase.assertSizeOfList(0, declaration.members);
739 JUnitTestCase.assertNotNull(declaration.rightBracket);
740 JUnitTestCase.assertNull(declaration.typeParameters);
741 }
742
743 void test_parseClassDeclaration_extendsAndImplements() {
744 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A extends B implements C {}" );
745 JUnitTestCase.assertNull(declaration.documentationComment);
746 JUnitTestCase.assertNull(declaration.abstractKeyword);
747 JUnitTestCase.assertNotNull(declaration.extendsClause);
748 JUnitTestCase.assertNotNull(declaration.implementsClause);
749 JUnitTestCase.assertNotNull(declaration.classKeyword);
750 JUnitTestCase.assertNotNull(declaration.leftBracket);
751 JUnitTestCase.assertNotNull(declaration.name);
752 EngineTestCase.assertSizeOfList(0, declaration.members);
753 JUnitTestCase.assertNotNull(declaration.rightBracket);
754 JUnitTestCase.assertNull(declaration.typeParameters);
755 }
756
757 void test_parseClassDeclaration_extendsAndWith() {
758 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A extends B with C {}");
759 JUnitTestCase.assertNull(declaration.documentationComment);
760 JUnitTestCase.assertNull(declaration.abstractKeyword);
761 JUnitTestCase.assertNotNull(declaration.classKeyword);
762 JUnitTestCase.assertNotNull(declaration.name);
763 JUnitTestCase.assertNull(declaration.typeParameters);
764 JUnitTestCase.assertNotNull(declaration.extendsClause);
765 JUnitTestCase.assertNotNull(declaration.withClause);
766 JUnitTestCase.assertNull(declaration.implementsClause);
767 JUnitTestCase.assertNotNull(declaration.leftBracket);
768 EngineTestCase.assertSizeOfList(0, declaration.members);
769 JUnitTestCase.assertNotNull(declaration.rightBracket);
770 }
771
772 void test_parseClassDeclaration_extendsAndWithAndImplements() {
773 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A extends B with C implement s D {}");
774 JUnitTestCase.assertNull(declaration.documentationComment);
775 JUnitTestCase.assertNull(declaration.abstractKeyword);
776 JUnitTestCase.assertNotNull(declaration.classKeyword);
777 JUnitTestCase.assertNotNull(declaration.name);
778 JUnitTestCase.assertNull(declaration.typeParameters);
779 JUnitTestCase.assertNotNull(declaration.extendsClause);
780 JUnitTestCase.assertNotNull(declaration.withClause);
781 JUnitTestCase.assertNotNull(declaration.implementsClause);
782 JUnitTestCase.assertNotNull(declaration.leftBracket);
783 EngineTestCase.assertSizeOfList(0, declaration.members);
784 JUnitTestCase.assertNotNull(declaration.rightBracket);
785 }
786
787 void test_parseClassDeclaration_implements() {
788 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A implements C {}");
789 JUnitTestCase.assertNull(declaration.documentationComment);
790 JUnitTestCase.assertNull(declaration.abstractKeyword);
791 JUnitTestCase.assertNull(declaration.extendsClause);
792 JUnitTestCase.assertNotNull(declaration.implementsClause);
793 JUnitTestCase.assertNotNull(declaration.classKeyword);
794 JUnitTestCase.assertNotNull(declaration.leftBracket);
795 JUnitTestCase.assertNotNull(declaration.name);
796 EngineTestCase.assertSizeOfList(0, declaration.members);
797 JUnitTestCase.assertNotNull(declaration.rightBracket);
798 JUnitTestCase.assertNull(declaration.typeParameters);
799 }
800
801 void test_parseClassDeclaration_native() {
802 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A native 'nativeValue' {}");
803 NativeClause nativeClause = declaration.nativeClause;
804 JUnitTestCase.assertNotNull(nativeClause);
805 JUnitTestCase.assertNotNull(nativeClause.keyword);
806 JUnitTestCase.assertEquals("nativeValue", nativeClause.name.stringValue);
807 JUnitTestCase.assertSame(nativeClause.keyword, nativeClause.beginToken);
808 JUnitTestCase.assertSame(nativeClause.name.endToken, nativeClause.endToken);
809 }
810
811 void test_parseClassDeclaration_nonEmpty() {
812 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A {var f;}");
813 JUnitTestCase.assertNull(declaration.documentationComment);
814 JUnitTestCase.assertNull(declaration.abstractKeyword);
815 JUnitTestCase.assertNull(declaration.extendsClause);
816 JUnitTestCase.assertNull(declaration.implementsClause);
817 JUnitTestCase.assertNotNull(declaration.classKeyword);
818 JUnitTestCase.assertNotNull(declaration.leftBracket);
819 JUnitTestCase.assertNotNull(declaration.name);
820 EngineTestCase.assertSizeOfList(1, declaration.members);
821 JUnitTestCase.assertNotNull(declaration.rightBracket);
822 JUnitTestCase.assertNull(declaration.typeParameters);
823 }
824
825 void test_parseClassDeclaration_typeAlias_implementsC() {
826 ClassTypeAlias typeAlias = ParserTestCase.parse("parseClassDeclaration", <Ob ject> [emptyCommentAndMetadata(), null], "class A = Object with B implements C;" );
827 JUnitTestCase.assertNotNull(typeAlias.keyword);
828 JUnitTestCase.assertNotNull(typeAlias.name);
829 JUnitTestCase.assertNull(typeAlias.typeParameters);
830 JUnitTestCase.assertNotNull(typeAlias.withClause);
831 JUnitTestCase.assertNotNull(typeAlias.implementsClause);
832 JUnitTestCase.assertNotNull(typeAlias.implementsClause.keyword);
833 JUnitTestCase.assertEquals(1, typeAlias.implementsClause.interfaces.length);
834 JUnitTestCase.assertNotNull(typeAlias.semicolon);
835 }
836
837 void test_parseClassDeclaration_typeAlias_withB() {
838 ClassTypeAlias typeAlias = ParserTestCase.parse("parseClassDeclaration", <Ob ject> [emptyCommentAndMetadata(), null], "class A = Object with B;");
839 JUnitTestCase.assertNotNull(typeAlias.keyword);
840 JUnitTestCase.assertNotNull(typeAlias.name);
841 JUnitTestCase.assertNull(typeAlias.typeParameters);
842 JUnitTestCase.assertNotNull(typeAlias.withClause);
843 JUnitTestCase.assertNotNull(typeAlias.withClause.withKeyword);
844 JUnitTestCase.assertEquals(1, typeAlias.withClause.mixinTypes.length);
845 JUnitTestCase.assertNull(typeAlias.implementsClause);
846 JUnitTestCase.assertNotNull(typeAlias.semicolon);
847 }
848
849 void test_parseClassDeclaration_typeParameters() {
850 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A<B> {}");
851 JUnitTestCase.assertNull(declaration.documentationComment);
852 JUnitTestCase.assertNull(declaration.abstractKeyword);
853 JUnitTestCase.assertNull(declaration.extendsClause);
854 JUnitTestCase.assertNull(declaration.implementsClause);
855 JUnitTestCase.assertNotNull(declaration.classKeyword);
856 JUnitTestCase.assertNotNull(declaration.leftBracket);
857 JUnitTestCase.assertNotNull(declaration.name);
858 EngineTestCase.assertSizeOfList(0, declaration.members);
859 JUnitTestCase.assertNotNull(declaration.rightBracket);
860 JUnitTestCase.assertNotNull(declaration.typeParameters);
861 EngineTestCase.assertSizeOfList(1, declaration.typeParameters.typeParameters );
862 }
863
864 void test_parseClassMember_constructor_withInitializers() {
865 // TODO(brianwilkerson) Test other kinds of class members: fields, getters a nd setters.
866 ConstructorDeclaration constructor = ParserTestCase.parse("parseClassMember" , <Object> ["C"], "C(_, _\$, this.__) : _a = _ + _\$ {}");
867 JUnitTestCase.assertNotNull(constructor.body);
868 JUnitTestCase.assertNotNull(constructor.separator);
869 JUnitTestCase.assertNull(constructor.externalKeyword);
870 JUnitTestCase.assertNull(constructor.constKeyword);
871 JUnitTestCase.assertNull(constructor.factoryKeyword);
872 JUnitTestCase.assertNull(constructor.name);
873 JUnitTestCase.assertNotNull(constructor.parameters);
874 JUnitTestCase.assertNull(constructor.period);
875 JUnitTestCase.assertNotNull(constructor.returnType);
876 EngineTestCase.assertSizeOfList(1, constructor.initializers);
877 }
878
879 void test_parseClassMember_field_instance_prefixedType() {
880 FieldDeclaration field = ParserTestCase.parse("parseClassMember", <Object> [ "C"], "p.A f;");
881 JUnitTestCase.assertNull(field.documentationComment);
882 EngineTestCase.assertSizeOfList(0, field.metadata);
883 JUnitTestCase.assertNull(field.staticKeyword);
884 VariableDeclarationList list = field.fields;
885 JUnitTestCase.assertNotNull(list);
886 NodeList<VariableDeclaration> variables = list.variables;
887 EngineTestCase.assertSizeOfList(1, variables);
888 VariableDeclaration variable = variables[0];
889 JUnitTestCase.assertNotNull(variable.name);
890 }
891
892 void test_parseClassMember_field_namedGet() {
893 FieldDeclaration field = ParserTestCase.parse("parseClassMember", <Object> [ "C"], "var get;");
894 JUnitTestCase.assertNull(field.documentationComment);
895 EngineTestCase.assertSizeOfList(0, field.metadata);
896 JUnitTestCase.assertNull(field.staticKeyword);
897 VariableDeclarationList list = field.fields;
898 JUnitTestCase.assertNotNull(list);
899 NodeList<VariableDeclaration> variables = list.variables;
900 EngineTestCase.assertSizeOfList(1, variables);
901 VariableDeclaration variable = variables[0];
902 JUnitTestCase.assertNotNull(variable.name);
903 }
904
905 void test_parseClassMember_field_namedOperator() {
906 FieldDeclaration field = ParserTestCase.parse("parseClassMember", <Object> [ "C"], "var operator;");
907 JUnitTestCase.assertNull(field.documentationComment);
908 EngineTestCase.assertSizeOfList(0, field.metadata);
909 JUnitTestCase.assertNull(field.staticKeyword);
910 VariableDeclarationList list = field.fields;
911 JUnitTestCase.assertNotNull(list);
912 NodeList<VariableDeclaration> variables = list.variables;
913 EngineTestCase.assertSizeOfList(1, variables);
914 VariableDeclaration variable = variables[0];
915 JUnitTestCase.assertNotNull(variable.name);
916 }
917
918 void test_parseClassMember_field_namedOperator_withAssignment() {
919 FieldDeclaration field = ParserTestCase.parse("parseClassMember", <Object> [ "C"], "var operator = (5);");
920 JUnitTestCase.assertNull(field.documentationComment);
921 EngineTestCase.assertSizeOfList(0, field.metadata);
922 JUnitTestCase.assertNull(field.staticKeyword);
923 VariableDeclarationList list = field.fields;
924 JUnitTestCase.assertNotNull(list);
925 NodeList<VariableDeclaration> variables = list.variables;
926 EngineTestCase.assertSizeOfList(1, variables);
927 VariableDeclaration variable = variables[0];
928 JUnitTestCase.assertNotNull(variable.name);
929 JUnitTestCase.assertNotNull(variable.initializer);
930 }
931
932 void test_parseClassMember_field_namedSet() {
933 FieldDeclaration field = ParserTestCase.parse("parseClassMember", <Object> [ "C"], "var set;");
934 JUnitTestCase.assertNull(field.documentationComment);
935 EngineTestCase.assertSizeOfList(0, field.metadata);
936 JUnitTestCase.assertNull(field.staticKeyword);
937 VariableDeclarationList list = field.fields;
938 JUnitTestCase.assertNotNull(list);
939 NodeList<VariableDeclaration> variables = list.variables;
940 EngineTestCase.assertSizeOfList(1, variables);
941 VariableDeclaration variable = variables[0];
942 JUnitTestCase.assertNotNull(variable.name);
943 }
944
945 void test_parseClassMember_getter_void() {
946 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "void get g {}");
947 JUnitTestCase.assertNull(method.documentationComment);
948 JUnitTestCase.assertNull(method.externalKeyword);
949 JUnitTestCase.assertNull(method.modifierKeyword);
950 JUnitTestCase.assertNotNull(method.propertyKeyword);
951 JUnitTestCase.assertNotNull(method.returnType);
952 JUnitTestCase.assertNotNull(method.name);
953 JUnitTestCase.assertNull(method.operatorKeyword);
954 JUnitTestCase.assertNotNull(method.body);
955 }
956
957 void test_parseClassMember_method_external() {
958 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "external m();");
959 JUnitTestCase.assertNotNull(method.body);
960 JUnitTestCase.assertNull(method.documentationComment);
961 JUnitTestCase.assertNotNull(method.externalKeyword);
962 JUnitTestCase.assertNull(method.modifierKeyword);
963 JUnitTestCase.assertNotNull(method.name);
964 JUnitTestCase.assertNull(method.operatorKeyword);
965 JUnitTestCase.assertNotNull(method.parameters);
966 JUnitTestCase.assertNull(method.propertyKeyword);
967 JUnitTestCase.assertNull(method.returnType);
968 }
969
970 void test_parseClassMember_method_external_withTypeAndArgs() {
971 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "external int m(int a);");
972 JUnitTestCase.assertNotNull(method.body);
973 JUnitTestCase.assertNull(method.documentationComment);
974 JUnitTestCase.assertNotNull(method.externalKeyword);
975 JUnitTestCase.assertNull(method.modifierKeyword);
976 JUnitTestCase.assertNotNull(method.name);
977 JUnitTestCase.assertNull(method.operatorKeyword);
978 JUnitTestCase.assertNotNull(method.parameters);
979 JUnitTestCase.assertNull(method.propertyKeyword);
980 JUnitTestCase.assertNotNull(method.returnType);
981 }
982
983 void test_parseClassMember_method_get_noType() {
984 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "get() {}");
985 JUnitTestCase.assertNull(method.documentationComment);
986 JUnitTestCase.assertNull(method.externalKeyword);
987 JUnitTestCase.assertNull(method.modifierKeyword);
988 JUnitTestCase.assertNull(method.propertyKeyword);
989 JUnitTestCase.assertNull(method.returnType);
990 JUnitTestCase.assertNotNull(method.name);
991 JUnitTestCase.assertNull(method.operatorKeyword);
992 JUnitTestCase.assertNotNull(method.parameters);
993 JUnitTestCase.assertNotNull(method.body);
994 }
995
996 void test_parseClassMember_method_get_type() {
997 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "int get() {}");
998 JUnitTestCase.assertNull(method.documentationComment);
999 JUnitTestCase.assertNull(method.externalKeyword);
1000 JUnitTestCase.assertNull(method.modifierKeyword);
1001 JUnitTestCase.assertNull(method.propertyKeyword);
1002 JUnitTestCase.assertNotNull(method.returnType);
1003 JUnitTestCase.assertNotNull(method.name);
1004 JUnitTestCase.assertNull(method.operatorKeyword);
1005 JUnitTestCase.assertNotNull(method.parameters);
1006 JUnitTestCase.assertNotNull(method.body);
1007 }
1008
1009 void test_parseClassMember_method_get_void() {
1010 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "void get() {}");
1011 JUnitTestCase.assertNull(method.documentationComment);
1012 JUnitTestCase.assertNull(method.externalKeyword);
1013 JUnitTestCase.assertNull(method.modifierKeyword);
1014 JUnitTestCase.assertNull(method.propertyKeyword);
1015 JUnitTestCase.assertNotNull(method.returnType);
1016 JUnitTestCase.assertNotNull(method.name);
1017 JUnitTestCase.assertNull(method.operatorKeyword);
1018 JUnitTestCase.assertNotNull(method.parameters);
1019 JUnitTestCase.assertNotNull(method.body);
1020 }
1021
1022 void test_parseClassMember_method_operator_noType() {
1023 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "operator() {}");
1024 JUnitTestCase.assertNull(method.documentationComment);
1025 JUnitTestCase.assertNull(method.externalKeyword);
1026 JUnitTestCase.assertNull(method.modifierKeyword);
1027 JUnitTestCase.assertNull(method.propertyKeyword);
1028 JUnitTestCase.assertNull(method.returnType);
1029 JUnitTestCase.assertNotNull(method.name);
1030 JUnitTestCase.assertNull(method.operatorKeyword);
1031 JUnitTestCase.assertNotNull(method.parameters);
1032 JUnitTestCase.assertNotNull(method.body);
1033 }
1034
1035 void test_parseClassMember_method_operator_type() {
1036 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "int operator() {}");
1037 JUnitTestCase.assertNull(method.documentationComment);
1038 JUnitTestCase.assertNull(method.externalKeyword);
1039 JUnitTestCase.assertNull(method.modifierKeyword);
1040 JUnitTestCase.assertNull(method.propertyKeyword);
1041 JUnitTestCase.assertNotNull(method.returnType);
1042 JUnitTestCase.assertNotNull(method.name);
1043 JUnitTestCase.assertNull(method.operatorKeyword);
1044 JUnitTestCase.assertNotNull(method.parameters);
1045 JUnitTestCase.assertNotNull(method.body);
1046 }
1047
1048 void test_parseClassMember_method_operator_void() {
1049 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "void operator() {}");
1050 JUnitTestCase.assertNull(method.documentationComment);
1051 JUnitTestCase.assertNull(method.externalKeyword);
1052 JUnitTestCase.assertNull(method.modifierKeyword);
1053 JUnitTestCase.assertNull(method.propertyKeyword);
1054 JUnitTestCase.assertNotNull(method.returnType);
1055 JUnitTestCase.assertNotNull(method.name);
1056 JUnitTestCase.assertNull(method.operatorKeyword);
1057 JUnitTestCase.assertNotNull(method.parameters);
1058 JUnitTestCase.assertNotNull(method.body);
1059 }
1060
1061 void test_parseClassMember_method_returnType_parameterized() {
1062 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "p.A m() {}");
1063 JUnitTestCase.assertNull(method.documentationComment);
1064 JUnitTestCase.assertNull(method.externalKeyword);
1065 JUnitTestCase.assertNull(method.modifierKeyword);
1066 JUnitTestCase.assertNull(method.propertyKeyword);
1067 JUnitTestCase.assertNotNull(method.returnType);
1068 JUnitTestCase.assertNotNull(method.name);
1069 JUnitTestCase.assertNull(method.operatorKeyword);
1070 JUnitTestCase.assertNotNull(method.parameters);
1071 JUnitTestCase.assertNotNull(method.body);
1072 }
1073
1074 void test_parseClassMember_method_set_noType() {
1075 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "set() {}");
1076 JUnitTestCase.assertNull(method.documentationComment);
1077 JUnitTestCase.assertNull(method.externalKeyword);
1078 JUnitTestCase.assertNull(method.modifierKeyword);
1079 JUnitTestCase.assertNull(method.propertyKeyword);
1080 JUnitTestCase.assertNull(method.returnType);
1081 JUnitTestCase.assertNotNull(method.name);
1082 JUnitTestCase.assertNull(method.operatorKeyword);
1083 JUnitTestCase.assertNotNull(method.parameters);
1084 JUnitTestCase.assertNotNull(method.body);
1085 }
1086
1087 void test_parseClassMember_method_set_type() {
1088 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "int set() {}");
1089 JUnitTestCase.assertNull(method.documentationComment);
1090 JUnitTestCase.assertNull(method.externalKeyword);
1091 JUnitTestCase.assertNull(method.modifierKeyword);
1092 JUnitTestCase.assertNull(method.propertyKeyword);
1093 JUnitTestCase.assertNotNull(method.returnType);
1094 JUnitTestCase.assertNotNull(method.name);
1095 JUnitTestCase.assertNull(method.operatorKeyword);
1096 JUnitTestCase.assertNotNull(method.parameters);
1097 JUnitTestCase.assertNotNull(method.body);
1098 }
1099
1100 void test_parseClassMember_method_set_void() {
1101 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "void set() {}");
1102 JUnitTestCase.assertNull(method.documentationComment);
1103 JUnitTestCase.assertNull(method.externalKeyword);
1104 JUnitTestCase.assertNull(method.modifierKeyword);
1105 JUnitTestCase.assertNull(method.propertyKeyword);
1106 JUnitTestCase.assertNotNull(method.returnType);
1107 JUnitTestCase.assertNotNull(method.name);
1108 JUnitTestCase.assertNull(method.operatorKeyword);
1109 JUnitTestCase.assertNotNull(method.parameters);
1110 JUnitTestCase.assertNotNull(method.body);
1111 }
1112
1113 void test_parseClassMember_operator_index() {
1114 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "int operator [](int i) {}");
1115 JUnitTestCase.assertNull(method.documentationComment);
1116 JUnitTestCase.assertNull(method.externalKeyword);
1117 JUnitTestCase.assertNull(method.modifierKeyword);
1118 JUnitTestCase.assertNull(method.propertyKeyword);
1119 JUnitTestCase.assertNotNull(method.returnType);
1120 JUnitTestCase.assertNotNull(method.name);
1121 JUnitTestCase.assertNotNull(method.operatorKeyword);
1122 JUnitTestCase.assertNotNull(method.parameters);
1123 JUnitTestCase.assertNotNull(method.body);
1124 }
1125
1126 void test_parseClassMember_operator_indexAssign() {
1127 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "int operator []=(int i) {}");
1128 JUnitTestCase.assertNull(method.documentationComment);
1129 JUnitTestCase.assertNull(method.externalKeyword);
1130 JUnitTestCase.assertNull(method.modifierKeyword);
1131 JUnitTestCase.assertNull(method.propertyKeyword);
1132 JUnitTestCase.assertNotNull(method.returnType);
1133 JUnitTestCase.assertNotNull(method.name);
1134 JUnitTestCase.assertNotNull(method.operatorKeyword);
1135 JUnitTestCase.assertNotNull(method.parameters);
1136 JUnitTestCase.assertNotNull(method.body);
1137 }
1138
1139 void test_parseClassMember_redirectingFactory_const() {
1140 ConstructorDeclaration constructor = ParserTestCase.parse("parseClassMember" , <Object> ["C"], "const factory C() = B;");
1141 JUnitTestCase.assertNull(constructor.externalKeyword);
1142 JUnitTestCase.assertNotNull(constructor.constKeyword);
1143 JUnitTestCase.assertNotNull(constructor.factoryKeyword);
1144 JUnitTestCase.assertNotNull(constructor.returnType);
1145 JUnitTestCase.assertNull(constructor.period);
1146 JUnitTestCase.assertNull(constructor.name);
1147 JUnitTestCase.assertNotNull(constructor.parameters);
1148 JUnitTestCase.assertNotNull(constructor.separator);
1149 EngineTestCase.assertSizeOfList(0, constructor.initializers);
1150 JUnitTestCase.assertNotNull(constructor.redirectedConstructor);
1151 JUnitTestCase.assertNotNull(constructor.body);
1152 }
1153
1154 void test_parseClassMember_redirectingFactory_nonConst() {
1155 ConstructorDeclaration constructor = ParserTestCase.parse("parseClassMember" , <Object> ["C"], "factory C() = B;");
1156 JUnitTestCase.assertNull(constructor.externalKeyword);
1157 JUnitTestCase.assertNull(constructor.constKeyword);
1158 JUnitTestCase.assertNotNull(constructor.factoryKeyword);
1159 JUnitTestCase.assertNotNull(constructor.returnType);
1160 JUnitTestCase.assertNull(constructor.period);
1161 JUnitTestCase.assertNull(constructor.name);
1162 JUnitTestCase.assertNotNull(constructor.parameters);
1163 JUnitTestCase.assertNotNull(constructor.separator);
1164 EngineTestCase.assertSizeOfList(0, constructor.initializers);
1165 JUnitTestCase.assertNotNull(constructor.redirectedConstructor);
1166 JUnitTestCase.assertNotNull(constructor.body);
1167 }
1168
1169 void test_parseClassTypeAlias_abstract() {
1170 Token classToken = TokenFactory.tokenFromKeyword(Keyword.CLASS);
1171 Token abstractToken = TokenFactory.tokenFromKeyword(Keyword.ABSTRACT);
1172 ClassTypeAlias classTypeAlias = ParserTestCase.parse("parseClassTypeAlias", <Object> [emptyCommentAndMetadata(), abstractToken, classToken], "A = B with C;" );
1173 JUnitTestCase.assertNotNull(classTypeAlias.keyword);
1174 JUnitTestCase.assertEquals("A", classTypeAlias.name.name);
1175 JUnitTestCase.assertNotNull(classTypeAlias.equals);
1176 JUnitTestCase.assertNotNull(classTypeAlias.abstractKeyword);
1177 JUnitTestCase.assertNotNullMsg("B", classTypeAlias.superclass.name.name);
1178 JUnitTestCase.assertNotNull(classTypeAlias.withClause);
1179 JUnitTestCase.assertNull(classTypeAlias.implementsClause);
1180 JUnitTestCase.assertNotNull(classTypeAlias.semicolon);
1181 }
1182
1183 void test_parseClassTypeAlias_implements() {
1184 Token token = TokenFactory.tokenFromKeyword(Keyword.CLASS);
1185 ClassTypeAlias classTypeAlias = ParserTestCase.parse("parseClassTypeAlias", <Object> [emptyCommentAndMetadata(), null, token], "A = B with C implements D;") ;
1186 JUnitTestCase.assertNotNull(classTypeAlias.keyword);
1187 JUnitTestCase.assertEquals("A", classTypeAlias.name.name);
1188 JUnitTestCase.assertNotNull(classTypeAlias.equals);
1189 JUnitTestCase.assertNull(classTypeAlias.abstractKeyword);
1190 JUnitTestCase.assertNotNullMsg("B", classTypeAlias.superclass.name.name);
1191 JUnitTestCase.assertNotNull(classTypeAlias.withClause);
1192 JUnitTestCase.assertNotNull(classTypeAlias.implementsClause);
1193 JUnitTestCase.assertNotNull(classTypeAlias.semicolon);
1194 }
1195
1196 void test_parseClassTypeAlias_with() {
1197 Token token = TokenFactory.tokenFromKeyword(Keyword.CLASS);
1198 ClassTypeAlias classTypeAlias = ParserTestCase.parse("parseClassTypeAlias", <Object> [emptyCommentAndMetadata(), null, token], "A = B with C;");
1199 JUnitTestCase.assertNotNull(classTypeAlias.keyword);
1200 JUnitTestCase.assertEquals("A", classTypeAlias.name.name);
1201 JUnitTestCase.assertNotNull(classTypeAlias.equals);
1202 JUnitTestCase.assertNull(classTypeAlias.abstractKeyword);
1203 JUnitTestCase.assertNotNullMsg("B", classTypeAlias.superclass.name.name);
1204 JUnitTestCase.assertNotNull(classTypeAlias.withClause);
1205 JUnitTestCase.assertNull(classTypeAlias.implementsClause);
1206 JUnitTestCase.assertNotNull(classTypeAlias.semicolon);
1207 }
1208
1209 void test_parseClassTypeAlias_with_implements() {
1210 Token token = TokenFactory.tokenFromKeyword(Keyword.CLASS);
1211 ClassTypeAlias classTypeAlias = ParserTestCase.parse("parseClassTypeAlias", <Object> [emptyCommentAndMetadata(), null, token], "A = B with C implements D;") ;
1212 JUnitTestCase.assertNotNull(classTypeAlias.keyword);
1213 JUnitTestCase.assertEquals("A", classTypeAlias.name.name);
1214 JUnitTestCase.assertNotNull(classTypeAlias.equals);
1215 JUnitTestCase.assertNull(classTypeAlias.abstractKeyword);
1216 JUnitTestCase.assertNotNullMsg("B", classTypeAlias.superclass.name.name);
1217 JUnitTestCase.assertNotNull(classTypeAlias.withClause);
1218 JUnitTestCase.assertNotNull(classTypeAlias.implementsClause);
1219 JUnitTestCase.assertNotNull(classTypeAlias.semicolon);
1220 }
1221
1222 void test_parseCombinators_h() {
1223 List<Combinator> combinators = ParserTestCase.parse4("parseCombinators", "hi de a;", []);
1224 EngineTestCase.assertSizeOfList(1, combinators);
1225 HideCombinator combinator = combinators[0] as HideCombinator;
1226 JUnitTestCase.assertNotNull(combinator);
1227 JUnitTestCase.assertNotNull(combinator.keyword);
1228 EngineTestCase.assertSizeOfList(1, combinator.hiddenNames);
1229 }
1230
1231 void test_parseCombinators_hs() {
1232 List<Combinator> combinators = ParserTestCase.parse4("parseCombinators", "hi de a show b;", []);
1233 EngineTestCase.assertSizeOfList(2, combinators);
1234 HideCombinator hideCombinator = combinators[0] as HideCombinator;
1235 JUnitTestCase.assertNotNull(hideCombinator);
1236 JUnitTestCase.assertNotNull(hideCombinator.keyword);
1237 EngineTestCase.assertSizeOfList(1, hideCombinator.hiddenNames);
1238 ShowCombinator showCombinator = combinators[1] as ShowCombinator;
1239 JUnitTestCase.assertNotNull(showCombinator);
1240 JUnitTestCase.assertNotNull(showCombinator.keyword);
1241 EngineTestCase.assertSizeOfList(1, showCombinator.shownNames);
1242 }
1243
1244 void test_parseCombinators_hshs() {
1245 List<Combinator> combinators = ParserTestCase.parse4("parseCombinators", "hi de a show b hide c show d;", []);
1246 EngineTestCase.assertSizeOfList(4, combinators);
1247 }
1248
1249 void test_parseCombinators_s() {
1250 List<Combinator> combinators = ParserTestCase.parse4("parseCombinators", "sh ow a;", []);
1251 EngineTestCase.assertSizeOfList(1, combinators);
1252 ShowCombinator combinator = combinators[0] as ShowCombinator;
1253 JUnitTestCase.assertNotNull(combinator);
1254 JUnitTestCase.assertNotNull(combinator.keyword);
1255 EngineTestCase.assertSizeOfList(1, combinator.shownNames);
1256 }
1257
1258 void test_parseCommentAndMetadata_c() {
1259 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "/** 1 */ void", []);
1260 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
1261 EngineTestCase.assertSizeOfList(0, commentAndMetadata.metadata);
1262 }
1263
1264 void test_parseCommentAndMetadata_cmc() {
1265 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "/** 1 */ @A /** 2 */ void", []);
1266 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
1267 EngineTestCase.assertSizeOfList(1, commentAndMetadata.metadata);
1268 }
1269
1270 void test_parseCommentAndMetadata_cmcm() {
1271 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "/** 1 */ @A /** 2 */ @B void", []);
1272 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
1273 EngineTestCase.assertSizeOfList(2, commentAndMetadata.metadata);
1274 }
1275
1276 void test_parseCommentAndMetadata_cmm() {
1277 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "/** 1 */ @A @B void", []);
1278 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
1279 EngineTestCase.assertSizeOfList(2, commentAndMetadata.metadata);
1280 }
1281
1282 void test_parseCommentAndMetadata_m() {
1283 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "@A void", []);
1284 JUnitTestCase.assertNull(commentAndMetadata.comment);
1285 EngineTestCase.assertSizeOfList(1, commentAndMetadata.metadata);
1286 }
1287
1288 void test_parseCommentAndMetadata_mcm() {
1289 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "@A /** 1 */ @B void", []);
1290 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
1291 EngineTestCase.assertSizeOfList(2, commentAndMetadata.metadata);
1292 }
1293
1294 void test_parseCommentAndMetadata_mcmc() {
1295 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "@A /** 1 */ @B /** 2 */ void", []);
1296 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
1297 EngineTestCase.assertSizeOfList(2, commentAndMetadata.metadata);
1298 }
1299
1300 void test_parseCommentAndMetadata_mm() {
1301 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "@A @B(x) void", []);
1302 JUnitTestCase.assertNull(commentAndMetadata.comment);
1303 EngineTestCase.assertSizeOfList(2, commentAndMetadata.metadata);
1304 }
1305
1306 void test_parseCommentAndMetadata_none() {
1307 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "void", []);
1308 JUnitTestCase.assertNull(commentAndMetadata.comment);
1309 EngineTestCase.assertSizeOfList(0, commentAndMetadata.metadata);
1310 }
1311
1312 void test_parseCommentAndMetadata_singleLine() {
1313 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", EngineTestCase.createSource(["/// 1", "/// 2", "void"]), []);
1314 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
1315 EngineTestCase.assertSizeOfList(0, commentAndMetadata.metadata);
1316 }
1317
1318 void test_parseCommentReference_new_prefixed() {
1319 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["new a.b", 7], "");
1320 PrefixedIdentifier prefixedIdentifier = EngineTestCase.assertInstanceOf((obj ) => obj is PrefixedIdentifier, PrefixedIdentifier, reference.identifier);
1321 SimpleIdentifier prefix = prefixedIdentifier.prefix;
1322 JUnitTestCase.assertNotNull(prefix.token);
1323 JUnitTestCase.assertEquals("a", prefix.name);
1324 JUnitTestCase.assertEquals(11, prefix.offset);
1325 JUnitTestCase.assertNotNull(prefixedIdentifier.period);
1326 SimpleIdentifier identifier = prefixedIdentifier.identifier;
1327 JUnitTestCase.assertNotNull(identifier.token);
1328 JUnitTestCase.assertEquals("b", identifier.name);
1329 JUnitTestCase.assertEquals(13, identifier.offset);
1330 }
1331
1332 void test_parseCommentReference_new_simple() {
1333 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["new a", 5], "");
1334 SimpleIdentifier identifier = EngineTestCase.assertInstanceOf((obj) => obj i s SimpleIdentifier, SimpleIdentifier, reference.identifier);
1335 JUnitTestCase.assertNotNull(identifier.token);
1336 JUnitTestCase.assertEquals("a", identifier.name);
1337 JUnitTestCase.assertEquals(9, identifier.offset);
1338 }
1339
1340 void test_parseCommentReference_prefixed() {
1341 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["a.b", 7], "");
1342 PrefixedIdentifier prefixedIdentifier = EngineTestCase.assertInstanceOf((obj ) => obj is PrefixedIdentifier, PrefixedIdentifier, reference.identifier);
1343 SimpleIdentifier prefix = prefixedIdentifier.prefix;
1344 JUnitTestCase.assertNotNull(prefix.token);
1345 JUnitTestCase.assertEquals("a", prefix.name);
1346 JUnitTestCase.assertEquals(7, prefix.offset);
1347 JUnitTestCase.assertNotNull(prefixedIdentifier.period);
1348 SimpleIdentifier identifier = prefixedIdentifier.identifier;
1349 JUnitTestCase.assertNotNull(identifier.token);
1350 JUnitTestCase.assertEquals("b", identifier.name);
1351 JUnitTestCase.assertEquals(9, identifier.offset);
1352 }
1353
1354 void test_parseCommentReference_simple() {
1355 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["a", 5], "");
1356 SimpleIdentifier identifier = EngineTestCase.assertInstanceOf((obj) => obj i s SimpleIdentifier, SimpleIdentifier, reference.identifier);
1357 JUnitTestCase.assertNotNull(identifier.token);
1358 JUnitTestCase.assertEquals("a", identifier.name);
1359 JUnitTestCase.assertEquals(5, identifier.offset);
1360 }
1361
1362 void test_parseCommentReference_synthetic() {
1363 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["", 5], "");
1364 SimpleIdentifier identifier = EngineTestCase.assertInstanceOf((obj) => obj i s SimpleIdentifier, SimpleIdentifier, reference.identifier);
1365 JUnitTestCase.assertNotNull(identifier);
1366 JUnitTestCase.assertTrue(identifier.isSynthetic);
1367 JUnitTestCase.assertNotNull(identifier.token);
1368 JUnitTestCase.assertEquals("", identifier.name);
1369 JUnitTestCase.assertEquals(5, identifier.offset);
1370 }
1371
1372 void test_parseCommentReferences_multiLine() {
1373 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/** xxx [a] yyy [b] zzz */", 3)];
1374 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
1375 EngineTestCase.assertSizeOfList(2, references);
1376 CommentReference reference = references[0];
1377 JUnitTestCase.assertNotNull(reference);
1378 JUnitTestCase.assertNotNull(reference.identifier);
1379 JUnitTestCase.assertEquals(12, reference.offset);
1380 reference = references[1];
1381 JUnitTestCase.assertNotNull(reference);
1382 JUnitTestCase.assertNotNull(reference.identifier);
1383 JUnitTestCase.assertEquals(20, reference.offset);
1384 }
1385
1386 void test_parseCommentReferences_notClosed_noIdentifier() {
1387 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/** [ some text", 5)];
1388 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
1389 EngineTestCase.assertSizeOfList(1, references);
1390 CommentReference reference = references[0];
1391 JUnitTestCase.assertNotNull(reference);
1392 JUnitTestCase.assertNotNull(reference.identifier);
1393 JUnitTestCase.assertTrue(reference.identifier.isSynthetic);
1394 JUnitTestCase.assertEquals("", reference.identifier.name);
1395 }
1396
1397 void test_parseCommentReferences_notClosed_withIdentifier() {
1398 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/** [namePrefix some text", 5)];
1399 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
1400 EngineTestCase.assertSizeOfList(1, references);
1401 CommentReference reference = references[0];
1402 JUnitTestCase.assertNotNull(reference);
1403 JUnitTestCase.assertNotNull(reference.identifier);
1404 JUnitTestCase.assertFalse(reference.identifier.isSynthetic);
1405 JUnitTestCase.assertEquals("namePrefix", reference.identifier.name);
1406 }
1407
1408 void test_parseCommentReferences_singleLine() {
1409 List<Token> tokens = <Token> [
1410 new StringToken(TokenType.SINGLE_LINE_COMMENT, "/// xxx [a] yyy [b] zzz" , 3),
1411 new StringToken(TokenType.SINGLE_LINE_COMMENT, "/// x [c]", 28)];
1412 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
1413 EngineTestCase.assertSizeOfList(3, references);
1414 CommentReference reference = references[0];
1415 JUnitTestCase.assertNotNull(reference);
1416 JUnitTestCase.assertNotNull(reference.identifier);
1417 JUnitTestCase.assertEquals(12, reference.offset);
1418 reference = references[1];
1419 JUnitTestCase.assertNotNull(reference);
1420 JUnitTestCase.assertNotNull(reference.identifier);
1421 JUnitTestCase.assertEquals(20, reference.offset);
1422 reference = references[2];
1423 JUnitTestCase.assertNotNull(reference);
1424 JUnitTestCase.assertNotNull(reference.identifier);
1425 JUnitTestCase.assertEquals(35, reference.offset);
1426 }
1427
1428 void test_parseCommentReferences_skipCodeBlock_bracketed() {
1429 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/** [:xxx [a] yyy:] [b] zzz */", 3)];
1430 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
1431 EngineTestCase.assertSizeOfList(1, references);
1432 CommentReference reference = references[0];
1433 JUnitTestCase.assertNotNull(reference);
1434 JUnitTestCase.assertNotNull(reference.identifier);
1435 JUnitTestCase.assertEquals(24, reference.offset);
1436 }
1437
1438 void test_parseCommentReferences_skipCodeBlock_spaces() {
1439 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/**\n * a[i]\n * xxx [i] zzz\n */", 3)];
1440 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
1441 EngineTestCase.assertSizeOfList(1, references);
1442 CommentReference reference = references[0];
1443 JUnitTestCase.assertNotNull(reference);
1444 JUnitTestCase.assertNotNull(reference.identifier);
1445 JUnitTestCase.assertEquals(27, reference.offset);
1446 }
1447
1448 void test_parseCommentReferences_skipLinkDefinition() {
1449 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/** [a]: http://www.google.com (Google) [b] zzz */", 3)];
1450 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
1451 EngineTestCase.assertSizeOfList(1, references);
1452 CommentReference reference = references[0];
1453 JUnitTestCase.assertNotNull(reference);
1454 JUnitTestCase.assertNotNull(reference.identifier);
1455 JUnitTestCase.assertEquals(44, reference.offset);
1456 }
1457
1458 void test_parseCommentReferences_skipLinked() {
1459 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/** [a](http://www.google.com) [b] zzz */", 3)];
1460 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
1461 EngineTestCase.assertSizeOfList(1, references);
1462 CommentReference reference = references[0];
1463 JUnitTestCase.assertNotNull(reference);
1464 JUnitTestCase.assertNotNull(reference.identifier);
1465 JUnitTestCase.assertEquals(35, reference.offset);
1466 }
1467
1468 void test_parseCommentReferences_skipReferenceLink() {
1469 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/** [a][c] [b] zzz */", 3)];
1470 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
1471 EngineTestCase.assertSizeOfList(1, references);
1472 CommentReference reference = references[0];
1473 JUnitTestCase.assertNotNull(reference);
1474 JUnitTestCase.assertNotNull(reference.identifier);
1475 JUnitTestCase.assertEquals(15, reference.offset);
1476 }
1477
1478 void test_parseCompilationUnit_abstractAsPrefix_parameterized() {
1479 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "abstra ct<dynamic> _abstract = new abstract.A();", []);
1480 JUnitTestCase.assertNull(unit.scriptTag);
1481 EngineTestCase.assertSizeOfList(0, unit.directives);
1482 EngineTestCase.assertSizeOfList(1, unit.declarations);
1483 }
1484
1485 void test_parseCompilationUnit_builtIn_asFunctionName() {
1486 ParserTestCase.parse4("parseCompilationUnit", "abstract(x) => 0;", []);
1487 ParserTestCase.parse4("parseCompilationUnit", "as(x) => 0;", []);
1488 ParserTestCase.parse4("parseCompilationUnit", "dynamic(x) => 0;", []);
1489 ParserTestCase.parse4("parseCompilationUnit", "export(x) => 0;", []);
1490 ParserTestCase.parse4("parseCompilationUnit", "external(x) => 0;", []);
1491 ParserTestCase.parse4("parseCompilationUnit", "factory(x) => 0;", []);
1492 ParserTestCase.parse4("parseCompilationUnit", "get(x) => 0;", []);
1493 ParserTestCase.parse4("parseCompilationUnit", "implements(x) => 0;", []);
1494 ParserTestCase.parse4("parseCompilationUnit", "import(x) => 0;", []);
1495 ParserTestCase.parse4("parseCompilationUnit", "library(x) => 0;", []);
1496 ParserTestCase.parse4("parseCompilationUnit", "operator(x) => 0;", []);
1497 ParserTestCase.parse4("parseCompilationUnit", "part(x) => 0;", []);
1498 ParserTestCase.parse4("parseCompilationUnit", "set(x) => 0;", []);
1499 ParserTestCase.parse4("parseCompilationUnit", "static(x) => 0;", []);
1500 ParserTestCase.parse4("parseCompilationUnit", "typedef(x) => 0;", []);
1501 }
1502
1503 void test_parseCompilationUnit_directives_multiple() {
1504 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "librar y l;\npart 'a.dart';", []);
1505 JUnitTestCase.assertNull(unit.scriptTag);
1506 EngineTestCase.assertSizeOfList(2, unit.directives);
1507 EngineTestCase.assertSizeOfList(0, unit.declarations);
1508 }
1509
1510 void test_parseCompilationUnit_directives_single() {
1511 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "librar y l;", []);
1512 JUnitTestCase.assertNull(unit.scriptTag);
1513 EngineTestCase.assertSizeOfList(1, unit.directives);
1514 EngineTestCase.assertSizeOfList(0, unit.declarations);
1515 }
1516
1517 void test_parseCompilationUnit_empty() {
1518 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "", []) ;
1519 JUnitTestCase.assertNull(unit.scriptTag);
1520 EngineTestCase.assertSizeOfList(0, unit.directives);
1521 EngineTestCase.assertSizeOfList(0, unit.declarations);
1522 }
1523
1524 void test_parseCompilationUnit_exportAsPrefix() {
1525 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "export .A _export = new export.A();", []);
1526 JUnitTestCase.assertNull(unit.scriptTag);
1527 EngineTestCase.assertSizeOfList(0, unit.directives);
1528 EngineTestCase.assertSizeOfList(1, unit.declarations);
1529 }
1530
1531 void test_parseCompilationUnit_exportAsPrefix_parameterized() {
1532 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "export <dynamic> _export = new export.A();", []);
1533 JUnitTestCase.assertNull(unit.scriptTag);
1534 EngineTestCase.assertSizeOfList(0, unit.directives);
1535 EngineTestCase.assertSizeOfList(1, unit.declarations);
1536 }
1537
1538 void test_parseCompilationUnit_operatorAsPrefix_parameterized() {
1539 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "operat or<dynamic> _operator = new operator.A();", []);
1540 JUnitTestCase.assertNull(unit.scriptTag);
1541 EngineTestCase.assertSizeOfList(0, unit.directives);
1542 EngineTestCase.assertSizeOfList(1, unit.declarations);
1543 }
1544
1545 void test_parseCompilationUnit_script() {
1546 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "#! /bi n/dart", []);
1547 JUnitTestCase.assertNotNull(unit.scriptTag);
1548 EngineTestCase.assertSizeOfList(0, unit.directives);
1549 EngineTestCase.assertSizeOfList(0, unit.declarations);
1550 }
1551
1552 void test_parseCompilationUnit_skipFunctionBody_withInterpolation() {
1553 ParserTestCase.parseFunctionBodies = false;
1554 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "f() { '\${n}'; }", []);
1555 JUnitTestCase.assertNull(unit.scriptTag);
1556 EngineTestCase.assertSizeOfList(1, unit.declarations);
1557 }
1558
1559 void test_parseCompilationUnit_topLevelDeclaration() {
1560 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "class A {}", []);
1561 JUnitTestCase.assertNull(unit.scriptTag);
1562 EngineTestCase.assertSizeOfList(0, unit.directives);
1563 EngineTestCase.assertSizeOfList(1, unit.declarations);
1564 }
1565
1566 void test_parseCompilationUnit_typedefAsPrefix() {
1567 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "typede f.A _typedef = new typedef.A();", []);
1568 JUnitTestCase.assertNull(unit.scriptTag);
1569 EngineTestCase.assertSizeOfList(0, unit.directives);
1570 EngineTestCase.assertSizeOfList(1, unit.declarations);
1571 }
1572
1573 void test_parseCompilationUnitMember_abstractAsPrefix() {
1574 TopLevelVariableDeclaration declaration = ParserTestCase.parse("parseCompila tionUnitMember", <Object> [emptyCommentAndMetadata()], "abstract.A _abstract = n ew abstract.A();");
1575 JUnitTestCase.assertNotNull(declaration.semicolon);
1576 JUnitTestCase.assertNotNull(declaration.variables);
1577 }
1578
1579 void test_parseCompilationUnitMember_class() {
1580 ClassDeclaration declaration = ParserTestCase.parse("parseCompilationUnitMem ber", <Object> [emptyCommentAndMetadata()], "class A {}");
1581 JUnitTestCase.assertEquals("A", declaration.name.name);
1582 EngineTestCase.assertSizeOfList(0, declaration.members);
1583 }
1584
1585 void test_parseCompilationUnitMember_classTypeAlias() {
1586 ClassTypeAlias alias = ParserTestCase.parse("parseCompilationUnitMember", <O bject> [emptyCommentAndMetadata()], "abstract class A = B with C;");
1587 JUnitTestCase.assertEquals("A", alias.name.name);
1588 JUnitTestCase.assertNotNull(alias.abstractKeyword);
1589 }
1590
1591 void test_parseCompilationUnitMember_constVariable() {
1592 TopLevelVariableDeclaration declaration = ParserTestCase.parse("parseCompila tionUnitMember", <Object> [emptyCommentAndMetadata()], "const int x = 0;");
1593 JUnitTestCase.assertNotNull(declaration.semicolon);
1594 JUnitTestCase.assertNotNull(declaration.variables);
1595 }
1596
1597 void test_parseCompilationUnitMember_finalVariable() {
1598 TopLevelVariableDeclaration declaration = ParserTestCase.parse("parseCompila tionUnitMember", <Object> [emptyCommentAndMetadata()], "final x = 0;");
1599 JUnitTestCase.assertNotNull(declaration.semicolon);
1600 JUnitTestCase.assertNotNull(declaration.variables);
1601 }
1602
1603 void test_parseCompilationUnitMember_function_external_noType() {
1604 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external f();");
1605 JUnitTestCase.assertNotNull(declaration.externalKeyword);
1606 JUnitTestCase.assertNotNull(declaration.functionExpression);
1607 JUnitTestCase.assertNull(declaration.propertyKeyword);
1608 }
1609
1610 void test_parseCompilationUnitMember_function_external_type() {
1611 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external int f();");
1612 JUnitTestCase.assertNotNull(declaration.externalKeyword);
1613 JUnitTestCase.assertNotNull(declaration.functionExpression);
1614 JUnitTestCase.assertNull(declaration.propertyKeyword);
1615 }
1616
1617 void test_parseCompilationUnitMember_function_noType() {
1618 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "f() {}");
1619 JUnitTestCase.assertNotNull(declaration.functionExpression);
1620 JUnitTestCase.assertNull(declaration.propertyKeyword);
1621 }
1622
1623 void test_parseCompilationUnitMember_function_type() {
1624 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "int f() {}");
1625 JUnitTestCase.assertNotNull(declaration.functionExpression);
1626 JUnitTestCase.assertNull(declaration.propertyKeyword);
1627 }
1628
1629 void test_parseCompilationUnitMember_function_void() {
1630 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "void f() {}");
1631 JUnitTestCase.assertNotNull(declaration.returnType);
1632 }
1633
1634 void test_parseCompilationUnitMember_getter_external_noType() {
1635 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external get p;");
1636 JUnitTestCase.assertNotNull(declaration.externalKeyword);
1637 JUnitTestCase.assertNotNull(declaration.functionExpression);
1638 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
1639 }
1640
1641 void test_parseCompilationUnitMember_getter_external_type() {
1642 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external int get p;");
1643 JUnitTestCase.assertNotNull(declaration.externalKeyword);
1644 JUnitTestCase.assertNotNull(declaration.functionExpression);
1645 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
1646 }
1647
1648 void test_parseCompilationUnitMember_getter_noType() {
1649 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "get p => 0;");
1650 JUnitTestCase.assertNotNull(declaration.functionExpression);
1651 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
1652 }
1653
1654 void test_parseCompilationUnitMember_getter_type() {
1655 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "int get p => 0;");
1656 JUnitTestCase.assertNotNull(declaration.functionExpression);
1657 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
1658 }
1659
1660 void test_parseCompilationUnitMember_setter_external_noType() {
1661 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external set p(v);");
1662 JUnitTestCase.assertNotNull(declaration.externalKeyword);
1663 JUnitTestCase.assertNotNull(declaration.functionExpression);
1664 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
1665 }
1666
1667 void test_parseCompilationUnitMember_setter_external_type() {
1668 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external void set p(int v);");
1669 JUnitTestCase.assertNotNull(declaration.externalKeyword);
1670 JUnitTestCase.assertNotNull(declaration.functionExpression);
1671 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
1672 }
1673
1674 void test_parseCompilationUnitMember_setter_noType() {
1675 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "set p(v) {}");
1676 JUnitTestCase.assertNotNull(declaration.functionExpression);
1677 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
1678 }
1679
1680 void test_parseCompilationUnitMember_setter_type() {
1681 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "void set p(int v) {}");
1682 JUnitTestCase.assertNotNull(declaration.functionExpression);
1683 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
1684 JUnitTestCase.assertNotNull(declaration.returnType);
1685 }
1686
1687 void test_parseCompilationUnitMember_typeAlias_abstract() {
1688 ClassTypeAlias typeAlias = ParserTestCase.parse("parseCompilationUnitMember" , <Object> [emptyCommentAndMetadata()], "abstract class C = S with M;");
1689 JUnitTestCase.assertNotNull(typeAlias.keyword);
1690 JUnitTestCase.assertEquals("C", typeAlias.name.name);
1691 JUnitTestCase.assertNull(typeAlias.typeParameters);
1692 JUnitTestCase.assertNotNull(typeAlias.equals);
1693 JUnitTestCase.assertNotNull(typeAlias.abstractKeyword);
1694 JUnitTestCase.assertEquals("S", typeAlias.superclass.name.name);
1695 JUnitTestCase.assertNotNull(typeAlias.withClause);
1696 JUnitTestCase.assertNull(typeAlias.implementsClause);
1697 JUnitTestCase.assertNotNull(typeAlias.semicolon);
1698 }
1699
1700 void test_parseCompilationUnitMember_typeAlias_generic() {
1701 ClassTypeAlias typeAlias = ParserTestCase.parse("parseCompilationUnitMember" , <Object> [emptyCommentAndMetadata()], "class C<E> = S<E> with M<E> implements I<E>;");
1702 JUnitTestCase.assertNotNull(typeAlias.keyword);
1703 JUnitTestCase.assertEquals("C", typeAlias.name.name);
1704 EngineTestCase.assertSizeOfList(1, typeAlias.typeParameters.typeParameters);
1705 JUnitTestCase.assertNotNull(typeAlias.equals);
1706 JUnitTestCase.assertNull(typeAlias.abstractKeyword);
1707 JUnitTestCase.assertEquals("S", typeAlias.superclass.name.name);
1708 JUnitTestCase.assertNotNull(typeAlias.withClause);
1709 JUnitTestCase.assertNotNull(typeAlias.implementsClause);
1710 JUnitTestCase.assertNotNull(typeAlias.semicolon);
1711 }
1712
1713 void test_parseCompilationUnitMember_typeAlias_implements() {
1714 ClassTypeAlias typeAlias = ParserTestCase.parse("parseCompilationUnitMember" , <Object> [emptyCommentAndMetadata()], "class C = S with M implements I;");
1715 JUnitTestCase.assertNotNull(typeAlias.keyword);
1716 JUnitTestCase.assertEquals("C", typeAlias.name.name);
1717 JUnitTestCase.assertNull(typeAlias.typeParameters);
1718 JUnitTestCase.assertNotNull(typeAlias.equals);
1719 JUnitTestCase.assertNull(typeAlias.abstractKeyword);
1720 JUnitTestCase.assertEquals("S", typeAlias.superclass.name.name);
1721 JUnitTestCase.assertNotNull(typeAlias.withClause);
1722 JUnitTestCase.assertNotNull(typeAlias.implementsClause);
1723 JUnitTestCase.assertNotNull(typeAlias.semicolon);
1724 }
1725
1726 void test_parseCompilationUnitMember_typeAlias_noImplements() {
1727 ClassTypeAlias typeAlias = ParserTestCase.parse("parseCompilationUnitMember" , <Object> [emptyCommentAndMetadata()], "class C = S with M;");
1728 JUnitTestCase.assertNotNull(typeAlias.keyword);
1729 JUnitTestCase.assertEquals("C", typeAlias.name.name);
1730 JUnitTestCase.assertNull(typeAlias.typeParameters);
1731 JUnitTestCase.assertNotNull(typeAlias.equals);
1732 JUnitTestCase.assertNull(typeAlias.abstractKeyword);
1733 JUnitTestCase.assertEquals("S", typeAlias.superclass.name.name);
1734 JUnitTestCase.assertNotNull(typeAlias.withClause);
1735 JUnitTestCase.assertNull(typeAlias.implementsClause);
1736 JUnitTestCase.assertNotNull(typeAlias.semicolon);
1737 }
1738
1739 void test_parseCompilationUnitMember_typedef() {
1740 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseCompilationUnitMemb er", <Object> [emptyCommentAndMetadata()], "typedef F();");
1741 JUnitTestCase.assertEquals("F", typeAlias.name.name);
1742 EngineTestCase.assertSizeOfList(0, typeAlias.parameters.parameters);
1743 }
1744
1745 void test_parseCompilationUnitMember_variable() {
1746 TopLevelVariableDeclaration declaration = ParserTestCase.parse("parseCompila tionUnitMember", <Object> [emptyCommentAndMetadata()], "var x = 0;");
1747 JUnitTestCase.assertNotNull(declaration.semicolon);
1748 JUnitTestCase.assertNotNull(declaration.variables);
1749 }
1750
1751 void test_parseCompilationUnitMember_variableGet() {
1752 TopLevelVariableDeclaration declaration = ParserTestCase.parse("parseCompila tionUnitMember", <Object> [emptyCommentAndMetadata()], "String get = null;");
1753 JUnitTestCase.assertNotNull(declaration.semicolon);
1754 JUnitTestCase.assertNotNull(declaration.variables);
1755 }
1756
1757 void test_parseCompilationUnitMember_variableSet() {
1758 TopLevelVariableDeclaration declaration = ParserTestCase.parse("parseCompila tionUnitMember", <Object> [emptyCommentAndMetadata()], "String set = null;");
1759 JUnitTestCase.assertNotNull(declaration.semicolon);
1760 JUnitTestCase.assertNotNull(declaration.variables);
1761 }
1762
1763 void test_parseConditionalExpression() {
1764 ConditionalExpression expression = ParserTestCase.parse4("parseConditionalEx pression", "x ? y : z", []);
1765 JUnitTestCase.assertNotNull(expression.condition);
1766 JUnitTestCase.assertNotNull(expression.question);
1767 JUnitTestCase.assertNotNull(expression.thenExpression);
1768 JUnitTestCase.assertNotNull(expression.colon);
1769 JUnitTestCase.assertNotNull(expression.elseExpression);
1770 }
1771
1772 void test_parseConstExpression_instanceCreation() {
1773 InstanceCreationExpression expression = ParserTestCase.parse4("parseConstExp ression", "const A()", []);
1774 JUnitTestCase.assertNotNull(expression.keyword);
1775 ConstructorName name = expression.constructorName;
1776 JUnitTestCase.assertNotNull(name);
1777 JUnitTestCase.assertNotNull(name.type);
1778 JUnitTestCase.assertNull(name.period);
1779 JUnitTestCase.assertNull(name.name);
1780 JUnitTestCase.assertNotNull(expression.argumentList);
1781 }
1782
1783 void test_parseConstExpression_listLiteral_typed() {
1784 ListLiteral literal = ParserTestCase.parse4("parseConstExpression", "const < A> []", []);
1785 JUnitTestCase.assertNotNull(literal.constKeyword);
1786 JUnitTestCase.assertNotNull(literal.typeArguments);
1787 JUnitTestCase.assertNotNull(literal.leftBracket);
1788 EngineTestCase.assertSizeOfList(0, literal.elements);
1789 JUnitTestCase.assertNotNull(literal.rightBracket);
1790 }
1791
1792 void test_parseConstExpression_listLiteral_untyped() {
1793 ListLiteral literal = ParserTestCase.parse4("parseConstExpression", "const [ ]", []);
1794 JUnitTestCase.assertNotNull(literal.constKeyword);
1795 JUnitTestCase.assertNull(literal.typeArguments);
1796 JUnitTestCase.assertNotNull(literal.leftBracket);
1797 EngineTestCase.assertSizeOfList(0, literal.elements);
1798 JUnitTestCase.assertNotNull(literal.rightBracket);
1799 }
1800
1801 void test_parseConstExpression_mapLiteral_typed() {
1802 MapLiteral literal = ParserTestCase.parse4("parseConstExpression", "const <A , B> {}", []);
1803 JUnitTestCase.assertNotNull(literal.leftBracket);
1804 EngineTestCase.assertSizeOfList(0, literal.entries);
1805 JUnitTestCase.assertNotNull(literal.rightBracket);
1806 JUnitTestCase.assertNotNull(literal.typeArguments);
1807 }
1808
1809 void test_parseConstExpression_mapLiteral_untyped() {
1810 MapLiteral literal = ParserTestCase.parse4("parseConstExpression", "const {} ", []);
1811 JUnitTestCase.assertNotNull(literal.leftBracket);
1812 EngineTestCase.assertSizeOfList(0, literal.entries);
1813 JUnitTestCase.assertNotNull(literal.rightBracket);
1814 JUnitTestCase.assertNull(literal.typeArguments);
1815 }
1816
1817 void test_parseConstructor() {
1818 }
1819
1820 void test_parseConstructor_with_pseudo_function_literal() {
1821 // "(b) {}" should not be misinterpreted as a function literal even though i t looks like one.
1822 ClassMember classMember = ParserTestCase.parse("parseClassMember", <Object> ["C"], "C() : a = (b) {}");
1823 EngineTestCase.assertInstanceOf((obj) => obj is ConstructorDeclaration, Cons tructorDeclaration, classMember);
1824 ConstructorDeclaration constructor = classMember as ConstructorDeclaration;
1825 NodeList<ConstructorInitializer> initializers = constructor.initializers;
1826 EngineTestCase.assertSizeOfList(1, initializers);
1827 ConstructorInitializer initializer = initializers[0];
1828 EngineTestCase.assertInstanceOf((obj) => obj is ConstructorFieldInitializer, ConstructorFieldInitializer, initializer);
1829 EngineTestCase.assertInstanceOf((obj) => obj is ParenthesizedExpression, Par enthesizedExpression, (initializer as ConstructorFieldInitializer).expression);
1830 EngineTestCase.assertInstanceOf((obj) => obj is BlockFunctionBody, BlockFunc tionBody, constructor.body);
1831 }
1832
1833 void test_parseConstructorFieldInitializer_qualified() {
1834 ConstructorFieldInitializer invocation = ParserTestCase.parse4("parseConstru ctorFieldInitializer", "this.a = b", []);
1835 JUnitTestCase.assertNotNull(invocation.equals);
1836 JUnitTestCase.assertNotNull(invocation.expression);
1837 JUnitTestCase.assertNotNull(invocation.fieldName);
1838 JUnitTestCase.assertNotNull(invocation.keyword);
1839 JUnitTestCase.assertNotNull(invocation.period);
1840 }
1841
1842 void test_parseConstructorFieldInitializer_unqualified() {
1843 ConstructorFieldInitializer invocation = ParserTestCase.parse4("parseConstru ctorFieldInitializer", "a = b", []);
1844 JUnitTestCase.assertNotNull(invocation.equals);
1845 JUnitTestCase.assertNotNull(invocation.expression);
1846 JUnitTestCase.assertNotNull(invocation.fieldName);
1847 JUnitTestCase.assertNull(invocation.keyword);
1848 JUnitTestCase.assertNull(invocation.period);
1849 }
1850
1851 void test_parseConstructorName_named_noPrefix() {
1852 ConstructorName name = ParserTestCase.parse4("parseConstructorName", "A.n;", []);
1853 JUnitTestCase.assertNotNull(name.type);
1854 JUnitTestCase.assertNull(name.period);
1855 JUnitTestCase.assertNull(name.name);
1856 }
1857
1858 void test_parseConstructorName_named_prefixed() {
1859 ConstructorName name = ParserTestCase.parse4("parseConstructorName", "p.A.n; ", []);
1860 JUnitTestCase.assertNotNull(name.type);
1861 JUnitTestCase.assertNotNull(name.period);
1862 JUnitTestCase.assertNotNull(name.name);
1863 }
1864
1865 void test_parseConstructorName_unnamed_noPrefix() {
1866 ConstructorName name = ParserTestCase.parse4("parseConstructorName", "A;", [ ]);
1867 JUnitTestCase.assertNotNull(name.type);
1868 JUnitTestCase.assertNull(name.period);
1869 JUnitTestCase.assertNull(name.name);
1870 }
1871
1872 void test_parseConstructorName_unnamed_prefixed() {
1873 ConstructorName name = ParserTestCase.parse4("parseConstructorName", "p.A;", []);
1874 JUnitTestCase.assertNotNull(name.type);
1875 JUnitTestCase.assertNull(name.period);
1876 JUnitTestCase.assertNull(name.name);
1877 }
1878
1879 void test_parseContinueStatement_label() {
1880 ContinueStatement statement = ParserTestCase.parse4("parseContinueStatement" , "continue foo;", [ParserErrorCode.CONTINUE_OUTSIDE_OF_LOOP]);
1881 JUnitTestCase.assertNotNull(statement.keyword);
1882 JUnitTestCase.assertNotNull(statement.label);
1883 JUnitTestCase.assertNotNull(statement.semicolon);
1884 }
1885
1886 void test_parseContinueStatement_noLabel() {
1887 ContinueStatement statement = ParserTestCase.parse4("parseContinueStatement" , "continue;", [ParserErrorCode.CONTINUE_OUTSIDE_OF_LOOP]);
1888 JUnitTestCase.assertNotNull(statement.keyword);
1889 JUnitTestCase.assertNull(statement.label);
1890 JUnitTestCase.assertNotNull(statement.semicolon);
1891 }
1892
1893 void test_parseDirective_export() {
1894 ExportDirective directive = ParserTestCase.parse("parseDirective", <Object> [emptyCommentAndMetadata()], "export 'lib/lib.dart';");
1895 JUnitTestCase.assertNotNull(directive.keyword);
1896 JUnitTestCase.assertNotNull(directive.uri);
1897 EngineTestCase.assertSizeOfList(0, directive.combinators);
1898 JUnitTestCase.assertNotNull(directive.semicolon);
1899 }
1900
1901 void test_parseDirective_import() {
1902 ImportDirective directive = ParserTestCase.parse("parseDirective", <Object> [emptyCommentAndMetadata()], "import 'lib/lib.dart';");
1903 JUnitTestCase.assertNotNull(directive.keyword);
1904 JUnitTestCase.assertNotNull(directive.uri);
1905 JUnitTestCase.assertNull(directive.asToken);
1906 JUnitTestCase.assertNull(directive.prefix);
1907 EngineTestCase.assertSizeOfList(0, directive.combinators);
1908 JUnitTestCase.assertNotNull(directive.semicolon);
1909 }
1910
1911 void test_parseDirective_library() {
1912 LibraryDirective directive = ParserTestCase.parse("parseDirective", <Object> [emptyCommentAndMetadata()], "library l;");
1913 JUnitTestCase.assertNotNull(directive.libraryToken);
1914 JUnitTestCase.assertNotNull(directive.name);
1915 JUnitTestCase.assertNotNull(directive.semicolon);
1916 }
1917
1918 void test_parseDirective_part() {
1919 PartDirective directive = ParserTestCase.parse("parseDirective", <Object> [e mptyCommentAndMetadata()], "part 'lib/lib.dart';");
1920 JUnitTestCase.assertNotNull(directive.partToken);
1921 JUnitTestCase.assertNotNull(directive.uri);
1922 JUnitTestCase.assertNotNull(directive.semicolon);
1923 }
1924
1925 void test_parseDirective_partOf() {
1926 PartOfDirective directive = ParserTestCase.parse("parseDirective", <Object> [emptyCommentAndMetadata()], "part of l;");
1927 JUnitTestCase.assertNotNull(directive.partToken);
1928 JUnitTestCase.assertNotNull(directive.ofToken);
1929 JUnitTestCase.assertNotNull(directive.libraryName);
1930 JUnitTestCase.assertNotNull(directive.semicolon);
1931 }
1932
1933 void test_parseDirectives_complete() {
1934 CompilationUnit unit = _parseDirectives("#! /bin/dart\nlibrary l;\nclass A { }", []);
1935 JUnitTestCase.assertNotNull(unit.scriptTag);
1936 EngineTestCase.assertSizeOfList(1, unit.directives);
1937 }
1938
1939 void test_parseDirectives_empty() {
1940 CompilationUnit unit = _parseDirectives("", []);
1941 JUnitTestCase.assertNull(unit.scriptTag);
1942 EngineTestCase.assertSizeOfList(0, unit.directives);
1943 }
1944
1945 void test_parseDirectives_mixed() {
1946 CompilationUnit unit = _parseDirectives("library l; class A {} part 'foo.dar t';", []);
1947 JUnitTestCase.assertNull(unit.scriptTag);
1948 EngineTestCase.assertSizeOfList(1, unit.directives);
1949 }
1950
1951 void test_parseDirectives_multiple() {
1952 CompilationUnit unit = _parseDirectives("library l;\npart 'a.dart';", []);
1953 JUnitTestCase.assertNull(unit.scriptTag);
1954 EngineTestCase.assertSizeOfList(2, unit.directives);
1955 }
1956
1957 void test_parseDirectives_script() {
1958 CompilationUnit unit = _parseDirectives("#! /bin/dart", []);
1959 JUnitTestCase.assertNotNull(unit.scriptTag);
1960 EngineTestCase.assertSizeOfList(0, unit.directives);
1961 }
1962
1963 void test_parseDirectives_single() {
1964 CompilationUnit unit = _parseDirectives("library l;", []);
1965 JUnitTestCase.assertNull(unit.scriptTag);
1966 EngineTestCase.assertSizeOfList(1, unit.directives);
1967 }
1968
1969 void test_parseDirectives_topLevelDeclaration() {
1970 CompilationUnit unit = _parseDirectives("class A {}", []);
1971 JUnitTestCase.assertNull(unit.scriptTag);
1972 EngineTestCase.assertSizeOfList(0, unit.directives);
1973 }
1974
1975 void test_parseDocumentationComment_block() {
1976 Comment comment = ParserTestCase.parse4("parseDocumentationComment", "/** */ class", []);
1977 JUnitTestCase.assertFalse(comment.isBlock);
1978 JUnitTestCase.assertTrue(comment.isDocumentation);
1979 JUnitTestCase.assertFalse(comment.isEndOfLine);
1980 }
1981
1982 void test_parseDocumentationComment_block_withReference() {
1983 Comment comment = ParserTestCase.parse4("parseDocumentationComment", "/** [a ] */ class", []);
1984 JUnitTestCase.assertFalse(comment.isBlock);
1985 JUnitTestCase.assertTrue(comment.isDocumentation);
1986 JUnitTestCase.assertFalse(comment.isEndOfLine);
1987 NodeList<CommentReference> references = comment.references;
1988 EngineTestCase.assertSizeOfList(1, references);
1989 CommentReference reference = references[0];
1990 JUnitTestCase.assertNotNull(reference);
1991 JUnitTestCase.assertEquals(5, reference.offset);
1992 }
1993
1994 void test_parseDocumentationComment_endOfLine() {
1995 Comment comment = ParserTestCase.parse4("parseDocumentationComment", "/// \n /// \n class", []);
1996 JUnitTestCase.assertFalse(comment.isBlock);
1997 JUnitTestCase.assertTrue(comment.isDocumentation);
1998 JUnitTestCase.assertFalse(comment.isEndOfLine);
1999 }
2000
2001 void test_parseDoStatement() {
2002 DoStatement statement = ParserTestCase.parse4("parseDoStatement", "do {} whi le (x);", []);
2003 JUnitTestCase.assertNotNull(statement.doKeyword);
2004 JUnitTestCase.assertNotNull(statement.body);
2005 JUnitTestCase.assertNotNull(statement.whileKeyword);
2006 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2007 JUnitTestCase.assertNotNull(statement.condition);
2008 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2009 JUnitTestCase.assertNotNull(statement.semicolon);
2010 }
2011
2012 void test_parseEmptyStatement() {
2013 EmptyStatement statement = ParserTestCase.parse4("parseEmptyStatement", ";", []);
2014 JUnitTestCase.assertNotNull(statement.semicolon);
2015 }
2016
2017 void test_parseEqualityExpression_normal() {
2018 BinaryExpression expression = ParserTestCase.parse4("parseEqualityExpression ", "x == y", []);
2019 JUnitTestCase.assertNotNull(expression.leftOperand);
2020 JUnitTestCase.assertNotNull(expression.operator);
2021 JUnitTestCase.assertEquals(TokenType.EQ_EQ, expression.operator.type);
2022 JUnitTestCase.assertNotNull(expression.rightOperand);
2023 }
2024
2025 void test_parseEqualityExpression_super() {
2026 BinaryExpression expression = ParserTestCase.parse4("parseEqualityExpression ", "super == y", []);
2027 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, expression.leftOperand);
2028 JUnitTestCase.assertNotNull(expression.operator);
2029 JUnitTestCase.assertEquals(TokenType.EQ_EQ, expression.operator.type);
2030 JUnitTestCase.assertNotNull(expression.rightOperand);
2031 }
2032
2033 void test_parseExportDirective_hide() {
2034 ExportDirective directive = ParserTestCase.parse("parseExportDirective", <Ob ject> [emptyCommentAndMetadata()], "export 'lib/lib.dart' hide A, B;");
2035 JUnitTestCase.assertNotNull(directive.keyword);
2036 JUnitTestCase.assertNotNull(directive.uri);
2037 EngineTestCase.assertSizeOfList(1, directive.combinators);
2038 JUnitTestCase.assertNotNull(directive.semicolon);
2039 }
2040
2041 void test_parseExportDirective_hide_show() {
2042 ExportDirective directive = ParserTestCase.parse("parseExportDirective", <Ob ject> [emptyCommentAndMetadata()], "export 'lib/lib.dart' hide A show B;");
2043 JUnitTestCase.assertNotNull(directive.keyword);
2044 JUnitTestCase.assertNotNull(directive.uri);
2045 EngineTestCase.assertSizeOfList(2, directive.combinators);
2046 JUnitTestCase.assertNotNull(directive.semicolon);
2047 }
2048
2049 void test_parseExportDirective_noCombinator() {
2050 ExportDirective directive = ParserTestCase.parse("parseExportDirective", <Ob ject> [emptyCommentAndMetadata()], "export 'lib/lib.dart';");
2051 JUnitTestCase.assertNotNull(directive.keyword);
2052 JUnitTestCase.assertNotNull(directive.uri);
2053 EngineTestCase.assertSizeOfList(0, directive.combinators);
2054 JUnitTestCase.assertNotNull(directive.semicolon);
2055 }
2056
2057 void test_parseExportDirective_show() {
2058 ExportDirective directive = ParserTestCase.parse("parseExportDirective", <Ob ject> [emptyCommentAndMetadata()], "export 'lib/lib.dart' show A, B;");
2059 JUnitTestCase.assertNotNull(directive.keyword);
2060 JUnitTestCase.assertNotNull(directive.uri);
2061 EngineTestCase.assertSizeOfList(1, directive.combinators);
2062 JUnitTestCase.assertNotNull(directive.semicolon);
2063 }
2064
2065 void test_parseExportDirective_show_hide() {
2066 ExportDirective directive = ParserTestCase.parse("parseExportDirective", <Ob ject> [emptyCommentAndMetadata()], "export 'lib/lib.dart' show B hide A;");
2067 JUnitTestCase.assertNotNull(directive.keyword);
2068 JUnitTestCase.assertNotNull(directive.uri);
2069 EngineTestCase.assertSizeOfList(2, directive.combinators);
2070 JUnitTestCase.assertNotNull(directive.semicolon);
2071 }
2072
2073 void test_parseExpression_assign() {
2074 // TODO(brianwilkerson) Implement more tests for this method.
2075 AssignmentExpression expression = ParserTestCase.parse4("parseExpression", " x = y", []);
2076 JUnitTestCase.assertNotNull(expression.leftHandSide);
2077 JUnitTestCase.assertNotNull(expression.operator);
2078 JUnitTestCase.assertEquals(TokenType.EQ, expression.operator.type);
2079 JUnitTestCase.assertNotNull(expression.rightHandSide);
2080 }
2081
2082 void test_parseExpression_comparison() {
2083 BinaryExpression expression = ParserTestCase.parse4("parseExpression", "--a. b == c", []);
2084 JUnitTestCase.assertNotNull(expression.leftOperand);
2085 JUnitTestCase.assertNotNull(expression.operator);
2086 JUnitTestCase.assertEquals(TokenType.EQ_EQ, expression.operator.type);
2087 JUnitTestCase.assertNotNull(expression.rightOperand);
2088 }
2089
2090 void test_parseExpression_invokeFunctionExpression() {
2091 FunctionExpressionInvocation invocation = ParserTestCase.parse4("parseExpres sion", "(a) {return a + a;} (3)", []);
2092 EngineTestCase.assertInstanceOf((obj) => obj is FunctionExpression, Function Expression, invocation.function);
2093 FunctionExpression expression = invocation.function as FunctionExpression;
2094 JUnitTestCase.assertNotNull(expression.parameters);
2095 JUnitTestCase.assertNotNull(expression.body);
2096 ArgumentList list = invocation.argumentList;
2097 JUnitTestCase.assertNotNull(list);
2098 EngineTestCase.assertSizeOfList(1, list.arguments);
2099 }
2100
2101 void test_parseExpression_superMethodInvocation() {
2102 MethodInvocation invocation = ParserTestCase.parse4("parseExpression", "supe r.m()", []);
2103 JUnitTestCase.assertNotNull(invocation.target);
2104 JUnitTestCase.assertNotNull(invocation.methodName);
2105 JUnitTestCase.assertNotNull(invocation.argumentList);
2106 }
2107
2108 void test_parseExpressionList_multiple() {
2109 List<Expression> result = ParserTestCase.parse4("parseExpressionList", "1, 2 , 3", []);
2110 EngineTestCase.assertSizeOfList(3, result);
2111 }
2112
2113 void test_parseExpressionList_single() {
2114 List<Expression> result = ParserTestCase.parse4("parseExpressionList", "1", []);
2115 EngineTestCase.assertSizeOfList(1, result);
2116 }
2117
2118 void test_parseExpressionWithoutCascade_assign() {
2119 // TODO(brianwilkerson) Implement more tests for this method.
2120 AssignmentExpression expression = ParserTestCase.parse4("parseExpressionWith outCascade", "x = y", []);
2121 JUnitTestCase.assertNotNull(expression.leftHandSide);
2122 JUnitTestCase.assertNotNull(expression.operator);
2123 JUnitTestCase.assertEquals(TokenType.EQ, expression.operator.type);
2124 JUnitTestCase.assertNotNull(expression.rightHandSide);
2125 }
2126
2127 void test_parseExpressionWithoutCascade_comparison() {
2128 BinaryExpression expression = ParserTestCase.parse4("parseExpressionWithoutC ascade", "--a.b == c", []);
2129 JUnitTestCase.assertNotNull(expression.leftOperand);
2130 JUnitTestCase.assertNotNull(expression.operator);
2131 JUnitTestCase.assertEquals(TokenType.EQ_EQ, expression.operator.type);
2132 JUnitTestCase.assertNotNull(expression.rightOperand);
2133 }
2134
2135 void test_parseExpressionWithoutCascade_superMethodInvocation() {
2136 MethodInvocation invocation = ParserTestCase.parse4("parseExpressionWithoutC ascade", "super.m()", []);
2137 JUnitTestCase.assertNotNull(invocation.target);
2138 JUnitTestCase.assertNotNull(invocation.methodName);
2139 JUnitTestCase.assertNotNull(invocation.argumentList);
2140 }
2141
2142 void test_parseExtendsClause() {
2143 ExtendsClause clause = ParserTestCase.parse4("parseExtendsClause", "extends B", []);
2144 JUnitTestCase.assertNotNull(clause.keyword);
2145 JUnitTestCase.assertNotNull(clause.superclass);
2146 EngineTestCase.assertInstanceOf((obj) => obj is TypeName, TypeName, clause.s uperclass);
2147 }
2148
2149 void test_parseFinalConstVarOrType_const_noType() {
2150 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "const");
2151 Token keyword = result.keyword;
2152 JUnitTestCase.assertNotNull(keyword);
2153 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword.type);
2154 JUnitTestCase.assertEquals(Keyword.CONST, (keyword as KeywordToken).keyword) ;
2155 JUnitTestCase.assertNull(result.type);
2156 }
2157
2158 void test_parseFinalConstVarOrType_const_type() {
2159 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "const A a");
2160 Token keyword = result.keyword;
2161 JUnitTestCase.assertNotNull(keyword);
2162 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword.type);
2163 JUnitTestCase.assertEquals(Keyword.CONST, (keyword as KeywordToken).keyword) ;
2164 JUnitTestCase.assertNotNull(result.type);
2165 }
2166
2167 void test_parseFinalConstVarOrType_final_noType() {
2168 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "final");
2169 Token keyword = result.keyword;
2170 JUnitTestCase.assertNotNull(keyword);
2171 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword.type);
2172 JUnitTestCase.assertEquals(Keyword.FINAL, (keyword as KeywordToken).keyword) ;
2173 JUnitTestCase.assertNull(result.type);
2174 }
2175
2176 void test_parseFinalConstVarOrType_final_prefixedType() {
2177 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "final p.A a");
2178 Token keyword = result.keyword;
2179 JUnitTestCase.assertNotNull(keyword);
2180 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword.type);
2181 JUnitTestCase.assertEquals(Keyword.FINAL, (keyword as KeywordToken).keyword) ;
2182 JUnitTestCase.assertNotNull(result.type);
2183 }
2184
2185 void test_parseFinalConstVarOrType_final_type() {
2186 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "final A a");
2187 Token keyword = result.keyword;
2188 JUnitTestCase.assertNotNull(keyword);
2189 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword.type);
2190 JUnitTestCase.assertEquals(Keyword.FINAL, (keyword as KeywordToken).keyword) ;
2191 JUnitTestCase.assertNotNull(result.type);
2192 }
2193
2194 void test_parseFinalConstVarOrType_type_parameterized() {
2195 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "A<B> a");
2196 JUnitTestCase.assertNull(result.keyword);
2197 JUnitTestCase.assertNotNull(result.type);
2198 }
2199
2200 void test_parseFinalConstVarOrType_type_prefixed() {
2201 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "p.A a");
2202 JUnitTestCase.assertNull(result.keyword);
2203 JUnitTestCase.assertNotNull(result.type);
2204 }
2205
2206 void test_parseFinalConstVarOrType_type_prefixedAndParameterized() {
2207 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "p.A<B> a");
2208 JUnitTestCase.assertNull(result.keyword);
2209 JUnitTestCase.assertNotNull(result.type);
2210 }
2211
2212 void test_parseFinalConstVarOrType_type_simple() {
2213 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "A a");
2214 JUnitTestCase.assertNull(result.keyword);
2215 JUnitTestCase.assertNotNull(result.type);
2216 }
2217
2218 void test_parseFinalConstVarOrType_var() {
2219 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "var");
2220 Token keyword = result.keyword;
2221 JUnitTestCase.assertNotNull(keyword);
2222 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword.type);
2223 JUnitTestCase.assertEquals(Keyword.VAR, (keyword as KeywordToken).keyword);
2224 JUnitTestCase.assertNull(result.type);
2225 }
2226
2227 void test_parseFormalParameter_final_withType_named() {
2228 ParameterKind kind = ParameterKind.NAMED;
2229 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "final A a : null");
2230 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
2231 JUnitTestCase.assertNotNull(simpleParameter.identifier);
2232 JUnitTestCase.assertNotNull(simpleParameter.keyword);
2233 JUnitTestCase.assertNotNull(simpleParameter.type);
2234 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
2235 JUnitTestCase.assertNotNull(parameter.separator);
2236 JUnitTestCase.assertNotNull(parameter.defaultValue);
2237 JUnitTestCase.assertEquals(kind, parameter.kind);
2238 }
2239
2240 void test_parseFormalParameter_final_withType_normal() {
2241 ParameterKind kind = ParameterKind.REQUIRED;
2242 SimpleFormalParameter parameter = ParserTestCase.parse("parseFormalParameter ", <Object> [kind], "final A a");
2243 JUnitTestCase.assertNotNull(parameter.identifier);
2244 JUnitTestCase.assertNotNull(parameter.keyword);
2245 JUnitTestCase.assertNotNull(parameter.type);
2246 JUnitTestCase.assertEquals(kind, parameter.kind);
2247 }
2248
2249 void test_parseFormalParameter_final_withType_positional() {
2250 ParameterKind kind = ParameterKind.POSITIONAL;
2251 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "final A a = null");
2252 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
2253 JUnitTestCase.assertNotNull(simpleParameter.identifier);
2254 JUnitTestCase.assertNotNull(simpleParameter.keyword);
2255 JUnitTestCase.assertNotNull(simpleParameter.type);
2256 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
2257 JUnitTestCase.assertNotNull(parameter.separator);
2258 JUnitTestCase.assertNotNull(parameter.defaultValue);
2259 JUnitTestCase.assertEquals(kind, parameter.kind);
2260 }
2261
2262 void test_parseFormalParameter_nonFinal_withType_named() {
2263 ParameterKind kind = ParameterKind.NAMED;
2264 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "A a : null");
2265 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
2266 JUnitTestCase.assertNotNull(simpleParameter.identifier);
2267 JUnitTestCase.assertNull(simpleParameter.keyword);
2268 JUnitTestCase.assertNotNull(simpleParameter.type);
2269 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
2270 JUnitTestCase.assertNotNull(parameter.separator);
2271 JUnitTestCase.assertNotNull(parameter.defaultValue);
2272 JUnitTestCase.assertEquals(kind, parameter.kind);
2273 }
2274
2275 void test_parseFormalParameter_nonFinal_withType_normal() {
2276 ParameterKind kind = ParameterKind.REQUIRED;
2277 SimpleFormalParameter parameter = ParserTestCase.parse("parseFormalParameter ", <Object> [kind], "A a");
2278 JUnitTestCase.assertNotNull(parameter.identifier);
2279 JUnitTestCase.assertNull(parameter.keyword);
2280 JUnitTestCase.assertNotNull(parameter.type);
2281 JUnitTestCase.assertEquals(kind, parameter.kind);
2282 }
2283
2284 void test_parseFormalParameter_nonFinal_withType_positional() {
2285 ParameterKind kind = ParameterKind.POSITIONAL;
2286 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "A a = null");
2287 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
2288 JUnitTestCase.assertNotNull(simpleParameter.identifier);
2289 JUnitTestCase.assertNull(simpleParameter.keyword);
2290 JUnitTestCase.assertNotNull(simpleParameter.type);
2291 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
2292 JUnitTestCase.assertNotNull(parameter.separator);
2293 JUnitTestCase.assertNotNull(parameter.defaultValue);
2294 JUnitTestCase.assertEquals(kind, parameter.kind);
2295 }
2296
2297 void test_parseFormalParameter_var() {
2298 ParameterKind kind = ParameterKind.REQUIRED;
2299 SimpleFormalParameter parameter = ParserTestCase.parse("parseFormalParameter ", <Object> [kind], "var a");
2300 JUnitTestCase.assertNotNull(parameter.identifier);
2301 JUnitTestCase.assertNotNull(parameter.keyword);
2302 JUnitTestCase.assertNull(parameter.type);
2303 JUnitTestCase.assertEquals(kind, parameter.kind);
2304 }
2305
2306 void test_parseFormalParameter_var_named() {
2307 ParameterKind kind = ParameterKind.NAMED;
2308 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "var a : null");
2309 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
2310 JUnitTestCase.assertNotNull(simpleParameter.identifier);
2311 JUnitTestCase.assertNotNull(simpleParameter.keyword);
2312 JUnitTestCase.assertNull(simpleParameter.type);
2313 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
2314 JUnitTestCase.assertNotNull(parameter.separator);
2315 JUnitTestCase.assertNotNull(parameter.defaultValue);
2316 JUnitTestCase.assertEquals(kind, parameter.kind);
2317 }
2318
2319 void test_parseFormalParameter_var_positional() {
2320 ParameterKind kind = ParameterKind.POSITIONAL;
2321 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "var a = null");
2322 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
2323 JUnitTestCase.assertNotNull(simpleParameter.identifier);
2324 JUnitTestCase.assertNotNull(simpleParameter.keyword);
2325 JUnitTestCase.assertNull(simpleParameter.type);
2326 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
2327 JUnitTestCase.assertNotNull(parameter.separator);
2328 JUnitTestCase.assertNotNull(parameter.defaultValue);
2329 JUnitTestCase.assertEquals(kind, parameter.kind);
2330 }
2331
2332 void test_parseFormalParameterList_empty() {
2333 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "()", []);
2334 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2335 JUnitTestCase.assertNull(parameterList.leftDelimiter);
2336 EngineTestCase.assertSizeOfList(0, parameterList.parameters);
2337 JUnitTestCase.assertNull(parameterList.rightDelimiter);
2338 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2339 }
2340
2341 void test_parseFormalParameterList_named_multiple() {
2342 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "({A a : 1, B b, C c : 3})", []);
2343 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2344 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
2345 EngineTestCase.assertSizeOfList(3, parameterList.parameters);
2346 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
2347 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2348 }
2349
2350 void test_parseFormalParameterList_named_single() {
2351 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "({A a})", []);
2352 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2353 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
2354 EngineTestCase.assertSizeOfList(1, parameterList.parameters);
2355 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
2356 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2357 }
2358
2359 void test_parseFormalParameterList_normal_multiple() {
2360 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "(A a, B b, C c)", []);
2361 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2362 JUnitTestCase.assertNull(parameterList.leftDelimiter);
2363 EngineTestCase.assertSizeOfList(3, parameterList.parameters);
2364 JUnitTestCase.assertNull(parameterList.rightDelimiter);
2365 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2366 }
2367
2368 void test_parseFormalParameterList_normal_named() {
2369 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "(A a, {B b})", []);
2370 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2371 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
2372 EngineTestCase.assertSizeOfList(2, parameterList.parameters);
2373 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
2374 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2375 }
2376
2377 void test_parseFormalParameterList_normal_positional() {
2378 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "(A a, [B b])", []);
2379 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2380 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
2381 EngineTestCase.assertSizeOfList(2, parameterList.parameters);
2382 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
2383 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2384 }
2385
2386 void test_parseFormalParameterList_normal_single() {
2387 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "(A a)", []);
2388 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2389 JUnitTestCase.assertNull(parameterList.leftDelimiter);
2390 EngineTestCase.assertSizeOfList(1, parameterList.parameters);
2391 JUnitTestCase.assertNull(parameterList.rightDelimiter);
2392 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2393 }
2394
2395 void test_parseFormalParameterList_positional_multiple() {
2396 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "([A a = null, B b, C c = null])", []);
2397 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2398 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
2399 EngineTestCase.assertSizeOfList(3, parameterList.parameters);
2400 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
2401 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2402 }
2403
2404 void test_parseFormalParameterList_positional_single() {
2405 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "([A a = null])", []);
2406 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
2407 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
2408 EngineTestCase.assertSizeOfList(1, parameterList.parameters);
2409 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
2410 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
2411 }
2412
2413 void test_parseForStatement_each_identifier() {
2414 ForEachStatement statement = ParserTestCase.parse4("parseForStatement", "for (element in list) {}", []);
2415 JUnitTestCase.assertNotNull(statement.forKeyword);
2416 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2417 JUnitTestCase.assertNull(statement.loopVariable);
2418 JUnitTestCase.assertNotNull(statement.identifier);
2419 JUnitTestCase.assertNotNull(statement.inKeyword);
2420 JUnitTestCase.assertNotNull(statement.iterator);
2421 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2422 JUnitTestCase.assertNotNull(statement.body);
2423 }
2424
2425 void test_parseForStatement_each_noType_metadata() {
2426 ForEachStatement statement = ParserTestCase.parse4("parseForStatement", "for (@A var element in list) {}", []);
2427 JUnitTestCase.assertNotNull(statement.forKeyword);
2428 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2429 JUnitTestCase.assertNotNull(statement.loopVariable);
2430 EngineTestCase.assertSizeOfList(1, statement.loopVariable.metadata);
2431 JUnitTestCase.assertNull(statement.identifier);
2432 JUnitTestCase.assertNotNull(statement.inKeyword);
2433 JUnitTestCase.assertNotNull(statement.iterator);
2434 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2435 JUnitTestCase.assertNotNull(statement.body);
2436 }
2437
2438 void test_parseForStatement_each_type() {
2439 ForEachStatement statement = ParserTestCase.parse4("parseForStatement", "for (A element in list) {}", []);
2440 JUnitTestCase.assertNotNull(statement.forKeyword);
2441 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2442 JUnitTestCase.assertNotNull(statement.loopVariable);
2443 JUnitTestCase.assertNull(statement.identifier);
2444 JUnitTestCase.assertNotNull(statement.inKeyword);
2445 JUnitTestCase.assertNotNull(statement.iterator);
2446 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2447 JUnitTestCase.assertNotNull(statement.body);
2448 }
2449
2450 void test_parseForStatement_each_var() {
2451 ForEachStatement statement = ParserTestCase.parse4("parseForStatement", "for (var element in list) {}", []);
2452 JUnitTestCase.assertNotNull(statement.forKeyword);
2453 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2454 JUnitTestCase.assertNotNull(statement.loopVariable);
2455 JUnitTestCase.assertNull(statement.identifier);
2456 JUnitTestCase.assertNotNull(statement.inKeyword);
2457 JUnitTestCase.assertNotNull(statement.iterator);
2458 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2459 JUnitTestCase.assertNotNull(statement.body);
2460 }
2461
2462 void test_parseForStatement_loop_c() {
2463 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (; i < count;) {}", []);
2464 JUnitTestCase.assertNotNull(statement.forKeyword);
2465 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2466 JUnitTestCase.assertNull(statement.variables);
2467 JUnitTestCase.assertNull(statement.initialization);
2468 JUnitTestCase.assertNotNull(statement.leftSeparator);
2469 JUnitTestCase.assertNotNull(statement.condition);
2470 JUnitTestCase.assertNotNull(statement.rightSeparator);
2471 EngineTestCase.assertSizeOfList(0, statement.updaters);
2472 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2473 JUnitTestCase.assertNotNull(statement.body);
2474 }
2475
2476 void test_parseForStatement_loop_cu() {
2477 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (; i < count; i++) {}", []);
2478 JUnitTestCase.assertNotNull(statement.forKeyword);
2479 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2480 JUnitTestCase.assertNull(statement.variables);
2481 JUnitTestCase.assertNull(statement.initialization);
2482 JUnitTestCase.assertNotNull(statement.leftSeparator);
2483 JUnitTestCase.assertNotNull(statement.condition);
2484 JUnitTestCase.assertNotNull(statement.rightSeparator);
2485 EngineTestCase.assertSizeOfList(1, statement.updaters);
2486 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2487 JUnitTestCase.assertNotNull(statement.body);
2488 }
2489
2490 void test_parseForStatement_loop_ecu() {
2491 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (i- -; i < count; i++) {}", []);
2492 JUnitTestCase.assertNotNull(statement.forKeyword);
2493 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2494 JUnitTestCase.assertNull(statement.variables);
2495 JUnitTestCase.assertNotNull(statement.initialization);
2496 JUnitTestCase.assertNotNull(statement.leftSeparator);
2497 JUnitTestCase.assertNotNull(statement.condition);
2498 JUnitTestCase.assertNotNull(statement.rightSeparator);
2499 EngineTestCase.assertSizeOfList(1, statement.updaters);
2500 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2501 JUnitTestCase.assertNotNull(statement.body);
2502 }
2503
2504 void test_parseForStatement_loop_i() {
2505 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (va r i = 0;;) {}", []);
2506 JUnitTestCase.assertNotNull(statement.forKeyword);
2507 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2508 VariableDeclarationList variables = statement.variables;
2509 JUnitTestCase.assertNotNull(variables);
2510 EngineTestCase.assertSizeOfList(0, variables.metadata);
2511 EngineTestCase.assertSizeOfList(1, variables.variables);
2512 JUnitTestCase.assertNull(statement.initialization);
2513 JUnitTestCase.assertNotNull(statement.leftSeparator);
2514 JUnitTestCase.assertNull(statement.condition);
2515 JUnitTestCase.assertNotNull(statement.rightSeparator);
2516 EngineTestCase.assertSizeOfList(0, statement.updaters);
2517 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2518 JUnitTestCase.assertNotNull(statement.body);
2519 }
2520
2521 void test_parseForStatement_loop_i_withMetadata() {
2522 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (@A var i = 0;;) {}", []);
2523 JUnitTestCase.assertNotNull(statement.forKeyword);
2524 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2525 VariableDeclarationList variables = statement.variables;
2526 JUnitTestCase.assertNotNull(variables);
2527 EngineTestCase.assertSizeOfList(1, variables.metadata);
2528 EngineTestCase.assertSizeOfList(1, variables.variables);
2529 JUnitTestCase.assertNull(statement.initialization);
2530 JUnitTestCase.assertNotNull(statement.leftSeparator);
2531 JUnitTestCase.assertNull(statement.condition);
2532 JUnitTestCase.assertNotNull(statement.rightSeparator);
2533 EngineTestCase.assertSizeOfList(0, statement.updaters);
2534 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2535 JUnitTestCase.assertNotNull(statement.body);
2536 }
2537
2538 void test_parseForStatement_loop_ic() {
2539 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (va r i = 0; i < count;) {}", []);
2540 JUnitTestCase.assertNotNull(statement.forKeyword);
2541 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2542 VariableDeclarationList variables = statement.variables;
2543 JUnitTestCase.assertNotNull(variables);
2544 EngineTestCase.assertSizeOfList(1, variables.variables);
2545 JUnitTestCase.assertNull(statement.initialization);
2546 JUnitTestCase.assertNotNull(statement.leftSeparator);
2547 JUnitTestCase.assertNotNull(statement.condition);
2548 JUnitTestCase.assertNotNull(statement.rightSeparator);
2549 EngineTestCase.assertSizeOfList(0, statement.updaters);
2550 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2551 JUnitTestCase.assertNotNull(statement.body);
2552 }
2553
2554 void test_parseForStatement_loop_icu() {
2555 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (va r i = 0; i < count; i++) {}", []);
2556 JUnitTestCase.assertNotNull(statement.forKeyword);
2557 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2558 VariableDeclarationList variables = statement.variables;
2559 JUnitTestCase.assertNotNull(variables);
2560 EngineTestCase.assertSizeOfList(1, variables.variables);
2561 JUnitTestCase.assertNull(statement.initialization);
2562 JUnitTestCase.assertNotNull(statement.leftSeparator);
2563 JUnitTestCase.assertNotNull(statement.condition);
2564 JUnitTestCase.assertNotNull(statement.rightSeparator);
2565 EngineTestCase.assertSizeOfList(1, statement.updaters);
2566 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2567 JUnitTestCase.assertNotNull(statement.body);
2568 }
2569
2570 void test_parseForStatement_loop_iicuu() {
2571 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (in t i = 0, j = count; i < j; i++, j--) {}", []);
2572 JUnitTestCase.assertNotNull(statement.forKeyword);
2573 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2574 VariableDeclarationList variables = statement.variables;
2575 JUnitTestCase.assertNotNull(variables);
2576 EngineTestCase.assertSizeOfList(2, variables.variables);
2577 JUnitTestCase.assertNull(statement.initialization);
2578 JUnitTestCase.assertNotNull(statement.leftSeparator);
2579 JUnitTestCase.assertNotNull(statement.condition);
2580 JUnitTestCase.assertNotNull(statement.rightSeparator);
2581 EngineTestCase.assertSizeOfList(2, statement.updaters);
2582 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2583 JUnitTestCase.assertNotNull(statement.body);
2584 }
2585
2586 void test_parseForStatement_loop_iu() {
2587 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (va r i = 0;; i++) {}", []);
2588 JUnitTestCase.assertNotNull(statement.forKeyword);
2589 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2590 VariableDeclarationList variables = statement.variables;
2591 JUnitTestCase.assertNotNull(variables);
2592 EngineTestCase.assertSizeOfList(1, variables.variables);
2593 JUnitTestCase.assertNull(statement.initialization);
2594 JUnitTestCase.assertNotNull(statement.leftSeparator);
2595 JUnitTestCase.assertNull(statement.condition);
2596 JUnitTestCase.assertNotNull(statement.rightSeparator);
2597 EngineTestCase.assertSizeOfList(1, statement.updaters);
2598 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2599 JUnitTestCase.assertNotNull(statement.body);
2600 }
2601
2602 void test_parseForStatement_loop_u() {
2603 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (;; i++) {}", []);
2604 JUnitTestCase.assertNotNull(statement.forKeyword);
2605 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2606 JUnitTestCase.assertNull(statement.variables);
2607 JUnitTestCase.assertNull(statement.initialization);
2608 JUnitTestCase.assertNotNull(statement.leftSeparator);
2609 JUnitTestCase.assertNull(statement.condition);
2610 JUnitTestCase.assertNotNull(statement.rightSeparator);
2611 EngineTestCase.assertSizeOfList(1, statement.updaters);
2612 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2613 JUnitTestCase.assertNotNull(statement.body);
2614 }
2615
2616 void test_parseFunctionBody_block() {
2617 BlockFunctionBody functionBody = ParserTestCase.parse("parseFunctionBody", < Object> [false, null, false], "{}");
2618 JUnitTestCase.assertNotNull(functionBody.block);
2619 }
2620
2621 void test_parseFunctionBody_empty() {
2622 EmptyFunctionBody functionBody = ParserTestCase.parse("parseFunctionBody", < Object> [true, null, false], ";");
2623 JUnitTestCase.assertNotNull(functionBody.semicolon);
2624 }
2625
2626 void test_parseFunctionBody_expression() {
2627 ExpressionFunctionBody functionBody = ParserTestCase.parse("parseFunctionBod y", <Object> [false, null, false], "=> y;");
2628 JUnitTestCase.assertNotNull(functionBody.functionDefinition);
2629 JUnitTestCase.assertNotNull(functionBody.expression);
2630 JUnitTestCase.assertNotNull(functionBody.semicolon);
2631 }
2632
2633 void test_parseFunctionBody_nativeFunctionBody() {
2634 NativeFunctionBody functionBody = ParserTestCase.parse("parseFunctionBody", <Object> [false, null, false], "native 'str';");
2635 JUnitTestCase.assertNotNull(functionBody.nativeToken);
2636 JUnitTestCase.assertNotNull(functionBody.stringLiteral);
2637 JUnitTestCase.assertNotNull(functionBody.semicolon);
2638 }
2639
2640 void test_parseFunctionBody_skip_block() {
2641 ParserTestCase.parseFunctionBodies = false;
2642 FunctionBody functionBody = ParserTestCase.parse("parseFunctionBody", <Objec t> [false, null, false], "{}");
2643 EngineTestCase.assertInstanceOf((obj) => obj is EmptyFunctionBody, EmptyFunc tionBody, functionBody);
2644 }
2645
2646 void test_parseFunctionBody_skip_blocks() {
2647 ParserTestCase.parseFunctionBodies = false;
2648 FunctionBody functionBody = ParserTestCase.parse("parseFunctionBody", <Objec t> [false, null, false], "{ {} }");
2649 EngineTestCase.assertInstanceOf((obj) => obj is EmptyFunctionBody, EmptyFunc tionBody, functionBody);
2650 }
2651
2652 void test_parseFunctionBody_skip_expression() {
2653 ParserTestCase.parseFunctionBodies = false;
2654 FunctionBody functionBody = ParserTestCase.parse("parseFunctionBody", <Objec t> [false, null, false], "=> y;");
2655 EngineTestCase.assertInstanceOf((obj) => obj is EmptyFunctionBody, EmptyFunc tionBody, functionBody);
2656 }
2657
2658 void test_parseFunctionDeclaration_function() {
2659 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
2660 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
2661 FunctionDeclaration declaration = ParserTestCase.parse("parseFunctionDeclara tion", <Object> [commentAndMetadata(comment, []), null, returnType], "f() {}");
2662 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
2663 JUnitTestCase.assertEquals(returnType, declaration.returnType);
2664 JUnitTestCase.assertNotNull(declaration.name);
2665 FunctionExpression expression = declaration.functionExpression;
2666 JUnitTestCase.assertNotNull(expression);
2667 JUnitTestCase.assertNotNull(expression.body);
2668 JUnitTestCase.assertNotNull(expression.parameters);
2669 JUnitTestCase.assertNull(declaration.propertyKeyword);
2670 }
2671
2672 void test_parseFunctionDeclaration_getter() {
2673 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
2674 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
2675 FunctionDeclaration declaration = ParserTestCase.parse("parseFunctionDeclara tion", <Object> [commentAndMetadata(comment, []), null, returnType], "get p => 0 ;");
2676 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
2677 JUnitTestCase.assertEquals(returnType, declaration.returnType);
2678 JUnitTestCase.assertNotNull(declaration.name);
2679 FunctionExpression expression = declaration.functionExpression;
2680 JUnitTestCase.assertNotNull(expression);
2681 JUnitTestCase.assertNotNull(expression.body);
2682 JUnitTestCase.assertNull(expression.parameters);
2683 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2684 }
2685
2686 void test_parseFunctionDeclaration_setter() {
2687 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
2688 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
2689 FunctionDeclaration declaration = ParserTestCase.parse("parseFunctionDeclara tion", <Object> [commentAndMetadata(comment, []), null, returnType], "set p(v) { }");
2690 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
2691 JUnitTestCase.assertEquals(returnType, declaration.returnType);
2692 JUnitTestCase.assertNotNull(declaration.name);
2693 FunctionExpression expression = declaration.functionExpression;
2694 JUnitTestCase.assertNotNull(expression);
2695 JUnitTestCase.assertNotNull(expression.body);
2696 JUnitTestCase.assertNotNull(expression.parameters);
2697 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2698 }
2699
2700 void test_parseFunctionDeclarationStatement() {
2701 FunctionDeclarationStatement statement = ParserTestCase.parse4("parseFunctio nDeclarationStatement", "void f(int p) => p * 2;", []);
2702 JUnitTestCase.assertNotNull(statement.functionDeclaration);
2703 }
2704
2705 void test_parseFunctionExpression_body_inExpression() {
2706 FunctionExpression expression = ParserTestCase.parse4("parseFunctionExpressi on", "(int i) => i++", []);
2707 JUnitTestCase.assertNotNull(expression.body);
2708 JUnitTestCase.assertNotNull(expression.parameters);
2709 JUnitTestCase.assertNull((expression.body as ExpressionFunctionBody).semicol on);
2710 }
2711
2712 void test_parseFunctionExpression_minimal() {
2713 FunctionExpression expression = ParserTestCase.parse4("parseFunctionExpressi on", "() {}", []);
2714 JUnitTestCase.assertNotNull(expression.body);
2715 JUnitTestCase.assertNotNull(expression.parameters);
2716 }
2717
2718 void test_parseGetter_nonStatic() {
2719 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
2720 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
2721 MethodDeclaration method = ParserTestCase.parse("parseGetter", <Object> [com mentAndMetadata(comment, []), null, null, returnType], "get a;");
2722 JUnitTestCase.assertNotNull(method.body);
2723 JUnitTestCase.assertEquals(comment, method.documentationComment);
2724 JUnitTestCase.assertNull(method.externalKeyword);
2725 JUnitTestCase.assertNull(method.modifierKeyword);
2726 JUnitTestCase.assertNotNull(method.name);
2727 JUnitTestCase.assertNull(method.operatorKeyword);
2728 JUnitTestCase.assertNull(method.parameters);
2729 JUnitTestCase.assertNotNull(method.propertyKeyword);
2730 JUnitTestCase.assertEquals(returnType, method.returnType);
2731 }
2732
2733 void test_parseGetter_static() {
2734 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
2735 Token staticKeyword = TokenFactory.tokenFromKeyword(Keyword.STATIC);
2736 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
2737 MethodDeclaration method = ParserTestCase.parse("parseGetter", <Object> [
2738 commentAndMetadata(comment, []),
2739 null,
2740 staticKeyword,
2741 returnType], "get a => 42;");
2742 JUnitTestCase.assertNotNull(method.body);
2743 JUnitTestCase.assertEquals(comment, method.documentationComment);
2744 JUnitTestCase.assertNull(method.externalKeyword);
2745 JUnitTestCase.assertEquals(staticKeyword, method.modifierKeyword);
2746 JUnitTestCase.assertNotNull(method.name);
2747 JUnitTestCase.assertNull(method.operatorKeyword);
2748 JUnitTestCase.assertNull(method.parameters);
2749 JUnitTestCase.assertNotNull(method.propertyKeyword);
2750 JUnitTestCase.assertEquals(returnType, method.returnType);
2751 }
2752
2753 void test_parseIdentifierList_multiple() {
2754 List<SimpleIdentifier> list = ParserTestCase.parse4("parseIdentifierList", " a, b, c", []);
2755 EngineTestCase.assertSizeOfList(3, list);
2756 }
2757
2758 void test_parseIdentifierList_single() {
2759 List<SimpleIdentifier> list = ParserTestCase.parse4("parseIdentifierList", " a", []);
2760 EngineTestCase.assertSizeOfList(1, list);
2761 }
2762
2763 void test_parseIfStatement_else_block() {
2764 IfStatement statement = ParserTestCase.parse4("parseIfStatement", "if (x) {} else {}", []);
2765 JUnitTestCase.assertNotNull(statement.ifKeyword);
2766 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2767 JUnitTestCase.assertNotNull(statement.condition);
2768 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2769 JUnitTestCase.assertNotNull(statement.thenStatement);
2770 JUnitTestCase.assertNotNull(statement.elseKeyword);
2771 JUnitTestCase.assertNotNull(statement.elseStatement);
2772 }
2773
2774 void test_parseIfStatement_else_statement() {
2775 IfStatement statement = ParserTestCase.parse4("parseIfStatement", "if (x) f( x); else f(y);", []);
2776 JUnitTestCase.assertNotNull(statement.ifKeyword);
2777 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2778 JUnitTestCase.assertNotNull(statement.condition);
2779 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2780 JUnitTestCase.assertNotNull(statement.thenStatement);
2781 JUnitTestCase.assertNotNull(statement.elseKeyword);
2782 JUnitTestCase.assertNotNull(statement.elseStatement);
2783 }
2784
2785 void test_parseIfStatement_noElse_block() {
2786 IfStatement statement = ParserTestCase.parse4("parseIfStatement", "if (x) {} ", []);
2787 JUnitTestCase.assertNotNull(statement.ifKeyword);
2788 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2789 JUnitTestCase.assertNotNull(statement.condition);
2790 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2791 JUnitTestCase.assertNotNull(statement.thenStatement);
2792 JUnitTestCase.assertNull(statement.elseKeyword);
2793 JUnitTestCase.assertNull(statement.elseStatement);
2794 }
2795
2796 void test_parseIfStatement_noElse_statement() {
2797 IfStatement statement = ParserTestCase.parse4("parseIfStatement", "if (x) f( x);", []);
2798 JUnitTestCase.assertNotNull(statement.ifKeyword);
2799 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2800 JUnitTestCase.assertNotNull(statement.condition);
2801 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2802 JUnitTestCase.assertNotNull(statement.thenStatement);
2803 JUnitTestCase.assertNull(statement.elseKeyword);
2804 JUnitTestCase.assertNull(statement.elseStatement);
2805 }
2806
2807 void test_parseImplementsClause_multiple() {
2808 ImplementsClause clause = ParserTestCase.parse4("parseImplementsClause", "im plements A, B, C", []);
2809 EngineTestCase.assertSizeOfList(3, clause.interfaces);
2810 JUnitTestCase.assertNotNull(clause.keyword);
2811 }
2812
2813 void test_parseImplementsClause_single() {
2814 ImplementsClause clause = ParserTestCase.parse4("parseImplementsClause", "im plements A", []);
2815 EngineTestCase.assertSizeOfList(1, clause.interfaces);
2816 JUnitTestCase.assertNotNull(clause.keyword);
2817 }
2818
2819 void test_parseImportDirective_deferred() {
2820 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' deferred as a;");
2821 JUnitTestCase.assertNotNull(directive.keyword);
2822 JUnitTestCase.assertNotNull(directive.uri);
2823 JUnitTestCase.assertNotNull(directive.deferredToken);
2824 JUnitTestCase.assertNotNull(directive.asToken);
2825 JUnitTestCase.assertNotNull(directive.prefix);
2826 EngineTestCase.assertSizeOfList(0, directive.combinators);
2827 JUnitTestCase.assertNotNull(directive.semicolon);
2828 }
2829
2830 void test_parseImportDirective_hide() {
2831 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' hide A, B;");
2832 JUnitTestCase.assertNotNull(directive.keyword);
2833 JUnitTestCase.assertNotNull(directive.uri);
2834 JUnitTestCase.assertNull(directive.deferredToken);
2835 JUnitTestCase.assertNull(directive.asToken);
2836 JUnitTestCase.assertNull(directive.prefix);
2837 EngineTestCase.assertSizeOfList(1, directive.combinators);
2838 JUnitTestCase.assertNotNull(directive.semicolon);
2839 }
2840
2841 void test_parseImportDirective_noCombinator() {
2842 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart';");
2843 JUnitTestCase.assertNotNull(directive.keyword);
2844 JUnitTestCase.assertNotNull(directive.uri);
2845 JUnitTestCase.assertNull(directive.deferredToken);
2846 JUnitTestCase.assertNull(directive.asToken);
2847 JUnitTestCase.assertNull(directive.prefix);
2848 EngineTestCase.assertSizeOfList(0, directive.combinators);
2849 JUnitTestCase.assertNotNull(directive.semicolon);
2850 }
2851
2852 void test_parseImportDirective_prefix() {
2853 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' as a;");
2854 JUnitTestCase.assertNotNull(directive.keyword);
2855 JUnitTestCase.assertNotNull(directive.uri);
2856 JUnitTestCase.assertNull(directive.deferredToken);
2857 JUnitTestCase.assertNotNull(directive.asToken);
2858 JUnitTestCase.assertNotNull(directive.prefix);
2859 EngineTestCase.assertSizeOfList(0, directive.combinators);
2860 JUnitTestCase.assertNotNull(directive.semicolon);
2861 }
2862
2863 void test_parseImportDirective_prefix_hide_show() {
2864 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' as a hide A show B;");
2865 JUnitTestCase.assertNotNull(directive.keyword);
2866 JUnitTestCase.assertNotNull(directive.uri);
2867 JUnitTestCase.assertNull(directive.deferredToken);
2868 JUnitTestCase.assertNotNull(directive.asToken);
2869 JUnitTestCase.assertNotNull(directive.prefix);
2870 EngineTestCase.assertSizeOfList(2, directive.combinators);
2871 JUnitTestCase.assertNotNull(directive.semicolon);
2872 }
2873
2874 void test_parseImportDirective_prefix_show_hide() {
2875 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' as a show B hide A;");
2876 JUnitTestCase.assertNotNull(directive.keyword);
2877 JUnitTestCase.assertNotNull(directive.uri);
2878 JUnitTestCase.assertNull(directive.deferredToken);
2879 JUnitTestCase.assertNotNull(directive.asToken);
2880 JUnitTestCase.assertNotNull(directive.prefix);
2881 EngineTestCase.assertSizeOfList(2, directive.combinators);
2882 JUnitTestCase.assertNotNull(directive.semicolon);
2883 }
2884
2885 void test_parseImportDirective_show() {
2886 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' show A, B;");
2887 JUnitTestCase.assertNotNull(directive.keyword);
2888 JUnitTestCase.assertNotNull(directive.uri);
2889 JUnitTestCase.assertNull(directive.deferredToken);
2890 JUnitTestCase.assertNull(directive.asToken);
2891 JUnitTestCase.assertNull(directive.prefix);
2892 EngineTestCase.assertSizeOfList(1, directive.combinators);
2893 JUnitTestCase.assertNotNull(directive.semicolon);
2894 }
2895
2896 void test_parseInitializedIdentifierList_type() {
2897 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
2898 Token staticKeyword = TokenFactory.tokenFromKeyword(Keyword.STATIC);
2899 TypeName type = new TypeName(new SimpleIdentifier(null), null);
2900 FieldDeclaration declaration = ParserTestCase.parse("parseInitializedIdentif ierList", <Object> [
2901 commentAndMetadata(comment, []),
2902 staticKeyword,
2903 null,
2904 type], "a = 1, b, c = 3;");
2905 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
2906 VariableDeclarationList fields = declaration.fields;
2907 JUnitTestCase.assertNotNull(fields);
2908 JUnitTestCase.assertNull(fields.keyword);
2909 JUnitTestCase.assertEquals(type, fields.type);
2910 EngineTestCase.assertSizeOfList(3, fields.variables);
2911 JUnitTestCase.assertEquals(staticKeyword, declaration.staticKeyword);
2912 JUnitTestCase.assertNotNull(declaration.semicolon);
2913 }
2914
2915 void test_parseInitializedIdentifierList_var() {
2916 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
2917 Token staticKeyword = TokenFactory.tokenFromKeyword(Keyword.STATIC);
2918 Token varKeyword = TokenFactory.tokenFromKeyword(Keyword.VAR);
2919 FieldDeclaration declaration = ParserTestCase.parse("parseInitializedIdentif ierList", <Object> [
2920 commentAndMetadata(comment, []),
2921 staticKeyword,
2922 varKeyword,
2923 null], "a = 1, b, c = 3;");
2924 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
2925 VariableDeclarationList fields = declaration.fields;
2926 JUnitTestCase.assertNotNull(fields);
2927 JUnitTestCase.assertEquals(varKeyword, fields.keyword);
2928 JUnitTestCase.assertNull(fields.type);
2929 EngineTestCase.assertSizeOfList(3, fields.variables);
2930 JUnitTestCase.assertEquals(staticKeyword, declaration.staticKeyword);
2931 JUnitTestCase.assertNotNull(declaration.semicolon);
2932 }
2933
2934 void test_parseInstanceCreationExpression_qualifiedType() {
2935 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
2936 InstanceCreationExpression expression = ParserTestCase.parse("parseInstanceC reationExpression", <Object> [token], "A.B()");
2937 JUnitTestCase.assertEquals(token, expression.keyword);
2938 ConstructorName name = expression.constructorName;
2939 JUnitTestCase.assertNotNull(name);
2940 JUnitTestCase.assertNotNull(name.type);
2941 JUnitTestCase.assertNull(name.period);
2942 JUnitTestCase.assertNull(name.name);
2943 JUnitTestCase.assertNotNull(expression.argumentList);
2944 }
2945
2946 void test_parseInstanceCreationExpression_qualifiedType_named() {
2947 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
2948 InstanceCreationExpression expression = ParserTestCase.parse("parseInstanceC reationExpression", <Object> [token], "A.B.c()");
2949 JUnitTestCase.assertEquals(token, expression.keyword);
2950 ConstructorName name = expression.constructorName;
2951 JUnitTestCase.assertNotNull(name);
2952 JUnitTestCase.assertNotNull(name.type);
2953 JUnitTestCase.assertNotNull(name.period);
2954 JUnitTestCase.assertNotNull(name.name);
2955 JUnitTestCase.assertNotNull(expression.argumentList);
2956 }
2957
2958 void test_parseInstanceCreationExpression_type() {
2959 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
2960 InstanceCreationExpression expression = ParserTestCase.parse("parseInstanceC reationExpression", <Object> [token], "A()");
2961 JUnitTestCase.assertEquals(token, expression.keyword);
2962 ConstructorName name = expression.constructorName;
2963 JUnitTestCase.assertNotNull(name);
2964 JUnitTestCase.assertNotNull(name.type);
2965 JUnitTestCase.assertNull(name.period);
2966 JUnitTestCase.assertNull(name.name);
2967 JUnitTestCase.assertNotNull(expression.argumentList);
2968 }
2969
2970 void test_parseInstanceCreationExpression_type_named() {
2971 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
2972 InstanceCreationExpression expression = ParserTestCase.parse("parseInstanceC reationExpression", <Object> [token], "A<B>.c()");
2973 JUnitTestCase.assertEquals(token, expression.keyword);
2974 ConstructorName name = expression.constructorName;
2975 JUnitTestCase.assertNotNull(name);
2976 JUnitTestCase.assertNotNull(name.type);
2977 JUnitTestCase.assertNotNull(name.period);
2978 JUnitTestCase.assertNotNull(name.name);
2979 JUnitTestCase.assertNotNull(expression.argumentList);
2980 }
2981
2982 void test_parseLibraryDirective() {
2983 LibraryDirective directive = ParserTestCase.parse("parseLibraryDirective", < Object> [emptyCommentAndMetadata()], "library l;");
2984 JUnitTestCase.assertNotNull(directive.libraryToken);
2985 JUnitTestCase.assertNotNull(directive.name);
2986 JUnitTestCase.assertNotNull(directive.semicolon);
2987 }
2988
2989 void test_parseLibraryIdentifier_multiple() {
2990 String name = "a.b.c";
2991 LibraryIdentifier identifier = ParserTestCase.parse4("parseLibraryIdentifier ", name, []);
2992 JUnitTestCase.assertEquals(name, identifier.name);
2993 }
2994
2995 void test_parseLibraryIdentifier_single() {
2996 String name = "a";
2997 LibraryIdentifier identifier = ParserTestCase.parse4("parseLibraryIdentifier ", name, []);
2998 JUnitTestCase.assertEquals(name, identifier.name);
2999 }
3000
3001 void test_parseListLiteral_empty_oneToken() {
3002 Token token = TokenFactory.tokenFromKeyword(Keyword.CONST);
3003 TypeArgumentList typeArguments = null;
3004 ListLiteral literal = ParserTestCase.parse("parseListLiteral", <Object> [tok en, typeArguments], "[]");
3005 JUnitTestCase.assertEquals(token, literal.constKeyword);
3006 JUnitTestCase.assertEquals(typeArguments, literal.typeArguments);
3007 JUnitTestCase.assertNotNull(literal.leftBracket);
3008 EngineTestCase.assertSizeOfList(0, literal.elements);
3009 JUnitTestCase.assertNotNull(literal.rightBracket);
3010 }
3011
3012 void test_parseListLiteral_empty_twoTokens() {
3013 Token token = TokenFactory.tokenFromKeyword(Keyword.CONST);
3014 TypeArgumentList typeArguments = null;
3015 ListLiteral literal = ParserTestCase.parse("parseListLiteral", <Object> [tok en, typeArguments], "[ ]");
3016 JUnitTestCase.assertEquals(token, literal.constKeyword);
3017 JUnitTestCase.assertEquals(typeArguments, literal.typeArguments);
3018 JUnitTestCase.assertNotNull(literal.leftBracket);
3019 EngineTestCase.assertSizeOfList(0, literal.elements);
3020 JUnitTestCase.assertNotNull(literal.rightBracket);
3021 }
3022
3023 void test_parseListLiteral_multiple() {
3024 ListLiteral literal = ParserTestCase.parse("parseListLiteral", <Object> [nul l, null], "[1, 2, 3]");
3025 JUnitTestCase.assertNull(literal.constKeyword);
3026 JUnitTestCase.assertNull(literal.typeArguments);
3027 JUnitTestCase.assertNotNull(literal.leftBracket);
3028 EngineTestCase.assertSizeOfList(3, literal.elements);
3029 JUnitTestCase.assertNotNull(literal.rightBracket);
3030 }
3031
3032 void test_parseListLiteral_single() {
3033 ListLiteral literal = ParserTestCase.parse("parseListLiteral", <Object> [nul l, null], "[1]");
3034 JUnitTestCase.assertNull(literal.constKeyword);
3035 JUnitTestCase.assertNull(literal.typeArguments);
3036 JUnitTestCase.assertNotNull(literal.leftBracket);
3037 EngineTestCase.assertSizeOfList(1, literal.elements);
3038 JUnitTestCase.assertNotNull(literal.rightBracket);
3039 }
3040
3041 void test_parseListOrMapLiteral_list_noType() {
3042 ListLiteral literal = ParserTestCase.parse("parseListOrMapLiteral", <Object> [null], "[1]");
3043 JUnitTestCase.assertNull(literal.constKeyword);
3044 JUnitTestCase.assertNull(literal.typeArguments);
3045 JUnitTestCase.assertNotNull(literal.leftBracket);
3046 EngineTestCase.assertSizeOfList(1, literal.elements);
3047 JUnitTestCase.assertNotNull(literal.rightBracket);
3048 }
3049
3050 void test_parseListOrMapLiteral_list_type() {
3051 ListLiteral literal = ParserTestCase.parse("parseListOrMapLiteral", <Object> [null], "<int> [1]");
3052 JUnitTestCase.assertNull(literal.constKeyword);
3053 JUnitTestCase.assertNotNull(literal.typeArguments);
3054 JUnitTestCase.assertNotNull(literal.leftBracket);
3055 EngineTestCase.assertSizeOfList(1, literal.elements);
3056 JUnitTestCase.assertNotNull(literal.rightBracket);
3057 }
3058
3059 void test_parseListOrMapLiteral_map_noType() {
3060 MapLiteral literal = ParserTestCase.parse("parseListOrMapLiteral", <Object> [null], "{'1' : 1}");
3061 JUnitTestCase.assertNull(literal.constKeyword);
3062 JUnitTestCase.assertNull(literal.typeArguments);
3063 JUnitTestCase.assertNotNull(literal.leftBracket);
3064 EngineTestCase.assertSizeOfList(1, literal.entries);
3065 JUnitTestCase.assertNotNull(literal.rightBracket);
3066 }
3067
3068 void test_parseListOrMapLiteral_map_type() {
3069 MapLiteral literal = ParserTestCase.parse("parseListOrMapLiteral", <Object> [null], "<String, int> {'1' : 1}");
3070 JUnitTestCase.assertNull(literal.constKeyword);
3071 JUnitTestCase.assertNotNull(literal.typeArguments);
3072 JUnitTestCase.assertNotNull(literal.leftBracket);
3073 EngineTestCase.assertSizeOfList(1, literal.entries);
3074 JUnitTestCase.assertNotNull(literal.rightBracket);
3075 }
3076
3077 void test_parseLogicalAndExpression() {
3078 BinaryExpression expression = ParserTestCase.parse4("parseLogicalAndExpressi on", "x && y", []);
3079 JUnitTestCase.assertNotNull(expression.leftOperand);
3080 JUnitTestCase.assertNotNull(expression.operator);
3081 JUnitTestCase.assertEquals(TokenType.AMPERSAND_AMPERSAND, expression.operato r.type);
3082 JUnitTestCase.assertNotNull(expression.rightOperand);
3083 }
3084
3085 void test_parseLogicalOrExpression() {
3086 BinaryExpression expression = ParserTestCase.parse4("parseLogicalOrExpressio n", "x || y", []);
3087 JUnitTestCase.assertNotNull(expression.leftOperand);
3088 JUnitTestCase.assertNotNull(expression.operator);
3089 JUnitTestCase.assertEquals(TokenType.BAR_BAR, expression.operator.type);
3090 JUnitTestCase.assertNotNull(expression.rightOperand);
3091 }
3092
3093 void test_parseMapLiteral_empty() {
3094 Token token = TokenFactory.tokenFromKeyword(Keyword.CONST);
3095 TypeArgumentList typeArguments = AstFactory.typeArgumentList([
3096 AstFactory.typeName4("String", []),
3097 AstFactory.typeName4("int", [])]);
3098 MapLiteral literal = ParserTestCase.parse("parseMapLiteral", <Object> [token , typeArguments], "{}");
3099 JUnitTestCase.assertEquals(token, literal.constKeyword);
3100 JUnitTestCase.assertEquals(typeArguments, literal.typeArguments);
3101 JUnitTestCase.assertNotNull(literal.leftBracket);
3102 EngineTestCase.assertSizeOfList(0, literal.entries);
3103 JUnitTestCase.assertNotNull(literal.rightBracket);
3104 }
3105
3106 void test_parseMapLiteral_multiple() {
3107 MapLiteral literal = ParserTestCase.parse("parseMapLiteral", <Object> [null, null], "{'a' : b, 'x' : y}");
3108 JUnitTestCase.assertNotNull(literal.leftBracket);
3109 EngineTestCase.assertSizeOfList(2, literal.entries);
3110 JUnitTestCase.assertNotNull(literal.rightBracket);
3111 }
3112
3113 void test_parseMapLiteral_single() {
3114 MapLiteral literal = ParserTestCase.parse("parseMapLiteral", <Object> [null, null], "{'x' : y}");
3115 JUnitTestCase.assertNotNull(literal.leftBracket);
3116 EngineTestCase.assertSizeOfList(1, literal.entries);
3117 JUnitTestCase.assertNotNull(literal.rightBracket);
3118 }
3119
3120 void test_parseMapLiteralEntry_complex() {
3121 MapLiteralEntry entry = ParserTestCase.parse4("parseMapLiteralEntry", "2 + 2 : y", []);
3122 JUnitTestCase.assertNotNull(entry.key);
3123 JUnitTestCase.assertNotNull(entry.separator);
3124 JUnitTestCase.assertNotNull(entry.value);
3125 }
3126
3127 void test_parseMapLiteralEntry_int() {
3128 MapLiteralEntry entry = ParserTestCase.parse4("parseMapLiteralEntry", "0 : y ", []);
3129 JUnitTestCase.assertNotNull(entry.key);
3130 JUnitTestCase.assertNotNull(entry.separator);
3131 JUnitTestCase.assertNotNull(entry.value);
3132 }
3133
3134 void test_parseMapLiteralEntry_string() {
3135 MapLiteralEntry entry = ParserTestCase.parse4("parseMapLiteralEntry", "'x' : y", []);
3136 JUnitTestCase.assertNotNull(entry.key);
3137 JUnitTestCase.assertNotNull(entry.separator);
3138 JUnitTestCase.assertNotNull(entry.value);
3139 }
3140
3141 void test_parseModifiers_abstract() {
3142 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "abstract A", []);
3143 JUnitTestCase.assertNotNull(modifiers.abstractKeyword);
3144 }
3145
3146 void test_parseModifiers_const() {
3147 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "const A", []) ;
3148 JUnitTestCase.assertNotNull(modifiers.constKeyword);
3149 }
3150
3151 void test_parseModifiers_external() {
3152 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "external A", []);
3153 JUnitTestCase.assertNotNull(modifiers.externalKeyword);
3154 }
3155
3156 void test_parseModifiers_factory() {
3157 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "factory A", [ ]);
3158 JUnitTestCase.assertNotNull(modifiers.factoryKeyword);
3159 }
3160
3161 void test_parseModifiers_final() {
3162 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "final A", []) ;
3163 JUnitTestCase.assertNotNull(modifiers.finalKeyword);
3164 }
3165
3166 void test_parseModifiers_static() {
3167 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "static A", [] );
3168 JUnitTestCase.assertNotNull(modifiers.staticKeyword);
3169 }
3170
3171 void test_parseModifiers_var() {
3172 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "var A", []);
3173 JUnitTestCase.assertNotNull(modifiers.varKeyword);
3174 }
3175
3176 void test_parseMultiplicativeExpression_normal() {
3177 BinaryExpression expression = ParserTestCase.parse4("parseMultiplicativeExpr ession", "x * y", []);
3178 JUnitTestCase.assertNotNull(expression.leftOperand);
3179 JUnitTestCase.assertNotNull(expression.operator);
3180 JUnitTestCase.assertEquals(TokenType.STAR, expression.operator.type);
3181 JUnitTestCase.assertNotNull(expression.rightOperand);
3182 }
3183
3184 void test_parseMultiplicativeExpression_super() {
3185 BinaryExpression expression = ParserTestCase.parse4("parseMultiplicativeExpr ession", "super * y", []);
3186 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, expression.leftOperand);
3187 JUnitTestCase.assertNotNull(expression.operator);
3188 JUnitTestCase.assertEquals(TokenType.STAR, expression.operator.type);
3189 JUnitTestCase.assertNotNull(expression.rightOperand);
3190 }
3191
3192 void test_parseNewExpression() {
3193 InstanceCreationExpression expression = ParserTestCase.parse4("parseNewExpre ssion", "new A()", []);
3194 JUnitTestCase.assertNotNull(expression.keyword);
3195 ConstructorName name = expression.constructorName;
3196 JUnitTestCase.assertNotNull(name);
3197 JUnitTestCase.assertNotNull(name.type);
3198 JUnitTestCase.assertNull(name.period);
3199 JUnitTestCase.assertNull(name.name);
3200 JUnitTestCase.assertNotNull(expression.argumentList);
3201 }
3202
3203 void test_parseNonLabeledStatement_const_list_empty() {
3204 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const [];", []);
3205 JUnitTestCase.assertNotNull(statement.expression);
3206 }
3207
3208 void test_parseNonLabeledStatement_const_list_nonEmpty() {
3209 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const [1, 2];", []);
3210 JUnitTestCase.assertNotNull(statement.expression);
3211 }
3212
3213 void test_parseNonLabeledStatement_const_map_empty() {
3214 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const {};", []);
3215 JUnitTestCase.assertNotNull(statement.expression);
3216 }
3217
3218 void test_parseNonLabeledStatement_const_map_nonEmpty() {
3219 // TODO(brianwilkerson) Implement more tests for this method.
3220 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const {'a' : 1};", []);
3221 JUnitTestCase.assertNotNull(statement.expression);
3222 }
3223
3224 void test_parseNonLabeledStatement_const_object() {
3225 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const A();", []);
3226 JUnitTestCase.assertNotNull(statement.expression);
3227 }
3228
3229 void test_parseNonLabeledStatement_const_object_named_typeParameters() {
3230 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const A<B>.c();", []);
3231 JUnitTestCase.assertNotNull(statement.expression);
3232 }
3233
3234 void test_parseNonLabeledStatement_constructorInvocation() {
3235 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "new C().m();", []);
3236 JUnitTestCase.assertNotNull(statement.expression);
3237 }
3238
3239 void test_parseNonLabeledStatement_false() {
3240 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "false;", []);
3241 JUnitTestCase.assertNotNull(statement.expression);
3242 }
3243
3244 void test_parseNonLabeledStatement_functionDeclaration() {
3245 ParserTestCase.parse4("parseNonLabeledStatement", "f() {};", []);
3246 }
3247
3248 void test_parseNonLabeledStatement_functionDeclaration_arguments() {
3249 ParserTestCase.parse4("parseNonLabeledStatement", "f(void g()) {};", []);
3250 }
3251
3252 void test_parseNonLabeledStatement_functionExpressionIndex() {
3253 ParserTestCase.parse4("parseNonLabeledStatement", "() {}[0] = null;", []);
3254 }
3255
3256 void test_parseNonLabeledStatement_functionInvocation() {
3257 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "f();", []);
3258 JUnitTestCase.assertNotNull(statement.expression);
3259 }
3260
3261 void test_parseNonLabeledStatement_invokeFunctionExpression() {
3262 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "(a) {return a + a;} (3);", []);
3263 EngineTestCase.assertInstanceOf((obj) => obj is FunctionExpressionInvocation , FunctionExpressionInvocation, statement.expression);
3264 FunctionExpressionInvocation invocation = statement.expression as FunctionEx pressionInvocation;
3265 EngineTestCase.assertInstanceOf((obj) => obj is FunctionExpression, Function Expression, invocation.function);
3266 FunctionExpression expression = invocation.function as FunctionExpression;
3267 JUnitTestCase.assertNotNull(expression.parameters);
3268 JUnitTestCase.assertNotNull(expression.body);
3269 ArgumentList list = invocation.argumentList;
3270 JUnitTestCase.assertNotNull(list);
3271 EngineTestCase.assertSizeOfList(1, list.arguments);
3272 }
3273
3274 void test_parseNonLabeledStatement_null() {
3275 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "null;", []);
3276 JUnitTestCase.assertNotNull(statement.expression);
3277 }
3278
3279 void test_parseNonLabeledStatement_startingWithBuiltInIdentifier() {
3280 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "library.getName();", []);
3281 JUnitTestCase.assertNotNull(statement.expression);
3282 }
3283
3284 void test_parseNonLabeledStatement_true() {
3285 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "true;", []);
3286 JUnitTestCase.assertNotNull(statement.expression);
3287 }
3288
3289 void test_parseNonLabeledStatement_typeCast() {
3290 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "double.NAN as num;", []);
3291 JUnitTestCase.assertNotNull(statement.expression);
3292 }
3293
3294 void test_parseNormalFormalParameter_field_const_noType() {
3295 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "const this.a)", []);
3296 JUnitTestCase.assertNotNull(parameter.keyword);
3297 JUnitTestCase.assertNull(parameter.type);
3298 JUnitTestCase.assertNotNull(parameter.identifier);
3299 JUnitTestCase.assertNull(parameter.parameters);
3300 }
3301
3302 void test_parseNormalFormalParameter_field_const_type() {
3303 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "const A this.a)", []);
3304 JUnitTestCase.assertNotNull(parameter.keyword);
3305 JUnitTestCase.assertNotNull(parameter.type);
3306 JUnitTestCase.assertNotNull(parameter.identifier);
3307 JUnitTestCase.assertNull(parameter.parameters);
3308 }
3309
3310 void test_parseNormalFormalParameter_field_final_noType() {
3311 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "final this.a)", []);
3312 JUnitTestCase.assertNotNull(parameter.keyword);
3313 JUnitTestCase.assertNull(parameter.type);
3314 JUnitTestCase.assertNotNull(parameter.identifier);
3315 JUnitTestCase.assertNull(parameter.parameters);
3316 }
3317
3318 void test_parseNormalFormalParameter_field_final_type() {
3319 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "final A this.a)", []);
3320 JUnitTestCase.assertNotNull(parameter.keyword);
3321 JUnitTestCase.assertNotNull(parameter.type);
3322 JUnitTestCase.assertNotNull(parameter.identifier);
3323 JUnitTestCase.assertNull(parameter.parameters);
3324 }
3325
3326 void test_parseNormalFormalParameter_field_function_nested() {
3327 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "this.a(B b))", []);
3328 JUnitTestCase.assertNull(parameter.keyword);
3329 JUnitTestCase.assertNull(parameter.type);
3330 JUnitTestCase.assertNotNull(parameter.identifier);
3331 FormalParameterList parameterList = parameter.parameters;
3332 JUnitTestCase.assertNotNull(parameterList);
3333 EngineTestCase.assertSizeOfList(1, parameterList.parameters);
3334 }
3335
3336 void test_parseNormalFormalParameter_field_function_noNested() {
3337 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "this.a())", []);
3338 JUnitTestCase.assertNull(parameter.keyword);
3339 JUnitTestCase.assertNull(parameter.type);
3340 JUnitTestCase.assertNotNull(parameter.identifier);
3341 FormalParameterList parameterList = parameter.parameters;
3342 JUnitTestCase.assertNotNull(parameterList);
3343 EngineTestCase.assertSizeOfList(0, parameterList.parameters);
3344 }
3345
3346 void test_parseNormalFormalParameter_field_noType() {
3347 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "this.a)", []);
3348 JUnitTestCase.assertNull(parameter.keyword);
3349 JUnitTestCase.assertNull(parameter.type);
3350 JUnitTestCase.assertNotNull(parameter.identifier);
3351 JUnitTestCase.assertNull(parameter.parameters);
3352 }
3353
3354 void test_parseNormalFormalParameter_field_type() {
3355 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "A this.a)", []);
3356 JUnitTestCase.assertNull(parameter.keyword);
3357 JUnitTestCase.assertNotNull(parameter.type);
3358 JUnitTestCase.assertNotNull(parameter.identifier);
3359 JUnitTestCase.assertNull(parameter.parameters);
3360 }
3361
3362 void test_parseNormalFormalParameter_field_var() {
3363 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "var this.a)", []);
3364 JUnitTestCase.assertNotNull(parameter.keyword);
3365 JUnitTestCase.assertNull(parameter.type);
3366 JUnitTestCase.assertNotNull(parameter.identifier);
3367 JUnitTestCase.assertNull(parameter.parameters);
3368 }
3369
3370 void test_parseNormalFormalParameter_function_noType() {
3371 FunctionTypedFormalParameter parameter = ParserTestCase.parse4("parseNormalF ormalParameter", "a())", []);
3372 JUnitTestCase.assertNull(parameter.returnType);
3373 JUnitTestCase.assertNotNull(parameter.identifier);
3374 JUnitTestCase.assertNotNull(parameter.parameters);
3375 }
3376
3377 void test_parseNormalFormalParameter_function_type() {
3378 FunctionTypedFormalParameter parameter = ParserTestCase.parse4("parseNormalF ormalParameter", "A a())", []);
3379 JUnitTestCase.assertNotNull(parameter.returnType);
3380 JUnitTestCase.assertNotNull(parameter.identifier);
3381 JUnitTestCase.assertNotNull(parameter.parameters);
3382 }
3383
3384 void test_parseNormalFormalParameter_function_void() {
3385 FunctionTypedFormalParameter parameter = ParserTestCase.parse4("parseNormalF ormalParameter", "void a())", []);
3386 JUnitTestCase.assertNotNull(parameter.returnType);
3387 JUnitTestCase.assertNotNull(parameter.identifier);
3388 JUnitTestCase.assertNotNull(parameter.parameters);
3389 }
3390
3391 void test_parseNormalFormalParameter_simple_const_noType() {
3392 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "const a)", []);
3393 JUnitTestCase.assertNotNull(parameter.keyword);
3394 JUnitTestCase.assertNull(parameter.type);
3395 JUnitTestCase.assertNotNull(parameter.identifier);
3396 }
3397
3398 void test_parseNormalFormalParameter_simple_const_type() {
3399 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "const A a)", []);
3400 JUnitTestCase.assertNotNull(parameter.keyword);
3401 JUnitTestCase.assertNotNull(parameter.type);
3402 JUnitTestCase.assertNotNull(parameter.identifier);
3403 }
3404
3405 void test_parseNormalFormalParameter_simple_final_noType() {
3406 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "final a)", []);
3407 JUnitTestCase.assertNotNull(parameter.keyword);
3408 JUnitTestCase.assertNull(parameter.type);
3409 JUnitTestCase.assertNotNull(parameter.identifier);
3410 }
3411
3412 void test_parseNormalFormalParameter_simple_final_type() {
3413 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "final A a)", []);
3414 JUnitTestCase.assertNotNull(parameter.keyword);
3415 JUnitTestCase.assertNotNull(parameter.type);
3416 JUnitTestCase.assertNotNull(parameter.identifier);
3417 }
3418
3419 void test_parseNormalFormalParameter_simple_noType() {
3420 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "a)", []);
3421 JUnitTestCase.assertNull(parameter.keyword);
3422 JUnitTestCase.assertNull(parameter.type);
3423 JUnitTestCase.assertNotNull(parameter.identifier);
3424 }
3425
3426 void test_parseNormalFormalParameter_simple_type() {
3427 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "A a)", []);
3428 JUnitTestCase.assertNull(parameter.keyword);
3429 JUnitTestCase.assertNotNull(parameter.type);
3430 JUnitTestCase.assertNotNull(parameter.identifier);
3431 }
3432
3433 void test_parseOperator() {
3434 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
3435 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
3436 MethodDeclaration method = ParserTestCase.parse("parseOperator", <Object> [c ommentAndMetadata(comment, []), null, returnType], "operator +(A a);");
3437 JUnitTestCase.assertNotNull(method.body);
3438 JUnitTestCase.assertEquals(comment, method.documentationComment);
3439 JUnitTestCase.assertNull(method.externalKeyword);
3440 JUnitTestCase.assertNull(method.modifierKeyword);
3441 JUnitTestCase.assertNotNull(method.name);
3442 JUnitTestCase.assertNotNull(method.operatorKeyword);
3443 JUnitTestCase.assertNotNull(method.parameters);
3444 JUnitTestCase.assertNull(method.propertyKeyword);
3445 JUnitTestCase.assertEquals(returnType, method.returnType);
3446 }
3447
3448 void test_parseOptionalReturnType() {
3449 }
3450
3451 void test_parsePartDirective_part() {
3452 PartDirective directive = ParserTestCase.parse("parsePartDirective", <Object > [emptyCommentAndMetadata()], "part 'lib/lib.dart';");
3453 JUnitTestCase.assertNotNull(directive.partToken);
3454 JUnitTestCase.assertNotNull(directive.uri);
3455 JUnitTestCase.assertNotNull(directive.semicolon);
3456 }
3457
3458 void test_parsePartDirective_partOf() {
3459 PartOfDirective directive = ParserTestCase.parse("parsePartDirective", <Obje ct> [emptyCommentAndMetadata()], "part of l;");
3460 JUnitTestCase.assertNotNull(directive.partToken);
3461 JUnitTestCase.assertNotNull(directive.ofToken);
3462 JUnitTestCase.assertNotNull(directive.libraryName);
3463 JUnitTestCase.assertNotNull(directive.semicolon);
3464 }
3465
3466 void test_parsePostfixExpression_decrement() {
3467 PostfixExpression expression = ParserTestCase.parse4("parsePostfixExpression ", "i--", []);
3468 JUnitTestCase.assertNotNull(expression.operand);
3469 JUnitTestCase.assertNotNull(expression.operator);
3470 JUnitTestCase.assertEquals(TokenType.MINUS_MINUS, expression.operator.type);
3471 }
3472
3473 void test_parsePostfixExpression_increment() {
3474 PostfixExpression expression = ParserTestCase.parse4("parsePostfixExpression ", "i++", []);
3475 JUnitTestCase.assertNotNull(expression.operand);
3476 JUnitTestCase.assertNotNull(expression.operator);
3477 JUnitTestCase.assertEquals(TokenType.PLUS_PLUS, expression.operator.type);
3478 }
3479
3480 void test_parsePostfixExpression_none_indexExpression() {
3481 IndexExpression expression = ParserTestCase.parse4("parsePostfixExpression", "a[0]", []);
3482 JUnitTestCase.assertNotNull(expression.target);
3483 JUnitTestCase.assertNotNull(expression.index);
3484 }
3485
3486 void test_parsePostfixExpression_none_methodInvocation() {
3487 MethodInvocation expression = ParserTestCase.parse4("parsePostfixExpression" , "a.m()", []);
3488 JUnitTestCase.assertNotNull(expression.target);
3489 JUnitTestCase.assertNotNull(expression.methodName);
3490 JUnitTestCase.assertNotNull(expression.argumentList);
3491 }
3492
3493 void test_parsePostfixExpression_none_propertyAccess() {
3494 PrefixedIdentifier expression = ParserTestCase.parse4("parsePostfixExpressio n", "a.b", []);
3495 JUnitTestCase.assertNotNull(expression.prefix);
3496 JUnitTestCase.assertNotNull(expression.identifier);
3497 }
3498
3499 void test_parsePrefixedIdentifier_noPrefix() {
3500 String lexeme = "bar";
3501 SimpleIdentifier identifier = ParserTestCase.parse4("parsePrefixedIdentifier ", lexeme, []);
3502 JUnitTestCase.assertNotNull(identifier.token);
3503 JUnitTestCase.assertEquals(lexeme, identifier.name);
3504 }
3505
3506 void test_parsePrefixedIdentifier_prefix() {
3507 String lexeme = "foo.bar";
3508 PrefixedIdentifier identifier = ParserTestCase.parse4("parsePrefixedIdentifi er", lexeme, []);
3509 JUnitTestCase.assertEquals("foo", identifier.prefix.name);
3510 JUnitTestCase.assertNotNull(identifier.period);
3511 JUnitTestCase.assertEquals("bar", identifier.identifier.name);
3512 }
3513
3514 void test_parsePrimaryExpression_const() {
3515 InstanceCreationExpression expression = ParserTestCase.parse4("parsePrimaryE xpression", "const A()", []);
3516 JUnitTestCase.assertNotNull(expression);
3517 }
3518
3519 void test_parsePrimaryExpression_double() {
3520 String doubleLiteral = "3.2e4";
3521 DoubleLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", doub leLiteral, []);
3522 JUnitTestCase.assertNotNull(literal.literal);
3523 JUnitTestCase.assertEquals(double.parse(doubleLiteral), literal.value);
3524 }
3525
3526 void test_parsePrimaryExpression_false() {
3527 BooleanLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "fa lse", []);
3528 JUnitTestCase.assertNotNull(literal.literal);
3529 JUnitTestCase.assertFalse(literal.value);
3530 }
3531
3532 void test_parsePrimaryExpression_function_arguments() {
3533 FunctionExpression expression = ParserTestCase.parse4("parsePrimaryExpressio n", "(int i) => i + 1", []);
3534 JUnitTestCase.assertNotNull(expression.parameters);
3535 JUnitTestCase.assertNotNull(expression.body);
3536 }
3537
3538 void test_parsePrimaryExpression_function_noArguments() {
3539 FunctionExpression expression = ParserTestCase.parse4("parsePrimaryExpressio n", "() => 42", []);
3540 JUnitTestCase.assertNotNull(expression.parameters);
3541 JUnitTestCase.assertNotNull(expression.body);
3542 }
3543
3544 void test_parsePrimaryExpression_hex() {
3545 String hexLiteral = "3F";
3546 IntegerLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "0x ${hexLiteral}", []);
3547 JUnitTestCase.assertNotNull(literal.literal);
3548 JUnitTestCase.assertEquals(int.parse(hexLiteral, radix: 16), literal.value);
3549 }
3550
3551 void test_parsePrimaryExpression_identifier() {
3552 SimpleIdentifier identifier = ParserTestCase.parse4("parsePrimaryExpression" , "a", []);
3553 JUnitTestCase.assertNotNull(identifier);
3554 }
3555
3556 void test_parsePrimaryExpression_int() {
3557 String intLiteral = "472";
3558 IntegerLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", int Literal, []);
3559 JUnitTestCase.assertNotNull(literal.literal);
3560 JUnitTestCase.assertEquals(int.parse(intLiteral), literal.value);
3561 }
3562
3563 void test_parsePrimaryExpression_listLiteral() {
3564 ListLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "[ ]", []);
3565 JUnitTestCase.assertNotNull(literal);
3566 }
3567
3568 void test_parsePrimaryExpression_listLiteral_index() {
3569 ListLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "[]", []);
3570 JUnitTestCase.assertNotNull(literal);
3571 }
3572
3573 void test_parsePrimaryExpression_listLiteral_typed() {
3574 ListLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "<A>[ ]", []);
3575 JUnitTestCase.assertNotNull(literal.typeArguments);
3576 EngineTestCase.assertSizeOfList(1, literal.typeArguments.arguments);
3577 }
3578
3579 void test_parsePrimaryExpression_mapLiteral() {
3580 MapLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "{}", [ ]);
3581 JUnitTestCase.assertNotNull(literal);
3582 }
3583
3584 void test_parsePrimaryExpression_mapLiteral_typed() {
3585 MapLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "<A, B> {}", []);
3586 JUnitTestCase.assertNotNull(literal.typeArguments);
3587 EngineTestCase.assertSizeOfList(2, literal.typeArguments.arguments);
3588 }
3589
3590 void test_parsePrimaryExpression_new() {
3591 InstanceCreationExpression expression = ParserTestCase.parse4("parsePrimaryE xpression", "new A()", []);
3592 JUnitTestCase.assertNotNull(expression);
3593 }
3594
3595 void test_parsePrimaryExpression_null() {
3596 NullLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "null" , []);
3597 JUnitTestCase.assertNotNull(literal.literal);
3598 }
3599
3600 void test_parsePrimaryExpression_parenthesized() {
3601 ParenthesizedExpression expression = ParserTestCase.parse4("parsePrimaryExpr ession", "(x)", []);
3602 JUnitTestCase.assertNotNull(expression);
3603 }
3604
3605 void test_parsePrimaryExpression_string() {
3606 SimpleStringLiteral literal = ParserTestCase.parse4("parsePrimaryExpression" , "\"string\"", []);
3607 JUnitTestCase.assertFalse(literal.isMultiline);
3608 JUnitTestCase.assertFalse(literal.isRaw);
3609 JUnitTestCase.assertEquals("string", literal.value);
3610 }
3611
3612 void test_parsePrimaryExpression_string_multiline() {
3613 SimpleStringLiteral literal = ParserTestCase.parse4("parsePrimaryExpression" , "'''string'''", []);
3614 JUnitTestCase.assertTrue(literal.isMultiline);
3615 JUnitTestCase.assertFalse(literal.isRaw);
3616 JUnitTestCase.assertEquals("string", literal.value);
3617 }
3618
3619 void test_parsePrimaryExpression_string_raw() {
3620 SimpleStringLiteral literal = ParserTestCase.parse4("parsePrimaryExpression" , "r'string'", []);
3621 JUnitTestCase.assertFalse(literal.isMultiline);
3622 JUnitTestCase.assertTrue(literal.isRaw);
3623 JUnitTestCase.assertEquals("string", literal.value);
3624 }
3625
3626 void test_parsePrimaryExpression_super() {
3627 PropertyAccess propertyAccess = ParserTestCase.parse4("parsePrimaryExpressio n", "super.x", []);
3628 JUnitTestCase.assertTrue(propertyAccess.target is SuperExpression);
3629 JUnitTestCase.assertNotNull(propertyAccess.operator);
3630 JUnitTestCase.assertEquals(TokenType.PERIOD, propertyAccess.operator.type);
3631 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
3632 }
3633
3634 void test_parsePrimaryExpression_this() {
3635 ThisExpression expression = ParserTestCase.parse4("parsePrimaryExpression", "this", []);
3636 JUnitTestCase.assertNotNull(expression.keyword);
3637 }
3638
3639 void test_parsePrimaryExpression_true() {
3640 BooleanLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "tr ue", []);
3641 JUnitTestCase.assertNotNull(literal.literal);
3642 JUnitTestCase.assertTrue(literal.value);
3643 }
3644
3645 void test_Parser() {
3646 JUnitTestCase.assertNotNull(new Parser(null, null));
3647 }
3648
3649 void test_parseRedirectingConstructorInvocation_named() {
3650 RedirectingConstructorInvocation invocation = ParserTestCase.parse4("parseRe directingConstructorInvocation", "this.a()", []);
3651 JUnitTestCase.assertNotNull(invocation.argumentList);
3652 JUnitTestCase.assertNotNull(invocation.constructorName);
3653 JUnitTestCase.assertNotNull(invocation.keyword);
3654 JUnitTestCase.assertNotNull(invocation.period);
3655 }
3656
3657 void test_parseRedirectingConstructorInvocation_unnamed() {
3658 RedirectingConstructorInvocation invocation = ParserTestCase.parse4("parseRe directingConstructorInvocation", "this()", []);
3659 JUnitTestCase.assertNotNull(invocation.argumentList);
3660 JUnitTestCase.assertNull(invocation.constructorName);
3661 JUnitTestCase.assertNotNull(invocation.keyword);
3662 JUnitTestCase.assertNull(invocation.period);
3663 }
3664
3665 void test_parseRelationalExpression_as() {
3666 AsExpression expression = ParserTestCase.parse4("parseRelationalExpression", "x as Y", []);
3667 JUnitTestCase.assertNotNull(expression.expression);
3668 JUnitTestCase.assertNotNull(expression.asOperator);
3669 JUnitTestCase.assertNotNull(expression.type);
3670 }
3671
3672 void test_parseRelationalExpression_is() {
3673 IsExpression expression = ParserTestCase.parse4("parseRelationalExpression", "x is y", []);
3674 JUnitTestCase.assertNotNull(expression.expression);
3675 JUnitTestCase.assertNotNull(expression.isOperator);
3676 JUnitTestCase.assertNull(expression.notOperator);
3677 JUnitTestCase.assertNotNull(expression.type);
3678 }
3679
3680 void test_parseRelationalExpression_isNot() {
3681 IsExpression expression = ParserTestCase.parse4("parseRelationalExpression", "x is! y", []);
3682 JUnitTestCase.assertNotNull(expression.expression);
3683 JUnitTestCase.assertNotNull(expression.isOperator);
3684 JUnitTestCase.assertNotNull(expression.notOperator);
3685 JUnitTestCase.assertNotNull(expression.type);
3686 }
3687
3688 void test_parseRelationalExpression_normal() {
3689 BinaryExpression expression = ParserTestCase.parse4("parseRelationalExpressi on", "x < y", []);
3690 JUnitTestCase.assertNotNull(expression.leftOperand);
3691 JUnitTestCase.assertNotNull(expression.operator);
3692 JUnitTestCase.assertEquals(TokenType.LT, expression.operator.type);
3693 JUnitTestCase.assertNotNull(expression.rightOperand);
3694 }
3695
3696 void test_parseRelationalExpression_super() {
3697 BinaryExpression expression = ParserTestCase.parse4("parseRelationalExpressi on", "super < y", []);
3698 JUnitTestCase.assertNotNull(expression.leftOperand);
3699 JUnitTestCase.assertNotNull(expression.operator);
3700 JUnitTestCase.assertEquals(TokenType.LT, expression.operator.type);
3701 JUnitTestCase.assertNotNull(expression.rightOperand);
3702 }
3703
3704 void test_parseRethrowExpression() {
3705 RethrowExpression expression = ParserTestCase.parse4("parseRethrowExpression ", "rethrow;", []);
3706 JUnitTestCase.assertNotNull(expression.keyword);
3707 }
3708
3709 void test_parseReturnStatement_noValue() {
3710 ReturnStatement statement = ParserTestCase.parse4("parseReturnStatement", "r eturn;", []);
3711 JUnitTestCase.assertNotNull(statement.keyword);
3712 JUnitTestCase.assertNull(statement.expression);
3713 JUnitTestCase.assertNotNull(statement.semicolon);
3714 }
3715
3716 void test_parseReturnStatement_value() {
3717 ReturnStatement statement = ParserTestCase.parse4("parseReturnStatement", "r eturn x;", []);
3718 JUnitTestCase.assertNotNull(statement.keyword);
3719 JUnitTestCase.assertNotNull(statement.expression);
3720 JUnitTestCase.assertNotNull(statement.semicolon);
3721 }
3722
3723 void test_parseReturnType_nonVoid() {
3724 TypeName typeName = ParserTestCase.parse4("parseReturnType", "A<B>", []);
3725 JUnitTestCase.assertNotNull(typeName.name);
3726 JUnitTestCase.assertNotNull(typeName.typeArguments);
3727 }
3728
3729 void test_parseReturnType_void() {
3730 TypeName typeName = ParserTestCase.parse4("parseReturnType", "void", []);
3731 JUnitTestCase.assertNotNull(typeName.name);
3732 JUnitTestCase.assertNull(typeName.typeArguments);
3733 }
3734
3735 void test_parseSetter_nonStatic() {
3736 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
3737 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
3738 MethodDeclaration method = ParserTestCase.parse("parseSetter", <Object> [com mentAndMetadata(comment, []), null, null, returnType], "set a(var x);");
3739 JUnitTestCase.assertNotNull(method.body);
3740 JUnitTestCase.assertEquals(comment, method.documentationComment);
3741 JUnitTestCase.assertNull(method.externalKeyword);
3742 JUnitTestCase.assertNull(method.modifierKeyword);
3743 JUnitTestCase.assertNotNull(method.name);
3744 JUnitTestCase.assertNull(method.operatorKeyword);
3745 JUnitTestCase.assertNotNull(method.parameters);
3746 JUnitTestCase.assertNotNull(method.propertyKeyword);
3747 JUnitTestCase.assertEquals(returnType, method.returnType);
3748 }
3749
3750 void test_parseSetter_static() {
3751 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
3752 Token staticKeyword = TokenFactory.tokenFromKeyword(Keyword.STATIC);
3753 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
3754 MethodDeclaration method = ParserTestCase.parse("parseSetter", <Object> [
3755 commentAndMetadata(comment, []),
3756 null,
3757 staticKeyword,
3758 returnType], "set a(var x) {}");
3759 JUnitTestCase.assertNotNull(method.body);
3760 JUnitTestCase.assertEquals(comment, method.documentationComment);
3761 JUnitTestCase.assertNull(method.externalKeyword);
3762 JUnitTestCase.assertEquals(staticKeyword, method.modifierKeyword);
3763 JUnitTestCase.assertNotNull(method.name);
3764 JUnitTestCase.assertNull(method.operatorKeyword);
3765 JUnitTestCase.assertNotNull(method.parameters);
3766 JUnitTestCase.assertNotNull(method.propertyKeyword);
3767 JUnitTestCase.assertEquals(returnType, method.returnType);
3768 }
3769
3770 void test_parseShiftExpression_normal() {
3771 BinaryExpression expression = ParserTestCase.parse4("parseShiftExpression", "x << y", []);
3772 JUnitTestCase.assertNotNull(expression.leftOperand);
3773 JUnitTestCase.assertNotNull(expression.operator);
3774 JUnitTestCase.assertEquals(TokenType.LT_LT, expression.operator.type);
3775 JUnitTestCase.assertNotNull(expression.rightOperand);
3776 }
3777
3778 void test_parseShiftExpression_super() {
3779 BinaryExpression expression = ParserTestCase.parse4("parseShiftExpression", "super << y", []);
3780 JUnitTestCase.assertNotNull(expression.leftOperand);
3781 JUnitTestCase.assertNotNull(expression.operator);
3782 JUnitTestCase.assertEquals(TokenType.LT_LT, expression.operator.type);
3783 JUnitTestCase.assertNotNull(expression.rightOperand);
3784 }
3785
3786 void test_parseSimpleIdentifier_builtInIdentifier() {
3787 String lexeme = "as";
3788 SimpleIdentifier identifier = ParserTestCase.parse4("parseSimpleIdentifier", lexeme, []);
3789 JUnitTestCase.assertNotNull(identifier.token);
3790 JUnitTestCase.assertEquals(lexeme, identifier.name);
3791 }
3792
3793 void test_parseSimpleIdentifier_normalIdentifier() {
3794 String lexeme = "foo";
3795 SimpleIdentifier identifier = ParserTestCase.parse4("parseSimpleIdentifier", lexeme, []);
3796 JUnitTestCase.assertNotNull(identifier.token);
3797 JUnitTestCase.assertEquals(lexeme, identifier.name);
3798 }
3799
3800 void test_parseSimpleIdentifier1_normalIdentifier() {
3801 }
3802
3803 void test_parseStatement_functionDeclaration() {
3804 // TODO(brianwilkerson) Implement more tests for this method.
3805 FunctionDeclarationStatement statement = ParserTestCase.parse4("parseStateme nt", "int f(a, b) {};", []);
3806 JUnitTestCase.assertNotNull(statement.functionDeclaration);
3807 }
3808
3809 void test_parseStatement_mulipleLabels() {
3810 LabeledStatement statement = ParserTestCase.parse4("parseStatement", "l: m: return x;", []);
3811 EngineTestCase.assertSizeOfList(2, statement.labels);
3812 JUnitTestCase.assertNotNull(statement.statement);
3813 }
3814
3815 void test_parseStatement_noLabels() {
3816 ParserTestCase.parse4("parseStatement", "return x;", []);
3817 }
3818
3819 void test_parseStatement_singleLabel() {
3820 LabeledStatement statement = ParserTestCase.parse4("parseStatement", "l: ret urn x;", []);
3821 EngineTestCase.assertSizeOfList(1, statement.labels);
3822 JUnitTestCase.assertNotNull(statement.statement);
3823 }
3824
3825 void test_parseStatements_multiple() {
3826 List<Statement> statements = ParserTestCase.parseStatements("return; return; ", 2, []);
3827 EngineTestCase.assertSizeOfList(2, statements);
3828 }
3829
3830 void test_parseStatements_single() {
3831 List<Statement> statements = ParserTestCase.parseStatements("return;", 1, [] );
3832 EngineTestCase.assertSizeOfList(1, statements);
3833 }
3834
3835 void test_parseStringLiteral_adjacent() {
3836 AdjacentStrings literal = ParserTestCase.parse4("parseStringLiteral", "'a' ' b'", []);
3837 NodeList<StringLiteral> strings = literal.strings;
3838 EngineTestCase.assertSizeOfList(2, strings);
3839 StringLiteral firstString = strings[0];
3840 StringLiteral secondString = strings[1];
3841 JUnitTestCase.assertEquals("a", (firstString as SimpleStringLiteral).value);
3842 JUnitTestCase.assertEquals("b", (secondString as SimpleStringLiteral).value) ;
3843 }
3844
3845 void test_parseStringLiteral_interpolated() {
3846 StringInterpolation literal = ParserTestCase.parse4("parseStringLiteral", "' a \${b} c \$this d'", []);
3847 NodeList<InterpolationElement> elements = literal.elements;
3848 EngineTestCase.assertSizeOfList(5, elements);
3849 JUnitTestCase.assertTrue(elements[0] is InterpolationString);
3850 JUnitTestCase.assertTrue(elements[1] is InterpolationExpression);
3851 JUnitTestCase.assertTrue(elements[2] is InterpolationString);
3852 JUnitTestCase.assertTrue(elements[3] is InterpolationExpression);
3853 JUnitTestCase.assertTrue(elements[4] is InterpolationString);
3854 }
3855
3856 void test_parseStringLiteral_single() {
3857 SimpleStringLiteral literal = ParserTestCase.parse4("parseStringLiteral", "' a'", []);
3858 JUnitTestCase.assertNotNull(literal.literal);
3859 JUnitTestCase.assertEquals("a", literal.value);
3860 }
3861
3862 void test_parseSuperConstructorInvocation_named() {
3863 SuperConstructorInvocation invocation = ParserTestCase.parse4("parseSuperCon structorInvocation", "super.a()", []);
3864 JUnitTestCase.assertNotNull(invocation.argumentList);
3865 JUnitTestCase.assertNotNull(invocation.constructorName);
3866 JUnitTestCase.assertNotNull(invocation.keyword);
3867 JUnitTestCase.assertNotNull(invocation.period);
3868 }
3869
3870 void test_parseSuperConstructorInvocation_unnamed() {
3871 SuperConstructorInvocation invocation = ParserTestCase.parse4("parseSuperCon structorInvocation", "super()", []);
3872 JUnitTestCase.assertNotNull(invocation.argumentList);
3873 JUnitTestCase.assertNull(invocation.constructorName);
3874 JUnitTestCase.assertNotNull(invocation.keyword);
3875 JUnitTestCase.assertNull(invocation.period);
3876 }
3877
3878 void test_parseSwitchStatement_case() {
3879 SwitchStatement statement = ParserTestCase.parse4("parseSwitchStatement", "s witch (a) {case 1: return 'I';}", []);
3880 JUnitTestCase.assertNotNull(statement.keyword);
3881 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3882 JUnitTestCase.assertNotNull(statement.expression);
3883 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3884 JUnitTestCase.assertNotNull(statement.leftBracket);
3885 EngineTestCase.assertSizeOfList(1, statement.members);
3886 JUnitTestCase.assertNotNull(statement.rightBracket);
3887 }
3888
3889 void test_parseSwitchStatement_empty() {
3890 SwitchStatement statement = ParserTestCase.parse4("parseSwitchStatement", "s witch (a) {}", []);
3891 JUnitTestCase.assertNotNull(statement.keyword);
3892 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3893 JUnitTestCase.assertNotNull(statement.expression);
3894 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3895 JUnitTestCase.assertNotNull(statement.leftBracket);
3896 EngineTestCase.assertSizeOfList(0, statement.members);
3897 JUnitTestCase.assertNotNull(statement.rightBracket);
3898 }
3899
3900 void test_parseSwitchStatement_labeledCase() {
3901 SwitchStatement statement = ParserTestCase.parse4("parseSwitchStatement", "s witch (a) {l1: l2: l3: case(1):}", []);
3902 JUnitTestCase.assertNotNull(statement.keyword);
3903 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3904 JUnitTestCase.assertNotNull(statement.expression);
3905 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3906 JUnitTestCase.assertNotNull(statement.leftBracket);
3907 EngineTestCase.assertSizeOfList(1, statement.members);
3908 EngineTestCase.assertSizeOfList(3, statement.members[0].labels);
3909 JUnitTestCase.assertNotNull(statement.rightBracket);
3910 }
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.assertSizeOfList(1, statement.members);
3920 EngineTestCase.assertSizeOfList(3, statement.members[0].statements);
3921 JUnitTestCase.assertNotNull(statement.rightBracket);
3922 }
3923
3924 void test_parseSymbolLiteral_builtInIdentifier() {
3925 SymbolLiteral literal = ParserTestCase.parse4("parseSymbolLiteral", "#dynami c.static.abstract", []);
3926 JUnitTestCase.assertNotNull(literal.poundSign);
3927 List<Token> components = literal.components;
3928 EngineTestCase.assertLength(3, components);
3929 JUnitTestCase.assertEquals("dynamic", components[0].lexeme);
3930 JUnitTestCase.assertEquals("static", components[1].lexeme);
3931 JUnitTestCase.assertEquals("abstract", components[2].lexeme);
3932 }
3933
3934 void test_parseSymbolLiteral_multiple() {
3935 SymbolLiteral literal = ParserTestCase.parse4("parseSymbolLiteral", "#a.b.c" , []);
3936 JUnitTestCase.assertNotNull(literal.poundSign);
3937 List<Token> components = literal.components;
3938 EngineTestCase.assertLength(3, components);
3939 JUnitTestCase.assertEquals("a", components[0].lexeme);
3940 JUnitTestCase.assertEquals("b", components[1].lexeme);
3941 JUnitTestCase.assertEquals("c", components[2].lexeme);
3942 }
3943
3944 void test_parseSymbolLiteral_operator() {
3945 SymbolLiteral literal = ParserTestCase.parse4("parseSymbolLiteral", "#==", [ ]);
3946 JUnitTestCase.assertNotNull(literal.poundSign);
3947 List<Token> components = literal.components;
3948 EngineTestCase.assertLength(1, components);
3949 JUnitTestCase.assertEquals("==", components[0].lexeme);
3950 }
3951
3952 void test_parseSymbolLiteral_single() {
3953 SymbolLiteral literal = ParserTestCase.parse4("parseSymbolLiteral", "#a", [] );
3954 JUnitTestCase.assertNotNull(literal.poundSign);
3955 List<Token> components = literal.components;
3956 EngineTestCase.assertLength(1, components);
3957 JUnitTestCase.assertEquals("a", components[0].lexeme);
3958 }
3959
3960 void test_parseThrowExpression() {
3961 ThrowExpression expression = ParserTestCase.parse4("parseThrowExpression", " throw x;", []);
3962 JUnitTestCase.assertNotNull(expression.keyword);
3963 JUnitTestCase.assertNotNull(expression.expression);
3964 }
3965
3966 void test_parseThrowExpressionWithoutCascade() {
3967 ThrowExpression expression = ParserTestCase.parse4("parseThrowExpressionWith outCascade", "throw x;", []);
3968 JUnitTestCase.assertNotNull(expression.keyword);
3969 JUnitTestCase.assertNotNull(expression.expression);
3970 }
3971
3972 void test_parseTryStatement_catch() {
3973 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} catch (e) {}", []);
3974 JUnitTestCase.assertNotNull(statement.tryKeyword);
3975 JUnitTestCase.assertNotNull(statement.body);
3976 NodeList<CatchClause> catchClauses = statement.catchClauses;
3977 EngineTestCase.assertSizeOfList(1, catchClauses);
3978 CatchClause clause = catchClauses[0];
3979 JUnitTestCase.assertNull(clause.onKeyword);
3980 JUnitTestCase.assertNull(clause.exceptionType);
3981 JUnitTestCase.assertNotNull(clause.catchKeyword);
3982 JUnitTestCase.assertNotNull(clause.exceptionParameter);
3983 JUnitTestCase.assertNull(clause.comma);
3984 JUnitTestCase.assertNull(clause.stackTraceParameter);
3985 JUnitTestCase.assertNotNull(clause.body);
3986 JUnitTestCase.assertNull(statement.finallyKeyword);
3987 JUnitTestCase.assertNull(statement.finallyBlock);
3988 }
3989
3990 void test_parseTryStatement_catch_finally() {
3991 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} catch (e, s) {} finally {}", []);
3992 JUnitTestCase.assertNotNull(statement.tryKeyword);
3993 JUnitTestCase.assertNotNull(statement.body);
3994 NodeList<CatchClause> catchClauses = statement.catchClauses;
3995 EngineTestCase.assertSizeOfList(1, catchClauses);
3996 CatchClause clause = catchClauses[0];
3997 JUnitTestCase.assertNull(clause.onKeyword);
3998 JUnitTestCase.assertNull(clause.exceptionType);
3999 JUnitTestCase.assertNotNull(clause.catchKeyword);
4000 JUnitTestCase.assertNotNull(clause.exceptionParameter);
4001 JUnitTestCase.assertNotNull(clause.comma);
4002 JUnitTestCase.assertNotNull(clause.stackTraceParameter);
4003 JUnitTestCase.assertNotNull(clause.body);
4004 JUnitTestCase.assertNotNull(statement.finallyKeyword);
4005 JUnitTestCase.assertNotNull(statement.finallyBlock);
4006 }
4007
4008 void test_parseTryStatement_finally() {
4009 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} finally {}", []);
4010 JUnitTestCase.assertNotNull(statement.tryKeyword);
4011 JUnitTestCase.assertNotNull(statement.body);
4012 EngineTestCase.assertSizeOfList(0, statement.catchClauses);
4013 JUnitTestCase.assertNotNull(statement.finallyKeyword);
4014 JUnitTestCase.assertNotNull(statement.finallyBlock);
4015 }
4016
4017 void test_parseTryStatement_multiple() {
4018 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} on NPE catch (e) {} on Error {} catch (e) {}", []);
4019 JUnitTestCase.assertNotNull(statement.tryKeyword);
4020 JUnitTestCase.assertNotNull(statement.body);
4021 EngineTestCase.assertSizeOfList(3, statement.catchClauses);
4022 JUnitTestCase.assertNull(statement.finallyKeyword);
4023 JUnitTestCase.assertNull(statement.finallyBlock);
4024 }
4025
4026 void test_parseTryStatement_on() {
4027 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} on Error {}", []);
4028 JUnitTestCase.assertNotNull(statement.tryKeyword);
4029 JUnitTestCase.assertNotNull(statement.body);
4030 NodeList<CatchClause> catchClauses = statement.catchClauses;
4031 EngineTestCase.assertSizeOfList(1, catchClauses);
4032 CatchClause clause = catchClauses[0];
4033 JUnitTestCase.assertNotNull(clause.onKeyword);
4034 JUnitTestCase.assertNotNull(clause.exceptionType);
4035 JUnitTestCase.assertNull(clause.catchKeyword);
4036 JUnitTestCase.assertNull(clause.exceptionParameter);
4037 JUnitTestCase.assertNull(clause.comma);
4038 JUnitTestCase.assertNull(clause.stackTraceParameter);
4039 JUnitTestCase.assertNotNull(clause.body);
4040 JUnitTestCase.assertNull(statement.finallyKeyword);
4041 JUnitTestCase.assertNull(statement.finallyBlock);
4042 }
4043
4044 void test_parseTryStatement_on_catch() {
4045 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} on Error catch (e, s) {}", []);
4046 JUnitTestCase.assertNotNull(statement.tryKeyword);
4047 JUnitTestCase.assertNotNull(statement.body);
4048 NodeList<CatchClause> catchClauses = statement.catchClauses;
4049 EngineTestCase.assertSizeOfList(1, catchClauses);
4050 CatchClause clause = catchClauses[0];
4051 JUnitTestCase.assertNotNull(clause.onKeyword);
4052 JUnitTestCase.assertNotNull(clause.exceptionType);
4053 JUnitTestCase.assertNotNull(clause.catchKeyword);
4054 JUnitTestCase.assertNotNull(clause.exceptionParameter);
4055 JUnitTestCase.assertNotNull(clause.comma);
4056 JUnitTestCase.assertNotNull(clause.stackTraceParameter);
4057 JUnitTestCase.assertNotNull(clause.body);
4058 JUnitTestCase.assertNull(statement.finallyKeyword);
4059 JUnitTestCase.assertNull(statement.finallyBlock);
4060 }
4061
4062 void test_parseTryStatement_on_catch_finally() {
4063 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} on Error catch (e, s) {} finally {}", []);
4064 JUnitTestCase.assertNotNull(statement.tryKeyword);
4065 JUnitTestCase.assertNotNull(statement.body);
4066 NodeList<CatchClause> catchClauses = statement.catchClauses;
4067 EngineTestCase.assertSizeOfList(1, catchClauses);
4068 CatchClause clause = catchClauses[0];
4069 JUnitTestCase.assertNotNull(clause.onKeyword);
4070 JUnitTestCase.assertNotNull(clause.exceptionType);
4071 JUnitTestCase.assertNotNull(clause.catchKeyword);
4072 JUnitTestCase.assertNotNull(clause.exceptionParameter);
4073 JUnitTestCase.assertNotNull(clause.comma);
4074 JUnitTestCase.assertNotNull(clause.stackTraceParameter);
4075 JUnitTestCase.assertNotNull(clause.body);
4076 JUnitTestCase.assertNotNull(statement.finallyKeyword);
4077 JUnitTestCase.assertNotNull(statement.finallyBlock);
4078 }
4079
4080 void test_parseTypeAlias_function_noParameters() {
4081 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef bool F();");
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.assertNull(typeAlias.typeParameters);
4088 }
4089
4090 void test_parseTypeAlias_function_noReturnType() {
4091 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef F();");
4092 JUnitTestCase.assertNotNull(typeAlias.keyword);
4093 JUnitTestCase.assertNotNull(typeAlias.name);
4094 JUnitTestCase.assertNotNull(typeAlias.parameters);
4095 JUnitTestCase.assertNull(typeAlias.returnType);
4096 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4097 JUnitTestCase.assertNull(typeAlias.typeParameters);
4098 }
4099
4100 void test_parseTypeAlias_function_parameterizedReturnType() {
4101 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef A<B> F();");
4102 JUnitTestCase.assertNotNull(typeAlias.keyword);
4103 JUnitTestCase.assertNotNull(typeAlias.name);
4104 JUnitTestCase.assertNotNull(typeAlias.parameters);
4105 JUnitTestCase.assertNotNull(typeAlias.returnType);
4106 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4107 JUnitTestCase.assertNull(typeAlias.typeParameters);
4108 }
4109
4110 void test_parseTypeAlias_function_parameters() {
4111 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef bool F(Object value);");
4112 JUnitTestCase.assertNotNull(typeAlias.keyword);
4113 JUnitTestCase.assertNotNull(typeAlias.name);
4114 JUnitTestCase.assertNotNull(typeAlias.parameters);
4115 JUnitTestCase.assertNotNull(typeAlias.returnType);
4116 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4117 JUnitTestCase.assertNull(typeAlias.typeParameters);
4118 }
4119
4120 void test_parseTypeAlias_function_typeParameters() {
4121 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef bool F<E>();");
4122 JUnitTestCase.assertNotNull(typeAlias.keyword);
4123 JUnitTestCase.assertNotNull(typeAlias.name);
4124 JUnitTestCase.assertNotNull(typeAlias.parameters);
4125 JUnitTestCase.assertNotNull(typeAlias.returnType);
4126 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4127 JUnitTestCase.assertNotNull(typeAlias.typeParameters);
4128 }
4129
4130 void test_parseTypeAlias_function_voidReturnType() {
4131 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef void F();");
4132 JUnitTestCase.assertNotNull(typeAlias.keyword);
4133 JUnitTestCase.assertNotNull(typeAlias.name);
4134 JUnitTestCase.assertNotNull(typeAlias.parameters);
4135 JUnitTestCase.assertNotNull(typeAlias.returnType);
4136 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4137 JUnitTestCase.assertNull(typeAlias.typeParameters);
4138 }
4139
4140 void test_parseTypeArgumentList_multiple() {
4141 TypeArgumentList argumentList = ParserTestCase.parse4("parseTypeArgumentList ", "<int, int, int>", []);
4142 JUnitTestCase.assertNotNull(argumentList.leftBracket);
4143 EngineTestCase.assertSizeOfList(3, argumentList.arguments);
4144 JUnitTestCase.assertNotNull(argumentList.rightBracket);
4145 }
4146
4147 void test_parseTypeArgumentList_nested() {
4148 TypeArgumentList argumentList = ParserTestCase.parse4("parseTypeArgumentList ", "<A<B>>", []);
4149 JUnitTestCase.assertNotNull(argumentList.leftBracket);
4150 EngineTestCase.assertSizeOfList(1, argumentList.arguments);
4151 TypeName argument = argumentList.arguments[0];
4152 JUnitTestCase.assertNotNull(argument);
4153 TypeArgumentList innerList = argument.typeArguments;
4154 JUnitTestCase.assertNotNull(innerList);
4155 EngineTestCase.assertSizeOfList(1, innerList.arguments);
4156 JUnitTestCase.assertNotNull(argumentList.rightBracket);
4157 }
4158
4159 void test_parseTypeArgumentList_single() {
4160 TypeArgumentList argumentList = ParserTestCase.parse4("parseTypeArgumentList ", "<int>", []);
4161 JUnitTestCase.assertNotNull(argumentList.leftBracket);
4162 EngineTestCase.assertSizeOfList(1, argumentList.arguments);
4163 JUnitTestCase.assertNotNull(argumentList.rightBracket);
4164 }
4165
4166 void test_parseTypeName_parameterized() {
4167 TypeName typeName = ParserTestCase.parse4("parseTypeName", "List<int>", []);
4168 JUnitTestCase.assertNotNull(typeName.name);
4169 JUnitTestCase.assertNotNull(typeName.typeArguments);
4170 }
4171
4172 void test_parseTypeName_simple() {
4173 TypeName typeName = ParserTestCase.parse4("parseTypeName", "int", []);
4174 JUnitTestCase.assertNotNull(typeName.name);
4175 JUnitTestCase.assertNull(typeName.typeArguments);
4176 }
4177
4178 void test_parseTypeParameter_bounded() {
4179 TypeParameter parameter = ParserTestCase.parse4("parseTypeParameter", "A ext ends B", []);
4180 JUnitTestCase.assertNotNull(parameter.bound);
4181 JUnitTestCase.assertNotNull(parameter.keyword);
4182 JUnitTestCase.assertNotNull(parameter.name);
4183 }
4184
4185 void test_parseTypeParameter_simple() {
4186 TypeParameter parameter = ParserTestCase.parse4("parseTypeParameter", "A", [ ]);
4187 JUnitTestCase.assertNull(parameter.bound);
4188 JUnitTestCase.assertNull(parameter.keyword);
4189 JUnitTestCase.assertNotNull(parameter.name);
4190 }
4191
4192 void test_parseTypeParameterList_multiple() {
4193 TypeParameterList parameterList = ParserTestCase.parse4("parseTypeParameterL ist", "<A, B extends C, D>", []);
4194 JUnitTestCase.assertNotNull(parameterList.leftBracket);
4195 JUnitTestCase.assertNotNull(parameterList.rightBracket);
4196 EngineTestCase.assertSizeOfList(3, parameterList.typeParameters);
4197 }
4198
4199 void test_parseTypeParameterList_parameterizedWithTrailingEquals() {
4200 TypeParameterList parameterList = ParserTestCase.parse4("parseTypeParameterL ist", "<A extends B<E>>=", []);
4201 JUnitTestCase.assertNotNull(parameterList.leftBracket);
4202 JUnitTestCase.assertNotNull(parameterList.rightBracket);
4203 EngineTestCase.assertSizeOfList(1, parameterList.typeParameters);
4204 }
4205
4206 void test_parseTypeParameterList_single() {
4207 TypeParameterList parameterList = ParserTestCase.parse4("parseTypeParameterL ist", "<A>", []);
4208 JUnitTestCase.assertNotNull(parameterList.leftBracket);
4209 JUnitTestCase.assertNotNull(parameterList.rightBracket);
4210 EngineTestCase.assertSizeOfList(1, parameterList.typeParameters);
4211 }
4212
4213 void test_parseTypeParameterList_withTrailingEquals() {
4214 TypeParameterList parameterList = ParserTestCase.parse4("parseTypeParameterL ist", "<A>=", []);
4215 JUnitTestCase.assertNotNull(parameterList.leftBracket);
4216 JUnitTestCase.assertNotNull(parameterList.rightBracket);
4217 EngineTestCase.assertSizeOfList(1, parameterList.typeParameters);
4218 }
4219
4220 void test_parseUnaryExpression_decrement_normal() {
4221 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "--x", []);
4222 JUnitTestCase.assertNotNull(expression.operator);
4223 JUnitTestCase.assertEquals(TokenType.MINUS_MINUS, expression.operator.type);
4224 JUnitTestCase.assertNotNull(expression.operand);
4225 }
4226
4227 void test_parseUnaryExpression_decrement_super() {
4228 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "--super", []);
4229 JUnitTestCase.assertNotNull(expression.operator);
4230 JUnitTestCase.assertEquals(TokenType.MINUS, expression.operator.type);
4231 Expression innerExpression = expression.operand;
4232 JUnitTestCase.assertNotNull(innerExpression);
4233 JUnitTestCase.assertTrue(innerExpression is PrefixExpression);
4234 PrefixExpression operand = innerExpression as PrefixExpression;
4235 JUnitTestCase.assertNotNull(operand.operator);
4236 JUnitTestCase.assertEquals(TokenType.MINUS, operand.operator.type);
4237 JUnitTestCase.assertNotNull(operand.operand);
4238 }
4239
4240 void test_parseUnaryExpression_decrement_super_propertyAccess() {
4241 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "--super.x", []);
4242 JUnitTestCase.assertNotNull(expression.operator);
4243 JUnitTestCase.assertEquals(TokenType.MINUS_MINUS, expression.operator.type);
4244 JUnitTestCase.assertNotNull(expression.operand);
4245 PropertyAccess operand = expression.operand as PropertyAccess;
4246 JUnitTestCase.assertTrue(operand.target is SuperExpression);
4247 JUnitTestCase.assertEquals("x", operand.propertyName.name);
4248 }
4249
4250 void test_parseUnaryExpression_increment_normal() {
4251 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "++x", []);
4252 JUnitTestCase.assertNotNull(expression.operator);
4253 JUnitTestCase.assertEquals(TokenType.PLUS_PLUS, expression.operator.type);
4254 JUnitTestCase.assertNotNull(expression.operand);
4255 }
4256
4257 void test_parseUnaryExpression_increment_super_index() {
4258 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "++super[0]", []);
4259 JUnitTestCase.assertNotNull(expression.operator);
4260 JUnitTestCase.assertEquals(TokenType.PLUS_PLUS, expression.operator.type);
4261 JUnitTestCase.assertNotNull(expression.operand);
4262 IndexExpression operand = expression.operand as IndexExpression;
4263 JUnitTestCase.assertTrue(operand.realTarget is SuperExpression);
4264 JUnitTestCase.assertTrue(operand.index is IntegerLiteral);
4265 }
4266
4267 void test_parseUnaryExpression_increment_super_propertyAccess() {
4268 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "++super.x", []);
4269 JUnitTestCase.assertNotNull(expression.operator);
4270 JUnitTestCase.assertEquals(TokenType.PLUS_PLUS, expression.operator.type);
4271 JUnitTestCase.assertNotNull(expression.operand);
4272 PropertyAccess operand = expression.operand as PropertyAccess;
4273 JUnitTestCase.assertTrue(operand.target is SuperExpression);
4274 JUnitTestCase.assertEquals("x", operand.propertyName.name);
4275 }
4276
4277 void test_parseUnaryExpression_minus_normal() {
4278 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "-x", []);
4279 JUnitTestCase.assertNotNull(expression.operator);
4280 JUnitTestCase.assertEquals(TokenType.MINUS, expression.operator.type);
4281 JUnitTestCase.assertNotNull(expression.operand);
4282 }
4283
4284 void test_parseUnaryExpression_minus_super() {
4285 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "-super", []);
4286 JUnitTestCase.assertNotNull(expression.operator);
4287 JUnitTestCase.assertEquals(TokenType.MINUS, expression.operator.type);
4288 JUnitTestCase.assertNotNull(expression.operand);
4289 }
4290
4291 void test_parseUnaryExpression_not_normal() {
4292 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "!x", []);
4293 JUnitTestCase.assertNotNull(expression.operator);
4294 JUnitTestCase.assertEquals(TokenType.BANG, expression.operator.type);
4295 JUnitTestCase.assertNotNull(expression.operand);
4296 }
4297
4298 void test_parseUnaryExpression_not_super() {
4299 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "!super", []);
4300 JUnitTestCase.assertNotNull(expression.operator);
4301 JUnitTestCase.assertEquals(TokenType.BANG, expression.operator.type);
4302 JUnitTestCase.assertNotNull(expression.operand);
4303 }
4304
4305 void test_parseUnaryExpression_tilda_normal() {
4306 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "~x", []);
4307 JUnitTestCase.assertNotNull(expression.operator);
4308 JUnitTestCase.assertEquals(TokenType.TILDE, expression.operator.type);
4309 JUnitTestCase.assertNotNull(expression.operand);
4310 }
4311
4312 void test_parseUnaryExpression_tilda_super() {
4313 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "~super", []);
4314 JUnitTestCase.assertNotNull(expression.operator);
4315 JUnitTestCase.assertEquals(TokenType.TILDE, expression.operator.type);
4316 JUnitTestCase.assertNotNull(expression.operand);
4317 }
4318
4319 void test_parseVariableDeclaration_equals() {
4320 VariableDeclaration declaration = ParserTestCase.parse4("parseVariableDeclar ation", "a = b", []);
4321 JUnitTestCase.assertNotNull(declaration.name);
4322 JUnitTestCase.assertNotNull(declaration.equals);
4323 JUnitTestCase.assertNotNull(declaration.initializer);
4324 }
4325
4326 void test_parseVariableDeclaration_noEquals() {
4327 VariableDeclaration declaration = ParserTestCase.parse4("parseVariableDeclar ation", "a", []);
4328 JUnitTestCase.assertNotNull(declaration.name);
4329 JUnitTestCase.assertNull(declaration.equals);
4330 JUnitTestCase.assertNull(declaration.initializer);
4331 }
4332
4333 void test_parseVariableDeclarationListAfterMetadata_const_noType() {
4334 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "const a") ;
4335 JUnitTestCase.assertNotNull(declarationList.keyword);
4336 JUnitTestCase.assertNull(declarationList.type);
4337 EngineTestCase.assertSizeOfList(1, declarationList.variables);
4338 }
4339
4340 void test_parseVariableDeclarationListAfterMetadata_const_type() {
4341 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "const A a ");
4342 JUnitTestCase.assertNotNull(declarationList.keyword);
4343 JUnitTestCase.assertNotNull(declarationList.type);
4344 EngineTestCase.assertSizeOfList(1, declarationList.variables);
4345 }
4346
4347 void test_parseVariableDeclarationListAfterMetadata_final_noType() {
4348 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "final a") ;
4349 JUnitTestCase.assertNotNull(declarationList.keyword);
4350 JUnitTestCase.assertNull(declarationList.type);
4351 EngineTestCase.assertSizeOfList(1, declarationList.variables);
4352 }
4353
4354 void test_parseVariableDeclarationListAfterMetadata_final_type() {
4355 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "final A a ");
4356 JUnitTestCase.assertNotNull(declarationList.keyword);
4357 JUnitTestCase.assertNotNull(declarationList.type);
4358 EngineTestCase.assertSizeOfList(1, declarationList.variables);
4359 }
4360
4361 void test_parseVariableDeclarationListAfterMetadata_type_multiple() {
4362 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "A a, b, c ");
4363 JUnitTestCase.assertNull(declarationList.keyword);
4364 JUnitTestCase.assertNotNull(declarationList.type);
4365 EngineTestCase.assertSizeOfList(3, declarationList.variables);
4366 }
4367
4368 void test_parseVariableDeclarationListAfterMetadata_type_single() {
4369 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "A a");
4370 JUnitTestCase.assertNull(declarationList.keyword);
4371 JUnitTestCase.assertNotNull(declarationList.type);
4372 EngineTestCase.assertSizeOfList(1, declarationList.variables);
4373 }
4374
4375 void test_parseVariableDeclarationListAfterMetadata_var_multiple() {
4376 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "var a, b, c");
4377 JUnitTestCase.assertNotNull(declarationList.keyword);
4378 JUnitTestCase.assertNull(declarationList.type);
4379 EngineTestCase.assertSizeOfList(3, declarationList.variables);
4380 }
4381
4382 void test_parseVariableDeclarationListAfterMetadata_var_single() {
4383 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "var a");
4384 JUnitTestCase.assertNotNull(declarationList.keyword);
4385 JUnitTestCase.assertNull(declarationList.type);
4386 EngineTestCase.assertSizeOfList(1, declarationList.variables);
4387 }
4388
4389 void test_parseVariableDeclarationListAfterType_type() {
4390 TypeName type = new TypeName(new SimpleIdentifier(null), null);
4391 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterType", <Object> [emptyCommentAndMetadata(), null, type], "a ");
4392 JUnitTestCase.assertNull(declarationList.keyword);
4393 JUnitTestCase.assertEquals(type, declarationList.type);
4394 EngineTestCase.assertSizeOfList(1, declarationList.variables);
4395 }
4396
4397 void test_parseVariableDeclarationListAfterType_var() {
4398 Token keyword = TokenFactory.tokenFromKeyword(Keyword.VAR);
4399 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterType", <Object> [emptyCommentAndMetadata(), keyword, null], "a, b, c");
4400 JUnitTestCase.assertEquals(keyword, declarationList.keyword);
4401 JUnitTestCase.assertNull(declarationList.type);
4402 EngineTestCase.assertSizeOfList(3, declarationList.variables);
4403 }
4404
4405 void test_parseVariableDeclarationStatementAfterMetadata_multiple() {
4406 VariableDeclarationStatement statement = ParserTestCase.parse("parseVariable DeclarationStatementAfterMetadata", <Object> [emptyCommentAndMetadata()], "var x , y, z;");
4407 JUnitTestCase.assertNotNull(statement.semicolon);
4408 VariableDeclarationList variableList = statement.variables;
4409 JUnitTestCase.assertNotNull(variableList);
4410 EngineTestCase.assertSizeOfList(3, variableList.variables);
4411 }
4412
4413 void test_parseVariableDeclarationStatementAfterMetadata_single() {
4414 VariableDeclarationStatement statement = ParserTestCase.parse("parseVariable DeclarationStatementAfterMetadata", <Object> [emptyCommentAndMetadata()], "var x ;");
4415 JUnitTestCase.assertNotNull(statement.semicolon);
4416 VariableDeclarationList variableList = statement.variables;
4417 JUnitTestCase.assertNotNull(variableList);
4418 EngineTestCase.assertSizeOfList(1, variableList.variables);
4419 }
4420
4421 void test_parseWhileStatement() {
4422 WhileStatement statement = ParserTestCase.parse4("parseWhileStatement", "whi le (x) {}", []);
4423 JUnitTestCase.assertNotNull(statement.keyword);
4424 JUnitTestCase.assertNotNull(statement.leftParenthesis);
4425 JUnitTestCase.assertNotNull(statement.condition);
4426 JUnitTestCase.assertNotNull(statement.rightParenthesis);
4427 JUnitTestCase.assertNotNull(statement.body);
4428 }
4429
4430 void test_parseWithClause_multiple() {
4431 WithClause clause = ParserTestCase.parse4("parseWithClause", "with A, B, C", []);
4432 JUnitTestCase.assertNotNull(clause.withKeyword);
4433 EngineTestCase.assertSizeOfList(3, clause.mixinTypes);
4434 }
4435
4436 void test_parseWithClause_single() {
4437 WithClause clause = ParserTestCase.parse4("parseWithClause", "with M", []);
4438 JUnitTestCase.assertNotNull(clause.withKeyword);
4439 EngineTestCase.assertSizeOfList(1, clause.mixinTypes);
4440 }
4441
4442 void test_skipPrefixedIdentifier_invalid() {
4443 Token following = _skip("skipPrefixedIdentifier", "+");
4444 JUnitTestCase.assertNull(following);
4445 }
4446
4447 void test_skipPrefixedIdentifier_notPrefixed() {
4448 Token following = _skip("skipPrefixedIdentifier", "a +");
4449 JUnitTestCase.assertNotNull(following);
4450 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4451 }
4452
4453 void test_skipPrefixedIdentifier_prefixed() {
4454 Token following = _skip("skipPrefixedIdentifier", "a.b +");
4455 JUnitTestCase.assertNotNull(following);
4456 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4457 }
4458
4459 void test_skipReturnType_invalid() {
4460 Token following = _skip("skipReturnType", "+");
4461 JUnitTestCase.assertNull(following);
4462 }
4463
4464 void test_skipReturnType_type() {
4465 Token following = _skip("skipReturnType", "C +");
4466 JUnitTestCase.assertNotNull(following);
4467 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4468 }
4469
4470 void test_skipReturnType_void() {
4471 Token following = _skip("skipReturnType", "void +");
4472 JUnitTestCase.assertNotNull(following);
4473 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4474 }
4475
4476 void test_skipSimpleIdentifier_identifier() {
4477 Token following = _skip("skipSimpleIdentifier", "i +");
4478 JUnitTestCase.assertNotNull(following);
4479 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4480 }
4481
4482 void test_skipSimpleIdentifier_invalid() {
4483 Token following = _skip("skipSimpleIdentifier", "9 +");
4484 JUnitTestCase.assertNull(following);
4485 }
4486
4487 void test_skipSimpleIdentifier_pseudoKeyword() {
4488 Token following = _skip("skipSimpleIdentifier", "as +");
4489 JUnitTestCase.assertNotNull(following);
4490 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4491 }
4492
4493 void test_skipStringLiteral_adjacent() {
4494 Token following = _skip("skipStringLiteral", "'a' 'b' +");
4495 JUnitTestCase.assertNotNull(following);
4496 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4497 }
4498
4499 void test_skipStringLiteral_interpolated() {
4500 Token following = _skip("skipStringLiteral", "'a\${b}c' +");
4501 JUnitTestCase.assertNotNull(following);
4502 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4503 }
4504
4505 void test_skipStringLiteral_invalid() {
4506 Token following = _skip("skipStringLiteral", "a");
4507 JUnitTestCase.assertNull(following);
4508 }
4509
4510 void test_skipStringLiteral_single() {
4511 Token following = _skip("skipStringLiteral", "'a' +");
4512 JUnitTestCase.assertNotNull(following);
4513 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4514 }
4515
4516 void test_skipTypeArgumentList_invalid() {
4517 Token following = _skip("skipTypeArgumentList", "+");
4518 JUnitTestCase.assertNull(following);
4519 }
4520
4521 void test_skipTypeArgumentList_multiple() {
4522 Token following = _skip("skipTypeArgumentList", "<E, F, G> +");
4523 JUnitTestCase.assertNotNull(following);
4524 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4525 }
4526
4527 void test_skipTypeArgumentList_single() {
4528 Token following = _skip("skipTypeArgumentList", "<E> +");
4529 JUnitTestCase.assertNotNull(following);
4530 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4531 }
4532
4533 void test_skipTypeName_invalid() {
4534 Token following = _skip("skipTypeName", "+");
4535 JUnitTestCase.assertNull(following);
4536 }
4537
4538 void test_skipTypeName_parameterized() {
4539 Token following = _skip("skipTypeName", "C<E<F<G>>> +");
4540 JUnitTestCase.assertNotNull(following);
4541 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4542 }
4543
4544 void test_skipTypeName_simple() {
4545 Token following = _skip("skipTypeName", "C +");
4546 JUnitTestCase.assertNotNull(following);
4547 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
4548 }
4549
4550 /**
4551 * Invoke the method [Parser#computeStringValue] with the given argument.
4552 *
4553 * @param lexeme the argument to the method
4554 * @param first `true` if this is the first token in a string literal
4555 * @param last `true` if this is the last token in a string literal
4556 * @return the result of invoking the method
4557 * @throws Exception if the method could not be invoked or throws an exception
4558 */
4559 String _computeStringValue(String lexeme, bool first, bool last) {
4560 AnalysisErrorListener listener = new AnalysisErrorListener_SimpleParserTest_ computeStringValue();
4561 Parser parser = new Parser(null, listener);
4562 return invokeParserMethodImpl(parser, "computeStringValue", <Object> [lexeme , first, last], null) as String;
4563 }
4564
4565 /**
4566 * Invoke the method [Parser#createSyntheticIdentifier] with the parser set to the token
4567 * stream produced by scanning the given source.
4568 *
4569 * @param source the source to be scanned to produce the token stream being te sted
4570 * @return the result of invoking the method
4571 * @throws Exception if the method could not be invoked or throws an exception
4572 */
4573 SimpleIdentifier _createSyntheticIdentifier() {
4574 GatheringErrorListener listener = new GatheringErrorListener();
4575 return ParserTestCase.invokeParserMethod2("createSyntheticIdentifier", "", l istener);
4576 }
4577
4578 /**
4579 * Invoke the method [Parser#createSyntheticIdentifier] with the parser set to the token
4580 * stream produced by scanning the given source.
4581 *
4582 * @param source the source to be scanned to produce the token stream being te sted
4583 * @return the result of invoking the method
4584 * @throws Exception if the method could not be invoked or throws an exception
4585 */
4586 SimpleStringLiteral _createSyntheticStringLiteral() {
4587 GatheringErrorListener listener = new GatheringErrorListener();
4588 return ParserTestCase.invokeParserMethod2("createSyntheticStringLiteral", "" , listener);
4589 }
4590
4591 /**
4592 * Invoke the method [Parser#isFunctionDeclaration] with the parser set to the token
4593 * stream produced by scanning the given source.
4594 *
4595 * @param source the source to be scanned to produce the token stream being te sted
4596 * @return the result of invoking the method
4597 * @throws Exception if the method could not be invoked or throws an exception
4598 */
4599 bool _isFunctionDeclaration(String source) {
4600 GatheringErrorListener listener = new GatheringErrorListener();
4601 return ParserTestCase.invokeParserMethod2("isFunctionDeclaration", source, l istener) as bool;
4602 }
4603
4604 /**
4605 * Invoke the method [Parser#isFunctionExpression] with the parser set to the token stream
4606 * produced by scanning the given source.
4607 *
4608 * @param source the source to be scanned to produce the token stream being te sted
4609 * @return the result of invoking the method
4610 * @throws Exception if the method could not be invoked or throws an exception
4611 */
4612 bool _isFunctionExpression(String source) {
4613 GatheringErrorListener listener = new GatheringErrorListener();
4614 //
4615 // Scan the source.
4616 //
4617 Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener );
4618 Token tokenStream = scanner.tokenize();
4619 //
4620 // Parse the source.
4621 //
4622 Parser parser = new Parser(null, listener);
4623 return invokeParserMethodImpl(parser, "isFunctionExpression", <Object> [toke nStream], tokenStream) as bool;
4624 }
4625
4626 /**
4627 * Invoke the method [Parser#isInitializedVariableDeclaration] with the parser set to the
4628 * token stream produced by scanning the given source.
4629 *
4630 * @param source the source to be scanned to produce the token stream being te sted
4631 * @return the result of invoking the method
4632 * @throws Exception if the method could not be invoked or throws an exception
4633 */
4634 bool _isInitializedVariableDeclaration(String source) {
4635 GatheringErrorListener listener = new GatheringErrorListener();
4636 return ParserTestCase.invokeParserMethod2("isInitializedVariableDeclaration" , source, listener) as bool;
4637 }
4638
4639 /**
4640 * Invoke the method [Parser#isSwitchMember] with the parser set to the token stream
4641 * produced by scanning the given source.
4642 *
4643 * @param source the source to be scanned to produce the token stream being te sted
4644 * @return the result of invoking the method
4645 * @throws Exception if the method could not be invoked or throws an exception
4646 */
4647 bool _isSwitchMember(String source) {
4648 GatheringErrorListener listener = new GatheringErrorListener();
4649 return ParserTestCase.invokeParserMethod2("isSwitchMember", source, listener ) as bool;
4650 }
4651
4652 /**
4653 * Parse the given source as a compilation unit.
4654 *
4655 * @param source the source to be parsed
4656 * @param errorCodes the error codes of the errors that are expected to be fou nd
4657 * @return the compilation unit that was parsed
4658 * @throws Exception if the source could not be parsed, if the compilation err ors in the source do
4659 * not match those that are expected, or if the result would have be en `null`
4660 */
4661 CompilationUnit _parseDirectives(String source, List<ErrorCode> errorCodes) {
4662 GatheringErrorListener listener = new GatheringErrorListener();
4663 Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener );
4664 listener.setLineInfo(new TestSource(), scanner.lineStarts);
4665 Token token = scanner.tokenize();
4666 Parser parser = new Parser(null, listener);
4667 CompilationUnit unit = parser.parseDirectives(token);
4668 JUnitTestCase.assertNotNull(unit);
4669 EngineTestCase.assertSizeOfList(0, unit.declarations);
4670 listener.assertErrorsWithCodes(errorCodes);
4671 return unit;
4672 }
4673
4674 /**
4675 * Invoke a "skip" method in [Parser]. The method is assumed to take a token a s it's
4676 * parameter and is given the first token in the scanned source.
4677 *
4678 * @param methodName the name of the method that should be invoked
4679 * @param source the source to be processed by the method
4680 * @return the result of invoking the method
4681 * @throws Exception if the method could not be invoked or throws an exception
4682 * @throws AssertionFailedError if the result is `null`
4683 */
4684 Token _skip(String methodName, String source) {
4685 GatheringErrorListener listener = new GatheringErrorListener();
4686 //
4687 // Scan the source.
4688 //
4689 Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener );
4690 Token tokenStream = scanner.tokenize();
4691 //
4692 // Parse the source.
4693 //
4694 Parser parser = new Parser(null, listener);
4695 return invokeParserMethodImpl(parser, methodName, <Object> [tokenStream], to kenStream) as Token;
4696 }
4697
4698 static dartSuite() {
4699 _ut.group('SimpleParserTest', () {
4700 _ut.test('test_Parser', () {
4701 final __test = new SimpleParserTest();
4702 runJUnitTest(__test, __test.test_Parser);
4703 });
4704 _ut.test('test_computeStringValue_emptyInterpolationPrefix', () {
4705 final __test = new SimpleParserTest();
4706 runJUnitTest(__test, __test.test_computeStringValue_emptyInterpolationPr efix);
4707 });
4708 _ut.test('test_computeStringValue_escape_b', () {
4709 final __test = new SimpleParserTest();
4710 runJUnitTest(__test, __test.test_computeStringValue_escape_b);
4711 });
4712 _ut.test('test_computeStringValue_escape_f', () {
4713 final __test = new SimpleParserTest();
4714 runJUnitTest(__test, __test.test_computeStringValue_escape_f);
4715 });
4716 _ut.test('test_computeStringValue_escape_n', () {
4717 final __test = new SimpleParserTest();
4718 runJUnitTest(__test, __test.test_computeStringValue_escape_n);
4719 });
4720 _ut.test('test_computeStringValue_escape_notSpecial', () {
4721 final __test = new SimpleParserTest();
4722 runJUnitTest(__test, __test.test_computeStringValue_escape_notSpecial);
4723 });
4724 _ut.test('test_computeStringValue_escape_r', () {
4725 final __test = new SimpleParserTest();
4726 runJUnitTest(__test, __test.test_computeStringValue_escape_r);
4727 });
4728 _ut.test('test_computeStringValue_escape_t', () {
4729 final __test = new SimpleParserTest();
4730 runJUnitTest(__test, __test.test_computeStringValue_escape_t);
4731 });
4732 _ut.test('test_computeStringValue_escape_u_fixed', () {
4733 final __test = new SimpleParserTest();
4734 runJUnitTest(__test, __test.test_computeStringValue_escape_u_fixed);
4735 });
4736 _ut.test('test_computeStringValue_escape_u_variable', () {
4737 final __test = new SimpleParserTest();
4738 runJUnitTest(__test, __test.test_computeStringValue_escape_u_variable);
4739 });
4740 _ut.test('test_computeStringValue_escape_v', () {
4741 final __test = new SimpleParserTest();
4742 runJUnitTest(__test, __test.test_computeStringValue_escape_v);
4743 });
4744 _ut.test('test_computeStringValue_escape_x', () {
4745 final __test = new SimpleParserTest();
4746 runJUnitTest(__test, __test.test_computeStringValue_escape_x);
4747 });
4748 _ut.test('test_computeStringValue_noEscape_single', () {
4749 final __test = new SimpleParserTest();
4750 runJUnitTest(__test, __test.test_computeStringValue_noEscape_single);
4751 });
4752 _ut.test('test_computeStringValue_noEscape_triple', () {
4753 final __test = new SimpleParserTest();
4754 runJUnitTest(__test, __test.test_computeStringValue_noEscape_triple);
4755 });
4756 _ut.test('test_computeStringValue_raw_single', () {
4757 final __test = new SimpleParserTest();
4758 runJUnitTest(__test, __test.test_computeStringValue_raw_single);
4759 });
4760 _ut.test('test_computeStringValue_raw_triple', () {
4761 final __test = new SimpleParserTest();
4762 runJUnitTest(__test, __test.test_computeStringValue_raw_triple);
4763 });
4764 _ut.test('test_computeStringValue_raw_withEscape', () {
4765 final __test = new SimpleParserTest();
4766 runJUnitTest(__test, __test.test_computeStringValue_raw_withEscape);
4767 });
4768 _ut.test('test_computeStringValue_triple_internalQuote_first_empty', () {
4769 final __test = new SimpleParserTest();
4770 runJUnitTest(__test, __test.test_computeStringValue_triple_internalQuote _first_empty);
4771 });
4772 _ut.test('test_computeStringValue_triple_internalQuote_first_nonEmpty', () {
4773 final __test = new SimpleParserTest();
4774 runJUnitTest(__test, __test.test_computeStringValue_triple_internalQuote _first_nonEmpty);
4775 });
4776 _ut.test('test_computeStringValue_triple_internalQuote_last_empty', () {
4777 final __test = new SimpleParserTest();
4778 runJUnitTest(__test, __test.test_computeStringValue_triple_internalQuote _last_empty);
4779 });
4780 _ut.test('test_computeStringValue_triple_internalQuote_last_nonEmpty', () {
4781 final __test = new SimpleParserTest();
4782 runJUnitTest(__test, __test.test_computeStringValue_triple_internalQuote _last_nonEmpty);
4783 });
4784 _ut.test('test_constFactory', () {
4785 final __test = new SimpleParserTest();
4786 runJUnitTest(__test, __test.test_constFactory);
4787 });
4788 _ut.test('test_createSyntheticIdentifier', () {
4789 final __test = new SimpleParserTest();
4790 runJUnitTest(__test, __test.test_createSyntheticIdentifier);
4791 });
4792 _ut.test('test_createSyntheticStringLiteral', () {
4793 final __test = new SimpleParserTest();
4794 runJUnitTest(__test, __test.test_createSyntheticStringLiteral);
4795 });
4796 _ut.test('test_function_literal_allowed_at_toplevel', () {
4797 final __test = new SimpleParserTest();
4798 runJUnitTest(__test, __test.test_function_literal_allowed_at_toplevel);
4799 });
4800 _ut.test('test_function_literal_allowed_in_ArgumentList_in_ConstructorFiel dInitializer', () {
4801 final __test = new SimpleParserTest();
4802 runJUnitTest(__test, __test.test_function_literal_allowed_in_ArgumentLis t_in_ConstructorFieldInitializer);
4803 });
4804 _ut.test('test_function_literal_allowed_in_IndexExpression_in_ConstructorF ieldInitializer', () {
4805 final __test = new SimpleParserTest();
4806 runJUnitTest(__test, __test.test_function_literal_allowed_in_IndexExpres sion_in_ConstructorFieldInitializer);
4807 });
4808 _ut.test('test_function_literal_allowed_in_ListLiteral_in_ConstructorField Initializer', () {
4809 final __test = new SimpleParserTest();
4810 runJUnitTest(__test, __test.test_function_literal_allowed_in_ListLiteral _in_ConstructorFieldInitializer);
4811 });
4812 _ut.test('test_function_literal_allowed_in_MapLiteral_in_ConstructorFieldI nitializer', () {
4813 final __test = new SimpleParserTest();
4814 runJUnitTest(__test, __test.test_function_literal_allowed_in_MapLiteral_ in_ConstructorFieldInitializer);
4815 });
4816 _ut.test('test_function_literal_allowed_in_ParenthesizedExpression_in_Cons tructorFieldInitializer', () {
4817 final __test = new SimpleParserTest();
4818 runJUnitTest(__test, __test.test_function_literal_allowed_in_Parenthesiz edExpression_in_ConstructorFieldInitializer);
4819 });
4820 _ut.test('test_function_literal_allowed_in_StringInterpolation_in_Construc torFieldInitializer', () {
4821 final __test = new SimpleParserTest();
4822 runJUnitTest(__test, __test.test_function_literal_allowed_in_StringInter polation_in_ConstructorFieldInitializer);
4823 });
4824 _ut.test('test_isFunctionDeclaration_nameButNoReturn_block', () {
4825 final __test = new SimpleParserTest();
4826 runJUnitTest(__test, __test.test_isFunctionDeclaration_nameButNoReturn_b lock);
4827 });
4828 _ut.test('test_isFunctionDeclaration_nameButNoReturn_expression', () {
4829 final __test = new SimpleParserTest();
4830 runJUnitTest(__test, __test.test_isFunctionDeclaration_nameButNoReturn_e xpression);
4831 });
4832 _ut.test('test_isFunctionDeclaration_normalReturn_block', () {
4833 final __test = new SimpleParserTest();
4834 runJUnitTest(__test, __test.test_isFunctionDeclaration_normalReturn_bloc k);
4835 });
4836 _ut.test('test_isFunctionDeclaration_normalReturn_expression', () {
4837 final __test = new SimpleParserTest();
4838 runJUnitTest(__test, __test.test_isFunctionDeclaration_normalReturn_expr ession);
4839 });
4840 _ut.test('test_isFunctionDeclaration_voidReturn_block', () {
4841 final __test = new SimpleParserTest();
4842 runJUnitTest(__test, __test.test_isFunctionDeclaration_voidReturn_block) ;
4843 });
4844 _ut.test('test_isFunctionDeclaration_voidReturn_expression', () {
4845 final __test = new SimpleParserTest();
4846 runJUnitTest(__test, __test.test_isFunctionDeclaration_voidReturn_expres sion);
4847 });
4848 _ut.test('test_isFunctionExpression_false_noBody', () {
4849 final __test = new SimpleParserTest();
4850 runJUnitTest(__test, __test.test_isFunctionExpression_false_noBody);
4851 });
4852 _ut.test('test_isFunctionExpression_false_notParameters', () {
4853 final __test = new SimpleParserTest();
4854 runJUnitTest(__test, __test.test_isFunctionExpression_false_notParameter s);
4855 });
4856 _ut.test('test_isFunctionExpression_noName_block', () {
4857 final __test = new SimpleParserTest();
4858 runJUnitTest(__test, __test.test_isFunctionExpression_noName_block);
4859 });
4860 _ut.test('test_isFunctionExpression_noName_expression', () {
4861 final __test = new SimpleParserTest();
4862 runJUnitTest(__test, __test.test_isFunctionExpression_noName_expression) ;
4863 });
4864 _ut.test('test_isFunctionExpression_parameter_final', () {
4865 final __test = new SimpleParserTest();
4866 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_final);
4867 });
4868 _ut.test('test_isFunctionExpression_parameter_final_typed', () {
4869 final __test = new SimpleParserTest();
4870 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_final_ty ped);
4871 });
4872 _ut.test('test_isFunctionExpression_parameter_multiple', () {
4873 final __test = new SimpleParserTest();
4874 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_multiple );
4875 });
4876 _ut.test('test_isFunctionExpression_parameter_named', () {
4877 final __test = new SimpleParserTest();
4878 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_named);
4879 });
4880 _ut.test('test_isFunctionExpression_parameter_optional', () {
4881 final __test = new SimpleParserTest();
4882 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_optional );
4883 });
4884 _ut.test('test_isFunctionExpression_parameter_single', () {
4885 final __test = new SimpleParserTest();
4886 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_single);
4887 });
4888 _ut.test('test_isFunctionExpression_parameter_typed', () {
4889 final __test = new SimpleParserTest();
4890 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_typed);
4891 });
4892 _ut.test('test_isInitializedVariableDeclaration_assignment', () {
4893 final __test = new SimpleParserTest();
4894 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_assign ment);
4895 });
4896 _ut.test('test_isInitializedVariableDeclaration_comparison', () {
4897 final __test = new SimpleParserTest();
4898 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_compar ison);
4899 });
4900 _ut.test('test_isInitializedVariableDeclaration_conditional', () {
4901 final __test = new SimpleParserTest();
4902 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_condit ional);
4903 });
4904 _ut.test('test_isInitializedVariableDeclaration_const_noType_initialized', () {
4905 final __test = new SimpleParserTest();
4906 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_const_ noType_initialized);
4907 });
4908 _ut.test('test_isInitializedVariableDeclaration_const_noType_uninitialized ', () {
4909 final __test = new SimpleParserTest();
4910 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_const_ noType_uninitialized);
4911 });
4912 _ut.test('test_isInitializedVariableDeclaration_const_simpleType_uninitial ized', () {
4913 final __test = new SimpleParserTest();
4914 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_const_ simpleType_uninitialized);
4915 });
4916 _ut.test('test_isInitializedVariableDeclaration_final_noType_initialized', () {
4917 final __test = new SimpleParserTest();
4918 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_final_ noType_initialized);
4919 });
4920 _ut.test('test_isInitializedVariableDeclaration_final_noType_uninitialized ', () {
4921 final __test = new SimpleParserTest();
4922 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_final_ noType_uninitialized);
4923 });
4924 _ut.test('test_isInitializedVariableDeclaration_final_simpleType_initializ ed', () {
4925 final __test = new SimpleParserTest();
4926 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_final_ simpleType_initialized);
4927 });
4928 _ut.test('test_isInitializedVariableDeclaration_functionDeclaration_typed' , () {
4929 final __test = new SimpleParserTest();
4930 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_functi onDeclaration_typed);
4931 });
4932 _ut.test('test_isInitializedVariableDeclaration_functionDeclaration_untype d', () {
4933 final __test = new SimpleParserTest();
4934 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_functi onDeclaration_untyped);
4935 });
4936 _ut.test('test_isInitializedVariableDeclaration_noType_initialized', () {
4937 final __test = new SimpleParserTest();
4938 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_noType _initialized);
4939 });
4940 _ut.test('test_isInitializedVariableDeclaration_noType_uninitialized', () {
4941 final __test = new SimpleParserTest();
4942 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_noType _uninitialized);
4943 });
4944 _ut.test('test_isInitializedVariableDeclaration_parameterizedType_initiali zed', () {
4945 final __test = new SimpleParserTest();
4946 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_parame terizedType_initialized);
4947 });
4948 _ut.test('test_isInitializedVariableDeclaration_parameterizedType_uninitia lized', () {
4949 final __test = new SimpleParserTest();
4950 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_parame terizedType_uninitialized);
4951 });
4952 _ut.test('test_isInitializedVariableDeclaration_simpleType_initialized', ( ) {
4953 final __test = new SimpleParserTest();
4954 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_simple Type_initialized);
4955 });
4956 _ut.test('test_isInitializedVariableDeclaration_simpleType_uninitialized', () {
4957 final __test = new SimpleParserTest();
4958 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_simple Type_uninitialized);
4959 });
4960 _ut.test('test_isSwitchMember_case_labeled', () {
4961 final __test = new SimpleParserTest();
4962 runJUnitTest(__test, __test.test_isSwitchMember_case_labeled);
4963 });
4964 _ut.test('test_isSwitchMember_case_unlabeled', () {
4965 final __test = new SimpleParserTest();
4966 runJUnitTest(__test, __test.test_isSwitchMember_case_unlabeled);
4967 });
4968 _ut.test('test_isSwitchMember_default_labeled', () {
4969 final __test = new SimpleParserTest();
4970 runJUnitTest(__test, __test.test_isSwitchMember_default_labeled);
4971 });
4972 _ut.test('test_isSwitchMember_default_unlabeled', () {
4973 final __test = new SimpleParserTest();
4974 runJUnitTest(__test, __test.test_isSwitchMember_default_unlabeled);
4975 });
4976 _ut.test('test_isSwitchMember_false', () {
4977 final __test = new SimpleParserTest();
4978 runJUnitTest(__test, __test.test_isSwitchMember_false);
4979 });
4980 _ut.test('test_parseAdditiveExpression_normal', () {
4981 final __test = new SimpleParserTest();
4982 runJUnitTest(__test, __test.test_parseAdditiveExpression_normal);
4983 });
4984 _ut.test('test_parseAdditiveExpression_super', () {
4985 final __test = new SimpleParserTest();
4986 runJUnitTest(__test, __test.test_parseAdditiveExpression_super);
4987 });
4988 _ut.test('test_parseAnnotation_n1', () {
4989 final __test = new SimpleParserTest();
4990 runJUnitTest(__test, __test.test_parseAnnotation_n1);
4991 });
4992 _ut.test('test_parseAnnotation_n1_a', () {
4993 final __test = new SimpleParserTest();
4994 runJUnitTest(__test, __test.test_parseAnnotation_n1_a);
4995 });
4996 _ut.test('test_parseAnnotation_n2', () {
4997 final __test = new SimpleParserTest();
4998 runJUnitTest(__test, __test.test_parseAnnotation_n2);
4999 });
5000 _ut.test('test_parseAnnotation_n2_a', () {
5001 final __test = new SimpleParserTest();
5002 runJUnitTest(__test, __test.test_parseAnnotation_n2_a);
5003 });
5004 _ut.test('test_parseAnnotation_n3', () {
5005 final __test = new SimpleParserTest();
5006 runJUnitTest(__test, __test.test_parseAnnotation_n3);
5007 });
5008 _ut.test('test_parseAnnotation_n3_a', () {
5009 final __test = new SimpleParserTest();
5010 runJUnitTest(__test, __test.test_parseAnnotation_n3_a);
5011 });
5012 _ut.test('test_parseArgumentDefinitionTest', () {
5013 final __test = new SimpleParserTest();
5014 runJUnitTest(__test, __test.test_parseArgumentDefinitionTest);
5015 });
5016 _ut.test('test_parseArgumentList_empty', () {
5017 final __test = new SimpleParserTest();
5018 runJUnitTest(__test, __test.test_parseArgumentList_empty);
5019 });
5020 _ut.test('test_parseArgumentList_mixed', () {
5021 final __test = new SimpleParserTest();
5022 runJUnitTest(__test, __test.test_parseArgumentList_mixed);
5023 });
5024 _ut.test('test_parseArgumentList_noNamed', () {
5025 final __test = new SimpleParserTest();
5026 runJUnitTest(__test, __test.test_parseArgumentList_noNamed);
5027 });
5028 _ut.test('test_parseArgumentList_onlyNamed', () {
5029 final __test = new SimpleParserTest();
5030 runJUnitTest(__test, __test.test_parseArgumentList_onlyNamed);
5031 });
5032 _ut.test('test_parseArgument_named', () {
5033 final __test = new SimpleParserTest();
5034 runJUnitTest(__test, __test.test_parseArgument_named);
5035 });
5036 _ut.test('test_parseArgument_unnamed', () {
5037 final __test = new SimpleParserTest();
5038 runJUnitTest(__test, __test.test_parseArgument_unnamed);
5039 });
5040 _ut.test('test_parseAssertStatement', () {
5041 final __test = new SimpleParserTest();
5042 runJUnitTest(__test, __test.test_parseAssertStatement);
5043 });
5044 _ut.test('test_parseAssignableExpression_expression_args_dot', () {
5045 final __test = new SimpleParserTest();
5046 runJUnitTest(__test, __test.test_parseAssignableExpression_expression_ar gs_dot);
5047 });
5048 _ut.test('test_parseAssignableExpression_expression_dot', () {
5049 final __test = new SimpleParserTest();
5050 runJUnitTest(__test, __test.test_parseAssignableExpression_expression_do t);
5051 });
5052 _ut.test('test_parseAssignableExpression_expression_index', () {
5053 final __test = new SimpleParserTest();
5054 runJUnitTest(__test, __test.test_parseAssignableExpression_expression_in dex);
5055 });
5056 _ut.test('test_parseAssignableExpression_identifier', () {
5057 final __test = new SimpleParserTest();
5058 runJUnitTest(__test, __test.test_parseAssignableExpression_identifier);
5059 });
5060 _ut.test('test_parseAssignableExpression_identifier_args_dot', () {
5061 final __test = new SimpleParserTest();
5062 runJUnitTest(__test, __test.test_parseAssignableExpression_identifier_ar gs_dot);
5063 });
5064 _ut.test('test_parseAssignableExpression_identifier_dot', () {
5065 final __test = new SimpleParserTest();
5066 runJUnitTest(__test, __test.test_parseAssignableExpression_identifier_do t);
5067 });
5068 _ut.test('test_parseAssignableExpression_identifier_index', () {
5069 final __test = new SimpleParserTest();
5070 runJUnitTest(__test, __test.test_parseAssignableExpression_identifier_in dex);
5071 });
5072 _ut.test('test_parseAssignableExpression_super_dot', () {
5073 final __test = new SimpleParserTest();
5074 runJUnitTest(__test, __test.test_parseAssignableExpression_super_dot);
5075 });
5076 _ut.test('test_parseAssignableExpression_super_index', () {
5077 final __test = new SimpleParserTest();
5078 runJUnitTest(__test, __test.test_parseAssignableExpression_super_index);
5079 });
5080 _ut.test('test_parseAssignableSelector_dot', () {
5081 final __test = new SimpleParserTest();
5082 runJUnitTest(__test, __test.test_parseAssignableSelector_dot);
5083 });
5084 _ut.test('test_parseAssignableSelector_index', () {
5085 final __test = new SimpleParserTest();
5086 runJUnitTest(__test, __test.test_parseAssignableSelector_index);
5087 });
5088 _ut.test('test_parseAssignableSelector_none', () {
5089 final __test = new SimpleParserTest();
5090 runJUnitTest(__test, __test.test_parseAssignableSelector_none);
5091 });
5092 _ut.test('test_parseBitwiseAndExpression_normal', () {
5093 final __test = new SimpleParserTest();
5094 runJUnitTest(__test, __test.test_parseBitwiseAndExpression_normal);
5095 });
5096 _ut.test('test_parseBitwiseAndExpression_super', () {
5097 final __test = new SimpleParserTest();
5098 runJUnitTest(__test, __test.test_parseBitwiseAndExpression_super);
5099 });
5100 _ut.test('test_parseBitwiseOrExpression_normal', () {
5101 final __test = new SimpleParserTest();
5102 runJUnitTest(__test, __test.test_parseBitwiseOrExpression_normal);
5103 });
5104 _ut.test('test_parseBitwiseOrExpression_super', () {
5105 final __test = new SimpleParserTest();
5106 runJUnitTest(__test, __test.test_parseBitwiseOrExpression_super);
5107 });
5108 _ut.test('test_parseBitwiseXorExpression_normal', () {
5109 final __test = new SimpleParserTest();
5110 runJUnitTest(__test, __test.test_parseBitwiseXorExpression_normal);
5111 });
5112 _ut.test('test_parseBitwiseXorExpression_super', () {
5113 final __test = new SimpleParserTest();
5114 runJUnitTest(__test, __test.test_parseBitwiseXorExpression_super);
5115 });
5116 _ut.test('test_parseBlock_empty', () {
5117 final __test = new SimpleParserTest();
5118 runJUnitTest(__test, __test.test_parseBlock_empty);
5119 });
5120 _ut.test('test_parseBlock_nonEmpty', () {
5121 final __test = new SimpleParserTest();
5122 runJUnitTest(__test, __test.test_parseBlock_nonEmpty);
5123 });
5124 _ut.test('test_parseBreakStatement_label', () {
5125 final __test = new SimpleParserTest();
5126 runJUnitTest(__test, __test.test_parseBreakStatement_label);
5127 });
5128 _ut.test('test_parseBreakStatement_noLabel', () {
5129 final __test = new SimpleParserTest();
5130 runJUnitTest(__test, __test.test_parseBreakStatement_noLabel);
5131 });
5132 _ut.test('test_parseCascadeSection_i', () {
5133 final __test = new SimpleParserTest();
5134 runJUnitTest(__test, __test.test_parseCascadeSection_i);
5135 });
5136 _ut.test('test_parseCascadeSection_ia', () {
5137 final __test = new SimpleParserTest();
5138 runJUnitTest(__test, __test.test_parseCascadeSection_ia);
5139 });
5140 _ut.test('test_parseCascadeSection_ii', () {
5141 final __test = new SimpleParserTest();
5142 runJUnitTest(__test, __test.test_parseCascadeSection_ii);
5143 });
5144 _ut.test('test_parseCascadeSection_p', () {
5145 final __test = new SimpleParserTest();
5146 runJUnitTest(__test, __test.test_parseCascadeSection_p);
5147 });
5148 _ut.test('test_parseCascadeSection_p_assign', () {
5149 final __test = new SimpleParserTest();
5150 runJUnitTest(__test, __test.test_parseCascadeSection_p_assign);
5151 });
5152 _ut.test('test_parseCascadeSection_p_assign_withCascade', () {
5153 final __test = new SimpleParserTest();
5154 runJUnitTest(__test, __test.test_parseCascadeSection_p_assign_withCascad e);
5155 });
5156 _ut.test('test_parseCascadeSection_p_builtIn', () {
5157 final __test = new SimpleParserTest();
5158 runJUnitTest(__test, __test.test_parseCascadeSection_p_builtIn);
5159 });
5160 _ut.test('test_parseCascadeSection_pa', () {
5161 final __test = new SimpleParserTest();
5162 runJUnitTest(__test, __test.test_parseCascadeSection_pa);
5163 });
5164 _ut.test('test_parseCascadeSection_paa', () {
5165 final __test = new SimpleParserTest();
5166 runJUnitTest(__test, __test.test_parseCascadeSection_paa);
5167 });
5168 _ut.test('test_parseCascadeSection_paapaa', () {
5169 final __test = new SimpleParserTest();
5170 runJUnitTest(__test, __test.test_parseCascadeSection_paapaa);
5171 });
5172 _ut.test('test_parseCascadeSection_pap', () {
5173 final __test = new SimpleParserTest();
5174 runJUnitTest(__test, __test.test_parseCascadeSection_pap);
5175 });
5176 _ut.test('test_parseClassDeclaration_abstract', () {
5177 final __test = new SimpleParserTest();
5178 runJUnitTest(__test, __test.test_parseClassDeclaration_abstract);
5179 });
5180 _ut.test('test_parseClassDeclaration_empty', () {
5181 final __test = new SimpleParserTest();
5182 runJUnitTest(__test, __test.test_parseClassDeclaration_empty);
5183 });
5184 _ut.test('test_parseClassDeclaration_extends', () {
5185 final __test = new SimpleParserTest();
5186 runJUnitTest(__test, __test.test_parseClassDeclaration_extends);
5187 });
5188 _ut.test('test_parseClassDeclaration_extendsAndImplements', () {
5189 final __test = new SimpleParserTest();
5190 runJUnitTest(__test, __test.test_parseClassDeclaration_extendsAndImpleme nts);
5191 });
5192 _ut.test('test_parseClassDeclaration_extendsAndWith', () {
5193 final __test = new SimpleParserTest();
5194 runJUnitTest(__test, __test.test_parseClassDeclaration_extendsAndWith);
5195 });
5196 _ut.test('test_parseClassDeclaration_extendsAndWithAndImplements', () {
5197 final __test = new SimpleParserTest();
5198 runJUnitTest(__test, __test.test_parseClassDeclaration_extendsAndWithAnd Implements);
5199 });
5200 _ut.test('test_parseClassDeclaration_implements', () {
5201 final __test = new SimpleParserTest();
5202 runJUnitTest(__test, __test.test_parseClassDeclaration_implements);
5203 });
5204 _ut.test('test_parseClassDeclaration_native', () {
5205 final __test = new SimpleParserTest();
5206 runJUnitTest(__test, __test.test_parseClassDeclaration_native);
5207 });
5208 _ut.test('test_parseClassDeclaration_nonEmpty', () {
5209 final __test = new SimpleParserTest();
5210 runJUnitTest(__test, __test.test_parseClassDeclaration_nonEmpty);
5211 });
5212 _ut.test('test_parseClassDeclaration_typeAlias_implementsC', () {
5213 final __test = new SimpleParserTest();
5214 runJUnitTest(__test, __test.test_parseClassDeclaration_typeAlias_impleme ntsC);
5215 });
5216 _ut.test('test_parseClassDeclaration_typeAlias_withB', () {
5217 final __test = new SimpleParserTest();
5218 runJUnitTest(__test, __test.test_parseClassDeclaration_typeAlias_withB);
5219 });
5220 _ut.test('test_parseClassDeclaration_typeParameters', () {
5221 final __test = new SimpleParserTest();
5222 runJUnitTest(__test, __test.test_parseClassDeclaration_typeParameters);
5223 });
5224 _ut.test('test_parseClassMember_constructor_withInitializers', () {
5225 final __test = new SimpleParserTest();
5226 runJUnitTest(__test, __test.test_parseClassMember_constructor_withInitia lizers);
5227 });
5228 _ut.test('test_parseClassMember_field_instance_prefixedType', () {
5229 final __test = new SimpleParserTest();
5230 runJUnitTest(__test, __test.test_parseClassMember_field_instance_prefixe dType);
5231 });
5232 _ut.test('test_parseClassMember_field_namedGet', () {
5233 final __test = new SimpleParserTest();
5234 runJUnitTest(__test, __test.test_parseClassMember_field_namedGet);
5235 });
5236 _ut.test('test_parseClassMember_field_namedOperator', () {
5237 final __test = new SimpleParserTest();
5238 runJUnitTest(__test, __test.test_parseClassMember_field_namedOperator);
5239 });
5240 _ut.test('test_parseClassMember_field_namedOperator_withAssignment', () {
5241 final __test = new SimpleParserTest();
5242 runJUnitTest(__test, __test.test_parseClassMember_field_namedOperator_wi thAssignment);
5243 });
5244 _ut.test('test_parseClassMember_field_namedSet', () {
5245 final __test = new SimpleParserTest();
5246 runJUnitTest(__test, __test.test_parseClassMember_field_namedSet);
5247 });
5248 _ut.test('test_parseClassMember_getter_void', () {
5249 final __test = new SimpleParserTest();
5250 runJUnitTest(__test, __test.test_parseClassMember_getter_void);
5251 });
5252 _ut.test('test_parseClassMember_method_external', () {
5253 final __test = new SimpleParserTest();
5254 runJUnitTest(__test, __test.test_parseClassMember_method_external);
5255 });
5256 _ut.test('test_parseClassMember_method_external_withTypeAndArgs', () {
5257 final __test = new SimpleParserTest();
5258 runJUnitTest(__test, __test.test_parseClassMember_method_external_withTy peAndArgs);
5259 });
5260 _ut.test('test_parseClassMember_method_get_noType', () {
5261 final __test = new SimpleParserTest();
5262 runJUnitTest(__test, __test.test_parseClassMember_method_get_noType);
5263 });
5264 _ut.test('test_parseClassMember_method_get_type', () {
5265 final __test = new SimpleParserTest();
5266 runJUnitTest(__test, __test.test_parseClassMember_method_get_type);
5267 });
5268 _ut.test('test_parseClassMember_method_get_void', () {
5269 final __test = new SimpleParserTest();
5270 runJUnitTest(__test, __test.test_parseClassMember_method_get_void);
5271 });
5272 _ut.test('test_parseClassMember_method_operator_noType', () {
5273 final __test = new SimpleParserTest();
5274 runJUnitTest(__test, __test.test_parseClassMember_method_operator_noType );
5275 });
5276 _ut.test('test_parseClassMember_method_operator_type', () {
5277 final __test = new SimpleParserTest();
5278 runJUnitTest(__test, __test.test_parseClassMember_method_operator_type);
5279 });
5280 _ut.test('test_parseClassMember_method_operator_void', () {
5281 final __test = new SimpleParserTest();
5282 runJUnitTest(__test, __test.test_parseClassMember_method_operator_void);
5283 });
5284 _ut.test('test_parseClassMember_method_returnType_parameterized', () {
5285 final __test = new SimpleParserTest();
5286 runJUnitTest(__test, __test.test_parseClassMember_method_returnType_para meterized);
5287 });
5288 _ut.test('test_parseClassMember_method_set_noType', () {
5289 final __test = new SimpleParserTest();
5290 runJUnitTest(__test, __test.test_parseClassMember_method_set_noType);
5291 });
5292 _ut.test('test_parseClassMember_method_set_type', () {
5293 final __test = new SimpleParserTest();
5294 runJUnitTest(__test, __test.test_parseClassMember_method_set_type);
5295 });
5296 _ut.test('test_parseClassMember_method_set_void', () {
5297 final __test = new SimpleParserTest();
5298 runJUnitTest(__test, __test.test_parseClassMember_method_set_void);
5299 });
5300 _ut.test('test_parseClassMember_operator_index', () {
5301 final __test = new SimpleParserTest();
5302 runJUnitTest(__test, __test.test_parseClassMember_operator_index);
5303 });
5304 _ut.test('test_parseClassMember_operator_indexAssign', () {
5305 final __test = new SimpleParserTest();
5306 runJUnitTest(__test, __test.test_parseClassMember_operator_indexAssign);
5307 });
5308 _ut.test('test_parseClassMember_redirectingFactory_const', () {
5309 final __test = new SimpleParserTest();
5310 runJUnitTest(__test, __test.test_parseClassMember_redirectingFactory_con st);
5311 });
5312 _ut.test('test_parseClassMember_redirectingFactory_nonConst', () {
5313 final __test = new SimpleParserTest();
5314 runJUnitTest(__test, __test.test_parseClassMember_redirectingFactory_non Const);
5315 });
5316 _ut.test('test_parseClassTypeAlias_abstract', () {
5317 final __test = new SimpleParserTest();
5318 runJUnitTest(__test, __test.test_parseClassTypeAlias_abstract);
5319 });
5320 _ut.test('test_parseClassTypeAlias_implements', () {
5321 final __test = new SimpleParserTest();
5322 runJUnitTest(__test, __test.test_parseClassTypeAlias_implements);
5323 });
5324 _ut.test('test_parseClassTypeAlias_with', () {
5325 final __test = new SimpleParserTest();
5326 runJUnitTest(__test, __test.test_parseClassTypeAlias_with);
5327 });
5328 _ut.test('test_parseClassTypeAlias_with_implements', () {
5329 final __test = new SimpleParserTest();
5330 runJUnitTest(__test, __test.test_parseClassTypeAlias_with_implements);
5331 });
5332 _ut.test('test_parseCombinators_h', () {
5333 final __test = new SimpleParserTest();
5334 runJUnitTest(__test, __test.test_parseCombinators_h);
5335 });
5336 _ut.test('test_parseCombinators_hs', () {
5337 final __test = new SimpleParserTest();
5338 runJUnitTest(__test, __test.test_parseCombinators_hs);
5339 });
5340 _ut.test('test_parseCombinators_hshs', () {
5341 final __test = new SimpleParserTest();
5342 runJUnitTest(__test, __test.test_parseCombinators_hshs);
5343 });
5344 _ut.test('test_parseCombinators_s', () {
5345 final __test = new SimpleParserTest();
5346 runJUnitTest(__test, __test.test_parseCombinators_s);
5347 });
5348 _ut.test('test_parseCommentAndMetadata_c', () {
5349 final __test = new SimpleParserTest();
5350 runJUnitTest(__test, __test.test_parseCommentAndMetadata_c);
5351 });
5352 _ut.test('test_parseCommentAndMetadata_cmc', () {
5353 final __test = new SimpleParserTest();
5354 runJUnitTest(__test, __test.test_parseCommentAndMetadata_cmc);
5355 });
5356 _ut.test('test_parseCommentAndMetadata_cmcm', () {
5357 final __test = new SimpleParserTest();
5358 runJUnitTest(__test, __test.test_parseCommentAndMetadata_cmcm);
5359 });
5360 _ut.test('test_parseCommentAndMetadata_cmm', () {
5361 final __test = new SimpleParserTest();
5362 runJUnitTest(__test, __test.test_parseCommentAndMetadata_cmm);
5363 });
5364 _ut.test('test_parseCommentAndMetadata_m', () {
5365 final __test = new SimpleParserTest();
5366 runJUnitTest(__test, __test.test_parseCommentAndMetadata_m);
5367 });
5368 _ut.test('test_parseCommentAndMetadata_mcm', () {
5369 final __test = new SimpleParserTest();
5370 runJUnitTest(__test, __test.test_parseCommentAndMetadata_mcm);
5371 });
5372 _ut.test('test_parseCommentAndMetadata_mcmc', () {
5373 final __test = new SimpleParserTest();
5374 runJUnitTest(__test, __test.test_parseCommentAndMetadata_mcmc);
5375 });
5376 _ut.test('test_parseCommentAndMetadata_mm', () {
5377 final __test = new SimpleParserTest();
5378 runJUnitTest(__test, __test.test_parseCommentAndMetadata_mm);
5379 });
5380 _ut.test('test_parseCommentAndMetadata_none', () {
5381 final __test = new SimpleParserTest();
5382 runJUnitTest(__test, __test.test_parseCommentAndMetadata_none);
5383 });
5384 _ut.test('test_parseCommentAndMetadata_singleLine', () {
5385 final __test = new SimpleParserTest();
5386 runJUnitTest(__test, __test.test_parseCommentAndMetadata_singleLine);
5387 });
5388 _ut.test('test_parseCommentReference_new_prefixed', () {
5389 final __test = new SimpleParserTest();
5390 runJUnitTest(__test, __test.test_parseCommentReference_new_prefixed);
5391 });
5392 _ut.test('test_parseCommentReference_new_simple', () {
5393 final __test = new SimpleParserTest();
5394 runJUnitTest(__test, __test.test_parseCommentReference_new_simple);
5395 });
5396 _ut.test('test_parseCommentReference_prefixed', () {
5397 final __test = new SimpleParserTest();
5398 runJUnitTest(__test, __test.test_parseCommentReference_prefixed);
5399 });
5400 _ut.test('test_parseCommentReference_simple', () {
5401 final __test = new SimpleParserTest();
5402 runJUnitTest(__test, __test.test_parseCommentReference_simple);
5403 });
5404 _ut.test('test_parseCommentReference_synthetic', () {
5405 final __test = new SimpleParserTest();
5406 runJUnitTest(__test, __test.test_parseCommentReference_synthetic);
5407 });
5408 _ut.test('test_parseCommentReferences_multiLine', () {
5409 final __test = new SimpleParserTest();
5410 runJUnitTest(__test, __test.test_parseCommentReferences_multiLine);
5411 });
5412 _ut.test('test_parseCommentReferences_notClosed_noIdentifier', () {
5413 final __test = new SimpleParserTest();
5414 runJUnitTest(__test, __test.test_parseCommentReferences_notClosed_noIden tifier);
5415 });
5416 _ut.test('test_parseCommentReferences_notClosed_withIdentifier', () {
5417 final __test = new SimpleParserTest();
5418 runJUnitTest(__test, __test.test_parseCommentReferences_notClosed_withId entifier);
5419 });
5420 _ut.test('test_parseCommentReferences_singleLine', () {
5421 final __test = new SimpleParserTest();
5422 runJUnitTest(__test, __test.test_parseCommentReferences_singleLine);
5423 });
5424 _ut.test('test_parseCommentReferences_skipCodeBlock_bracketed', () {
5425 final __test = new SimpleParserTest();
5426 runJUnitTest(__test, __test.test_parseCommentReferences_skipCodeBlock_br acketed);
5427 });
5428 _ut.test('test_parseCommentReferences_skipCodeBlock_spaces', () {
5429 final __test = new SimpleParserTest();
5430 runJUnitTest(__test, __test.test_parseCommentReferences_skipCodeBlock_sp aces);
5431 });
5432 _ut.test('test_parseCommentReferences_skipLinkDefinition', () {
5433 final __test = new SimpleParserTest();
5434 runJUnitTest(__test, __test.test_parseCommentReferences_skipLinkDefiniti on);
5435 });
5436 _ut.test('test_parseCommentReferences_skipLinked', () {
5437 final __test = new SimpleParserTest();
5438 runJUnitTest(__test, __test.test_parseCommentReferences_skipLinked);
5439 });
5440 _ut.test('test_parseCommentReferences_skipReferenceLink', () {
5441 final __test = new SimpleParserTest();
5442 runJUnitTest(__test, __test.test_parseCommentReferences_skipReferenceLin k);
5443 });
5444 _ut.test('test_parseCompilationUnitMember_abstractAsPrefix', () {
5445 final __test = new SimpleParserTest();
5446 runJUnitTest(__test, __test.test_parseCompilationUnitMember_abstractAsPr efix);
5447 });
5448 _ut.test('test_parseCompilationUnitMember_class', () {
5449 final __test = new SimpleParserTest();
5450 runJUnitTest(__test, __test.test_parseCompilationUnitMember_class);
5451 });
5452 _ut.test('test_parseCompilationUnitMember_classTypeAlias', () {
5453 final __test = new SimpleParserTest();
5454 runJUnitTest(__test, __test.test_parseCompilationUnitMember_classTypeAli as);
5455 });
5456 _ut.test('test_parseCompilationUnitMember_constVariable', () {
5457 final __test = new SimpleParserTest();
5458 runJUnitTest(__test, __test.test_parseCompilationUnitMember_constVariabl e);
5459 });
5460 _ut.test('test_parseCompilationUnitMember_finalVariable', () {
5461 final __test = new SimpleParserTest();
5462 runJUnitTest(__test, __test.test_parseCompilationUnitMember_finalVariabl e);
5463 });
5464 _ut.test('test_parseCompilationUnitMember_function_external_noType', () {
5465 final __test = new SimpleParserTest();
5466 runJUnitTest(__test, __test.test_parseCompilationUnitMember_function_ext ernal_noType);
5467 });
5468 _ut.test('test_parseCompilationUnitMember_function_external_type', () {
5469 final __test = new SimpleParserTest();
5470 runJUnitTest(__test, __test.test_parseCompilationUnitMember_function_ext ernal_type);
5471 });
5472 _ut.test('test_parseCompilationUnitMember_function_noType', () {
5473 final __test = new SimpleParserTest();
5474 runJUnitTest(__test, __test.test_parseCompilationUnitMember_function_noT ype);
5475 });
5476 _ut.test('test_parseCompilationUnitMember_function_type', () {
5477 final __test = new SimpleParserTest();
5478 runJUnitTest(__test, __test.test_parseCompilationUnitMember_function_typ e);
5479 });
5480 _ut.test('test_parseCompilationUnitMember_function_void', () {
5481 final __test = new SimpleParserTest();
5482 runJUnitTest(__test, __test.test_parseCompilationUnitMember_function_voi d);
5483 });
5484 _ut.test('test_parseCompilationUnitMember_getter_external_noType', () {
5485 final __test = new SimpleParserTest();
5486 runJUnitTest(__test, __test.test_parseCompilationUnitMember_getter_exter nal_noType);
5487 });
5488 _ut.test('test_parseCompilationUnitMember_getter_external_type', () {
5489 final __test = new SimpleParserTest();
5490 runJUnitTest(__test, __test.test_parseCompilationUnitMember_getter_exter nal_type);
5491 });
5492 _ut.test('test_parseCompilationUnitMember_getter_noType', () {
5493 final __test = new SimpleParserTest();
5494 runJUnitTest(__test, __test.test_parseCompilationUnitMember_getter_noTyp e);
5495 });
5496 _ut.test('test_parseCompilationUnitMember_getter_type', () {
5497 final __test = new SimpleParserTest();
5498 runJUnitTest(__test, __test.test_parseCompilationUnitMember_getter_type) ;
5499 });
5500 _ut.test('test_parseCompilationUnitMember_setter_external_noType', () {
5501 final __test = new SimpleParserTest();
5502 runJUnitTest(__test, __test.test_parseCompilationUnitMember_setter_exter nal_noType);
5503 });
5504 _ut.test('test_parseCompilationUnitMember_setter_external_type', () {
5505 final __test = new SimpleParserTest();
5506 runJUnitTest(__test, __test.test_parseCompilationUnitMember_setter_exter nal_type);
5507 });
5508 _ut.test('test_parseCompilationUnitMember_setter_noType', () {
5509 final __test = new SimpleParserTest();
5510 runJUnitTest(__test, __test.test_parseCompilationUnitMember_setter_noTyp e);
5511 });
5512 _ut.test('test_parseCompilationUnitMember_setter_type', () {
5513 final __test = new SimpleParserTest();
5514 runJUnitTest(__test, __test.test_parseCompilationUnitMember_setter_type) ;
5515 });
5516 _ut.test('test_parseCompilationUnitMember_typeAlias_abstract', () {
5517 final __test = new SimpleParserTest();
5518 runJUnitTest(__test, __test.test_parseCompilationUnitMember_typeAlias_ab stract);
5519 });
5520 _ut.test('test_parseCompilationUnitMember_typeAlias_generic', () {
5521 final __test = new SimpleParserTest();
5522 runJUnitTest(__test, __test.test_parseCompilationUnitMember_typeAlias_ge neric);
5523 });
5524 _ut.test('test_parseCompilationUnitMember_typeAlias_implements', () {
5525 final __test = new SimpleParserTest();
5526 runJUnitTest(__test, __test.test_parseCompilationUnitMember_typeAlias_im plements);
5527 });
5528 _ut.test('test_parseCompilationUnitMember_typeAlias_noImplements', () {
5529 final __test = new SimpleParserTest();
5530 runJUnitTest(__test, __test.test_parseCompilationUnitMember_typeAlias_no Implements);
5531 });
5532 _ut.test('test_parseCompilationUnitMember_typedef', () {
5533 final __test = new SimpleParserTest();
5534 runJUnitTest(__test, __test.test_parseCompilationUnitMember_typedef);
5535 });
5536 _ut.test('test_parseCompilationUnitMember_variable', () {
5537 final __test = new SimpleParserTest();
5538 runJUnitTest(__test, __test.test_parseCompilationUnitMember_variable);
5539 });
5540 _ut.test('test_parseCompilationUnitMember_variableGet', () {
5541 final __test = new SimpleParserTest();
5542 runJUnitTest(__test, __test.test_parseCompilationUnitMember_variableGet) ;
5543 });
5544 _ut.test('test_parseCompilationUnitMember_variableSet', () {
5545 final __test = new SimpleParserTest();
5546 runJUnitTest(__test, __test.test_parseCompilationUnitMember_variableSet) ;
5547 });
5548 _ut.test('test_parseCompilationUnit_abstractAsPrefix_parameterized', () {
5549 final __test = new SimpleParserTest();
5550 runJUnitTest(__test, __test.test_parseCompilationUnit_abstractAsPrefix_p arameterized);
5551 });
5552 _ut.test('test_parseCompilationUnit_builtIn_asFunctionName', () {
5553 final __test = new SimpleParserTest();
5554 runJUnitTest(__test, __test.test_parseCompilationUnit_builtIn_asFunction Name);
5555 });
5556 _ut.test('test_parseCompilationUnit_directives_multiple', () {
5557 final __test = new SimpleParserTest();
5558 runJUnitTest(__test, __test.test_parseCompilationUnit_directives_multipl e);
5559 });
5560 _ut.test('test_parseCompilationUnit_directives_single', () {
5561 final __test = new SimpleParserTest();
5562 runJUnitTest(__test, __test.test_parseCompilationUnit_directives_single) ;
5563 });
5564 _ut.test('test_parseCompilationUnit_empty', () {
5565 final __test = new SimpleParserTest();
5566 runJUnitTest(__test, __test.test_parseCompilationUnit_empty);
5567 });
5568 _ut.test('test_parseCompilationUnit_exportAsPrefix', () {
5569 final __test = new SimpleParserTest();
5570 runJUnitTest(__test, __test.test_parseCompilationUnit_exportAsPrefix);
5571 });
5572 _ut.test('test_parseCompilationUnit_exportAsPrefix_parameterized', () {
5573 final __test = new SimpleParserTest();
5574 runJUnitTest(__test, __test.test_parseCompilationUnit_exportAsPrefix_par ameterized);
5575 });
5576 _ut.test('test_parseCompilationUnit_operatorAsPrefix_parameterized', () {
5577 final __test = new SimpleParserTest();
5578 runJUnitTest(__test, __test.test_parseCompilationUnit_operatorAsPrefix_p arameterized);
5579 });
5580 _ut.test('test_parseCompilationUnit_script', () {
5581 final __test = new SimpleParserTest();
5582 runJUnitTest(__test, __test.test_parseCompilationUnit_script);
5583 });
5584 _ut.test('test_parseCompilationUnit_skipFunctionBody_withInterpolation', ( ) {
5585 final __test = new SimpleParserTest();
5586 runJUnitTest(__test, __test.test_parseCompilationUnit_skipFunctionBody_w ithInterpolation);
5587 });
5588 _ut.test('test_parseCompilationUnit_topLevelDeclaration', () {
5589 final __test = new SimpleParserTest();
5590 runJUnitTest(__test, __test.test_parseCompilationUnit_topLevelDeclaratio n);
5591 });
5592 _ut.test('test_parseCompilationUnit_typedefAsPrefix', () {
5593 final __test = new SimpleParserTest();
5594 runJUnitTest(__test, __test.test_parseCompilationUnit_typedefAsPrefix);
5595 });
5596 _ut.test('test_parseConditionalExpression', () {
5597 final __test = new SimpleParserTest();
5598 runJUnitTest(__test, __test.test_parseConditionalExpression);
5599 });
5600 _ut.test('test_parseConstExpression_instanceCreation', () {
5601 final __test = new SimpleParserTest();
5602 runJUnitTest(__test, __test.test_parseConstExpression_instanceCreation);
5603 });
5604 _ut.test('test_parseConstExpression_listLiteral_typed', () {
5605 final __test = new SimpleParserTest();
5606 runJUnitTest(__test, __test.test_parseConstExpression_listLiteral_typed) ;
5607 });
5608 _ut.test('test_parseConstExpression_listLiteral_untyped', () {
5609 final __test = new SimpleParserTest();
5610 runJUnitTest(__test, __test.test_parseConstExpression_listLiteral_untype d);
5611 });
5612 _ut.test('test_parseConstExpression_mapLiteral_typed', () {
5613 final __test = new SimpleParserTest();
5614 runJUnitTest(__test, __test.test_parseConstExpression_mapLiteral_typed);
5615 });
5616 _ut.test('test_parseConstExpression_mapLiteral_untyped', () {
5617 final __test = new SimpleParserTest();
5618 runJUnitTest(__test, __test.test_parseConstExpression_mapLiteral_untyped );
5619 });
5620 _ut.test('test_parseConstructor', () {
5621 final __test = new SimpleParserTest();
5622 runJUnitTest(__test, __test.test_parseConstructor);
5623 });
5624 _ut.test('test_parseConstructorFieldInitializer_qualified', () {
5625 final __test = new SimpleParserTest();
5626 runJUnitTest(__test, __test.test_parseConstructorFieldInitializer_qualif ied);
5627 });
5628 _ut.test('test_parseConstructorFieldInitializer_unqualified', () {
5629 final __test = new SimpleParserTest();
5630 runJUnitTest(__test, __test.test_parseConstructorFieldInitializer_unqual ified);
5631 });
5632 _ut.test('test_parseConstructorName_named_noPrefix', () {
5633 final __test = new SimpleParserTest();
5634 runJUnitTest(__test, __test.test_parseConstructorName_named_noPrefix);
5635 });
5636 _ut.test('test_parseConstructorName_named_prefixed', () {
5637 final __test = new SimpleParserTest();
5638 runJUnitTest(__test, __test.test_parseConstructorName_named_prefixed);
5639 });
5640 _ut.test('test_parseConstructorName_unnamed_noPrefix', () {
5641 final __test = new SimpleParserTest();
5642 runJUnitTest(__test, __test.test_parseConstructorName_unnamed_noPrefix);
5643 });
5644 _ut.test('test_parseConstructorName_unnamed_prefixed', () {
5645 final __test = new SimpleParserTest();
5646 runJUnitTest(__test, __test.test_parseConstructorName_unnamed_prefixed);
5647 });
5648 _ut.test('test_parseConstructor_with_pseudo_function_literal', () {
5649 final __test = new SimpleParserTest();
5650 runJUnitTest(__test, __test.test_parseConstructor_with_pseudo_function_l iteral);
5651 });
5652 _ut.test('test_parseContinueStatement_label', () {
5653 final __test = new SimpleParserTest();
5654 runJUnitTest(__test, __test.test_parseContinueStatement_label);
5655 });
5656 _ut.test('test_parseContinueStatement_noLabel', () {
5657 final __test = new SimpleParserTest();
5658 runJUnitTest(__test, __test.test_parseContinueStatement_noLabel);
5659 });
5660 _ut.test('test_parseDirective_export', () {
5661 final __test = new SimpleParserTest();
5662 runJUnitTest(__test, __test.test_parseDirective_export);
5663 });
5664 _ut.test('test_parseDirective_import', () {
5665 final __test = new SimpleParserTest();
5666 runJUnitTest(__test, __test.test_parseDirective_import);
5667 });
5668 _ut.test('test_parseDirective_library', () {
5669 final __test = new SimpleParserTest();
5670 runJUnitTest(__test, __test.test_parseDirective_library);
5671 });
5672 _ut.test('test_parseDirective_part', () {
5673 final __test = new SimpleParserTest();
5674 runJUnitTest(__test, __test.test_parseDirective_part);
5675 });
5676 _ut.test('test_parseDirective_partOf', () {
5677 final __test = new SimpleParserTest();
5678 runJUnitTest(__test, __test.test_parseDirective_partOf);
5679 });
5680 _ut.test('test_parseDirectives_complete', () {
5681 final __test = new SimpleParserTest();
5682 runJUnitTest(__test, __test.test_parseDirectives_complete);
5683 });
5684 _ut.test('test_parseDirectives_empty', () {
5685 final __test = new SimpleParserTest();
5686 runJUnitTest(__test, __test.test_parseDirectives_empty);
5687 });
5688 _ut.test('test_parseDirectives_mixed', () {
5689 final __test = new SimpleParserTest();
5690 runJUnitTest(__test, __test.test_parseDirectives_mixed);
5691 });
5692 _ut.test('test_parseDirectives_multiple', () {
5693 final __test = new SimpleParserTest();
5694 runJUnitTest(__test, __test.test_parseDirectives_multiple);
5695 });
5696 _ut.test('test_parseDirectives_script', () {
5697 final __test = new SimpleParserTest();
5698 runJUnitTest(__test, __test.test_parseDirectives_script);
5699 });
5700 _ut.test('test_parseDirectives_single', () {
5701 final __test = new SimpleParserTest();
5702 runJUnitTest(__test, __test.test_parseDirectives_single);
5703 });
5704 _ut.test('test_parseDirectives_topLevelDeclaration', () {
5705 final __test = new SimpleParserTest();
5706 runJUnitTest(__test, __test.test_parseDirectives_topLevelDeclaration);
5707 });
5708 _ut.test('test_parseDoStatement', () {
5709 final __test = new SimpleParserTest();
5710 runJUnitTest(__test, __test.test_parseDoStatement);
5711 });
5712 _ut.test('test_parseDocumentationComment_block', () {
5713 final __test = new SimpleParserTest();
5714 runJUnitTest(__test, __test.test_parseDocumentationComment_block);
5715 });
5716 _ut.test('test_parseDocumentationComment_block_withReference', () {
5717 final __test = new SimpleParserTest();
5718 runJUnitTest(__test, __test.test_parseDocumentationComment_block_withRef erence);
5719 });
5720 _ut.test('test_parseDocumentationComment_endOfLine', () {
5721 final __test = new SimpleParserTest();
5722 runJUnitTest(__test, __test.test_parseDocumentationComment_endOfLine);
5723 });
5724 _ut.test('test_parseEmptyStatement', () {
5725 final __test = new SimpleParserTest();
5726 runJUnitTest(__test, __test.test_parseEmptyStatement);
5727 });
5728 _ut.test('test_parseEqualityExpression_normal', () {
5729 final __test = new SimpleParserTest();
5730 runJUnitTest(__test, __test.test_parseEqualityExpression_normal);
5731 });
5732 _ut.test('test_parseEqualityExpression_super', () {
5733 final __test = new SimpleParserTest();
5734 runJUnitTest(__test, __test.test_parseEqualityExpression_super);
5735 });
5736 _ut.test('test_parseExportDirective_hide', () {
5737 final __test = new SimpleParserTest();
5738 runJUnitTest(__test, __test.test_parseExportDirective_hide);
5739 });
5740 _ut.test('test_parseExportDirective_hide_show', () {
5741 final __test = new SimpleParserTest();
5742 runJUnitTest(__test, __test.test_parseExportDirective_hide_show);
5743 });
5744 _ut.test('test_parseExportDirective_noCombinator', () {
5745 final __test = new SimpleParserTest();
5746 runJUnitTest(__test, __test.test_parseExportDirective_noCombinator);
5747 });
5748 _ut.test('test_parseExportDirective_show', () {
5749 final __test = new SimpleParserTest();
5750 runJUnitTest(__test, __test.test_parseExportDirective_show);
5751 });
5752 _ut.test('test_parseExportDirective_show_hide', () {
5753 final __test = new SimpleParserTest();
5754 runJUnitTest(__test, __test.test_parseExportDirective_show_hide);
5755 });
5756 _ut.test('test_parseExpressionList_multiple', () {
5757 final __test = new SimpleParserTest();
5758 runJUnitTest(__test, __test.test_parseExpressionList_multiple);
5759 });
5760 _ut.test('test_parseExpressionList_single', () {
5761 final __test = new SimpleParserTest();
5762 runJUnitTest(__test, __test.test_parseExpressionList_single);
5763 });
5764 _ut.test('test_parseExpressionWithoutCascade_assign', () {
5765 final __test = new SimpleParserTest();
5766 runJUnitTest(__test, __test.test_parseExpressionWithoutCascade_assign);
5767 });
5768 _ut.test('test_parseExpressionWithoutCascade_comparison', () {
5769 final __test = new SimpleParserTest();
5770 runJUnitTest(__test, __test.test_parseExpressionWithoutCascade_compariso n);
5771 });
5772 _ut.test('test_parseExpressionWithoutCascade_superMethodInvocation', () {
5773 final __test = new SimpleParserTest();
5774 runJUnitTest(__test, __test.test_parseExpressionWithoutCascade_superMeth odInvocation);
5775 });
5776 _ut.test('test_parseExpression_assign', () {
5777 final __test = new SimpleParserTest();
5778 runJUnitTest(__test, __test.test_parseExpression_assign);
5779 });
5780 _ut.test('test_parseExpression_comparison', () {
5781 final __test = new SimpleParserTest();
5782 runJUnitTest(__test, __test.test_parseExpression_comparison);
5783 });
5784 _ut.test('test_parseExpression_invokeFunctionExpression', () {
5785 final __test = new SimpleParserTest();
5786 runJUnitTest(__test, __test.test_parseExpression_invokeFunctionExpressio n);
5787 });
5788 _ut.test('test_parseExpression_superMethodInvocation', () {
5789 final __test = new SimpleParserTest();
5790 runJUnitTest(__test, __test.test_parseExpression_superMethodInvocation);
5791 });
5792 _ut.test('test_parseExtendsClause', () {
5793 final __test = new SimpleParserTest();
5794 runJUnitTest(__test, __test.test_parseExtendsClause);
5795 });
5796 _ut.test('test_parseFinalConstVarOrType_const_noType', () {
5797 final __test = new SimpleParserTest();
5798 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_const_noType);
5799 });
5800 _ut.test('test_parseFinalConstVarOrType_const_type', () {
5801 final __test = new SimpleParserTest();
5802 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_const_type);
5803 });
5804 _ut.test('test_parseFinalConstVarOrType_final_noType', () {
5805 final __test = new SimpleParserTest();
5806 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_final_noType);
5807 });
5808 _ut.test('test_parseFinalConstVarOrType_final_prefixedType', () {
5809 final __test = new SimpleParserTest();
5810 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_final_prefixed Type);
5811 });
5812 _ut.test('test_parseFinalConstVarOrType_final_type', () {
5813 final __test = new SimpleParserTest();
5814 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_final_type);
5815 });
5816 _ut.test('test_parseFinalConstVarOrType_type_parameterized', () {
5817 final __test = new SimpleParserTest();
5818 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_type_parameter ized);
5819 });
5820 _ut.test('test_parseFinalConstVarOrType_type_prefixed', () {
5821 final __test = new SimpleParserTest();
5822 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_type_prefixed) ;
5823 });
5824 _ut.test('test_parseFinalConstVarOrType_type_prefixedAndParameterized', () {
5825 final __test = new SimpleParserTest();
5826 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_type_prefixedA ndParameterized);
5827 });
5828 _ut.test('test_parseFinalConstVarOrType_type_simple', () {
5829 final __test = new SimpleParserTest();
5830 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_type_simple);
5831 });
5832 _ut.test('test_parseFinalConstVarOrType_var', () {
5833 final __test = new SimpleParserTest();
5834 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_var);
5835 });
5836 _ut.test('test_parseForStatement_each_identifier', () {
5837 final __test = new SimpleParserTest();
5838 runJUnitTest(__test, __test.test_parseForStatement_each_identifier);
5839 });
5840 _ut.test('test_parseForStatement_each_noType_metadata', () {
5841 final __test = new SimpleParserTest();
5842 runJUnitTest(__test, __test.test_parseForStatement_each_noType_metadata) ;
5843 });
5844 _ut.test('test_parseForStatement_each_type', () {
5845 final __test = new SimpleParserTest();
5846 runJUnitTest(__test, __test.test_parseForStatement_each_type);
5847 });
5848 _ut.test('test_parseForStatement_each_var', () {
5849 final __test = new SimpleParserTest();
5850 runJUnitTest(__test, __test.test_parseForStatement_each_var);
5851 });
5852 _ut.test('test_parseForStatement_loop_c', () {
5853 final __test = new SimpleParserTest();
5854 runJUnitTest(__test, __test.test_parseForStatement_loop_c);
5855 });
5856 _ut.test('test_parseForStatement_loop_cu', () {
5857 final __test = new SimpleParserTest();
5858 runJUnitTest(__test, __test.test_parseForStatement_loop_cu);
5859 });
5860 _ut.test('test_parseForStatement_loop_ecu', () {
5861 final __test = new SimpleParserTest();
5862 runJUnitTest(__test, __test.test_parseForStatement_loop_ecu);
5863 });
5864 _ut.test('test_parseForStatement_loop_i', () {
5865 final __test = new SimpleParserTest();
5866 runJUnitTest(__test, __test.test_parseForStatement_loop_i);
5867 });
5868 _ut.test('test_parseForStatement_loop_i_withMetadata', () {
5869 final __test = new SimpleParserTest();
5870 runJUnitTest(__test, __test.test_parseForStatement_loop_i_withMetadata);
5871 });
5872 _ut.test('test_parseForStatement_loop_ic', () {
5873 final __test = new SimpleParserTest();
5874 runJUnitTest(__test, __test.test_parseForStatement_loop_ic);
5875 });
5876 _ut.test('test_parseForStatement_loop_icu', () {
5877 final __test = new SimpleParserTest();
5878 runJUnitTest(__test, __test.test_parseForStatement_loop_icu);
5879 });
5880 _ut.test('test_parseForStatement_loop_iicuu', () {
5881 final __test = new SimpleParserTest();
5882 runJUnitTest(__test, __test.test_parseForStatement_loop_iicuu);
5883 });
5884 _ut.test('test_parseForStatement_loop_iu', () {
5885 final __test = new SimpleParserTest();
5886 runJUnitTest(__test, __test.test_parseForStatement_loop_iu);
5887 });
5888 _ut.test('test_parseForStatement_loop_u', () {
5889 final __test = new SimpleParserTest();
5890 runJUnitTest(__test, __test.test_parseForStatement_loop_u);
5891 });
5892 _ut.test('test_parseFormalParameterList_empty', () {
5893 final __test = new SimpleParserTest();
5894 runJUnitTest(__test, __test.test_parseFormalParameterList_empty);
5895 });
5896 _ut.test('test_parseFormalParameterList_named_multiple', () {
5897 final __test = new SimpleParserTest();
5898 runJUnitTest(__test, __test.test_parseFormalParameterList_named_multiple );
5899 });
5900 _ut.test('test_parseFormalParameterList_named_single', () {
5901 final __test = new SimpleParserTest();
5902 runJUnitTest(__test, __test.test_parseFormalParameterList_named_single);
5903 });
5904 _ut.test('test_parseFormalParameterList_normal_multiple', () {
5905 final __test = new SimpleParserTest();
5906 runJUnitTest(__test, __test.test_parseFormalParameterList_normal_multipl e);
5907 });
5908 _ut.test('test_parseFormalParameterList_normal_named', () {
5909 final __test = new SimpleParserTest();
5910 runJUnitTest(__test, __test.test_parseFormalParameterList_normal_named);
5911 });
5912 _ut.test('test_parseFormalParameterList_normal_positional', () {
5913 final __test = new SimpleParserTest();
5914 runJUnitTest(__test, __test.test_parseFormalParameterList_normal_positio nal);
5915 });
5916 _ut.test('test_parseFormalParameterList_normal_single', () {
5917 final __test = new SimpleParserTest();
5918 runJUnitTest(__test, __test.test_parseFormalParameterList_normal_single) ;
5919 });
5920 _ut.test('test_parseFormalParameterList_positional_multiple', () {
5921 final __test = new SimpleParserTest();
5922 runJUnitTest(__test, __test.test_parseFormalParameterList_positional_mul tiple);
5923 });
5924 _ut.test('test_parseFormalParameterList_positional_single', () {
5925 final __test = new SimpleParserTest();
5926 runJUnitTest(__test, __test.test_parseFormalParameterList_positional_sin gle);
5927 });
5928 _ut.test('test_parseFormalParameter_final_withType_named', () {
5929 final __test = new SimpleParserTest();
5930 runJUnitTest(__test, __test.test_parseFormalParameter_final_withType_nam ed);
5931 });
5932 _ut.test('test_parseFormalParameter_final_withType_normal', () {
5933 final __test = new SimpleParserTest();
5934 runJUnitTest(__test, __test.test_parseFormalParameter_final_withType_nor mal);
5935 });
5936 _ut.test('test_parseFormalParameter_final_withType_positional', () {
5937 final __test = new SimpleParserTest();
5938 runJUnitTest(__test, __test.test_parseFormalParameter_final_withType_pos itional);
5939 });
5940 _ut.test('test_parseFormalParameter_nonFinal_withType_named', () {
5941 final __test = new SimpleParserTest();
5942 runJUnitTest(__test, __test.test_parseFormalParameter_nonFinal_withType_ named);
5943 });
5944 _ut.test('test_parseFormalParameter_nonFinal_withType_normal', () {
5945 final __test = new SimpleParserTest();
5946 runJUnitTest(__test, __test.test_parseFormalParameter_nonFinal_withType_ normal);
5947 });
5948 _ut.test('test_parseFormalParameter_nonFinal_withType_positional', () {
5949 final __test = new SimpleParserTest();
5950 runJUnitTest(__test, __test.test_parseFormalParameter_nonFinal_withType_ positional);
5951 });
5952 _ut.test('test_parseFormalParameter_var', () {
5953 final __test = new SimpleParserTest();
5954 runJUnitTest(__test, __test.test_parseFormalParameter_var);
5955 });
5956 _ut.test('test_parseFormalParameter_var_named', () {
5957 final __test = new SimpleParserTest();
5958 runJUnitTest(__test, __test.test_parseFormalParameter_var_named);
5959 });
5960 _ut.test('test_parseFormalParameter_var_positional', () {
5961 final __test = new SimpleParserTest();
5962 runJUnitTest(__test, __test.test_parseFormalParameter_var_positional);
5963 });
5964 _ut.test('test_parseFunctionBody_block', () {
5965 final __test = new SimpleParserTest();
5966 runJUnitTest(__test, __test.test_parseFunctionBody_block);
5967 });
5968 _ut.test('test_parseFunctionBody_empty', () {
5969 final __test = new SimpleParserTest();
5970 runJUnitTest(__test, __test.test_parseFunctionBody_empty);
5971 });
5972 _ut.test('test_parseFunctionBody_expression', () {
5973 final __test = new SimpleParserTest();
5974 runJUnitTest(__test, __test.test_parseFunctionBody_expression);
5975 });
5976 _ut.test('test_parseFunctionBody_nativeFunctionBody', () {
5977 final __test = new SimpleParserTest();
5978 runJUnitTest(__test, __test.test_parseFunctionBody_nativeFunctionBody);
5979 });
5980 _ut.test('test_parseFunctionBody_skip_block', () {
5981 final __test = new SimpleParserTest();
5982 runJUnitTest(__test, __test.test_parseFunctionBody_skip_block);
5983 });
5984 _ut.test('test_parseFunctionBody_skip_blocks', () {
5985 final __test = new SimpleParserTest();
5986 runJUnitTest(__test, __test.test_parseFunctionBody_skip_blocks);
5987 });
5988 _ut.test('test_parseFunctionBody_skip_expression', () {
5989 final __test = new SimpleParserTest();
5990 runJUnitTest(__test, __test.test_parseFunctionBody_skip_expression);
5991 });
5992 _ut.test('test_parseFunctionDeclarationStatement', () {
5993 final __test = new SimpleParserTest();
5994 runJUnitTest(__test, __test.test_parseFunctionDeclarationStatement);
5995 });
5996 _ut.test('test_parseFunctionDeclaration_function', () {
5997 final __test = new SimpleParserTest();
5998 runJUnitTest(__test, __test.test_parseFunctionDeclaration_function);
5999 });
6000 _ut.test('test_parseFunctionDeclaration_getter', () {
6001 final __test = new SimpleParserTest();
6002 runJUnitTest(__test, __test.test_parseFunctionDeclaration_getter);
6003 });
6004 _ut.test('test_parseFunctionDeclaration_setter', () {
6005 final __test = new SimpleParserTest();
6006 runJUnitTest(__test, __test.test_parseFunctionDeclaration_setter);
6007 });
6008 _ut.test('test_parseFunctionExpression_body_inExpression', () {
6009 final __test = new SimpleParserTest();
6010 runJUnitTest(__test, __test.test_parseFunctionExpression_body_inExpressi on);
6011 });
6012 _ut.test('test_parseFunctionExpression_minimal', () {
6013 final __test = new SimpleParserTest();
6014 runJUnitTest(__test, __test.test_parseFunctionExpression_minimal);
6015 });
6016 _ut.test('test_parseGetter_nonStatic', () {
6017 final __test = new SimpleParserTest();
6018 runJUnitTest(__test, __test.test_parseGetter_nonStatic);
6019 });
6020 _ut.test('test_parseGetter_static', () {
6021 final __test = new SimpleParserTest();
6022 runJUnitTest(__test, __test.test_parseGetter_static);
6023 });
6024 _ut.test('test_parseIdentifierList_multiple', () {
6025 final __test = new SimpleParserTest();
6026 runJUnitTest(__test, __test.test_parseIdentifierList_multiple);
6027 });
6028 _ut.test('test_parseIdentifierList_single', () {
6029 final __test = new SimpleParserTest();
6030 runJUnitTest(__test, __test.test_parseIdentifierList_single);
6031 });
6032 _ut.test('test_parseIfStatement_else_block', () {
6033 final __test = new SimpleParserTest();
6034 runJUnitTest(__test, __test.test_parseIfStatement_else_block);
6035 });
6036 _ut.test('test_parseIfStatement_else_statement', () {
6037 final __test = new SimpleParserTest();
6038 runJUnitTest(__test, __test.test_parseIfStatement_else_statement);
6039 });
6040 _ut.test('test_parseIfStatement_noElse_block', () {
6041 final __test = new SimpleParserTest();
6042 runJUnitTest(__test, __test.test_parseIfStatement_noElse_block);
6043 });
6044 _ut.test('test_parseIfStatement_noElse_statement', () {
6045 final __test = new SimpleParserTest();
6046 runJUnitTest(__test, __test.test_parseIfStatement_noElse_statement);
6047 });
6048 _ut.test('test_parseImplementsClause_multiple', () {
6049 final __test = new SimpleParserTest();
6050 runJUnitTest(__test, __test.test_parseImplementsClause_multiple);
6051 });
6052 _ut.test('test_parseImplementsClause_single', () {
6053 final __test = new SimpleParserTest();
6054 runJUnitTest(__test, __test.test_parseImplementsClause_single);
6055 });
6056 _ut.test('test_parseImportDirective_deferred', () {
6057 final __test = new SimpleParserTest();
6058 runJUnitTest(__test, __test.test_parseImportDirective_deferred);
6059 });
6060 _ut.test('test_parseImportDirective_hide', () {
6061 final __test = new SimpleParserTest();
6062 runJUnitTest(__test, __test.test_parseImportDirective_hide);
6063 });
6064 _ut.test('test_parseImportDirective_noCombinator', () {
6065 final __test = new SimpleParserTest();
6066 runJUnitTest(__test, __test.test_parseImportDirective_noCombinator);
6067 });
6068 _ut.test('test_parseImportDirective_prefix', () {
6069 final __test = new SimpleParserTest();
6070 runJUnitTest(__test, __test.test_parseImportDirective_prefix);
6071 });
6072 _ut.test('test_parseImportDirective_prefix_hide_show', () {
6073 final __test = new SimpleParserTest();
6074 runJUnitTest(__test, __test.test_parseImportDirective_prefix_hide_show);
6075 });
6076 _ut.test('test_parseImportDirective_prefix_show_hide', () {
6077 final __test = new SimpleParserTest();
6078 runJUnitTest(__test, __test.test_parseImportDirective_prefix_show_hide);
6079 });
6080 _ut.test('test_parseImportDirective_show', () {
6081 final __test = new SimpleParserTest();
6082 runJUnitTest(__test, __test.test_parseImportDirective_show);
6083 });
6084 _ut.test('test_parseInitializedIdentifierList_type', () {
6085 final __test = new SimpleParserTest();
6086 runJUnitTest(__test, __test.test_parseInitializedIdentifierList_type);
6087 });
6088 _ut.test('test_parseInitializedIdentifierList_var', () {
6089 final __test = new SimpleParserTest();
6090 runJUnitTest(__test, __test.test_parseInitializedIdentifierList_var);
6091 });
6092 _ut.test('test_parseInstanceCreationExpression_qualifiedType', () {
6093 final __test = new SimpleParserTest();
6094 runJUnitTest(__test, __test.test_parseInstanceCreationExpression_qualifi edType);
6095 });
6096 _ut.test('test_parseInstanceCreationExpression_qualifiedType_named', () {
6097 final __test = new SimpleParserTest();
6098 runJUnitTest(__test, __test.test_parseInstanceCreationExpression_qualifi edType_named);
6099 });
6100 _ut.test('test_parseInstanceCreationExpression_type', () {
6101 final __test = new SimpleParserTest();
6102 runJUnitTest(__test, __test.test_parseInstanceCreationExpression_type);
6103 });
6104 _ut.test('test_parseInstanceCreationExpression_type_named', () {
6105 final __test = new SimpleParserTest();
6106 runJUnitTest(__test, __test.test_parseInstanceCreationExpression_type_na med);
6107 });
6108 _ut.test('test_parseLibraryDirective', () {
6109 final __test = new SimpleParserTest();
6110 runJUnitTest(__test, __test.test_parseLibraryDirective);
6111 });
6112 _ut.test('test_parseLibraryIdentifier_multiple', () {
6113 final __test = new SimpleParserTest();
6114 runJUnitTest(__test, __test.test_parseLibraryIdentifier_multiple);
6115 });
6116 _ut.test('test_parseLibraryIdentifier_single', () {
6117 final __test = new SimpleParserTest();
6118 runJUnitTest(__test, __test.test_parseLibraryIdentifier_single);
6119 });
6120 _ut.test('test_parseListLiteral_empty_oneToken', () {
6121 final __test = new SimpleParserTest();
6122 runJUnitTest(__test, __test.test_parseListLiteral_empty_oneToken);
6123 });
6124 _ut.test('test_parseListLiteral_empty_twoTokens', () {
6125 final __test = new SimpleParserTest();
6126 runJUnitTest(__test, __test.test_parseListLiteral_empty_twoTokens);
6127 });
6128 _ut.test('test_parseListLiteral_multiple', () {
6129 final __test = new SimpleParserTest();
6130 runJUnitTest(__test, __test.test_parseListLiteral_multiple);
6131 });
6132 _ut.test('test_parseListLiteral_single', () {
6133 final __test = new SimpleParserTest();
6134 runJUnitTest(__test, __test.test_parseListLiteral_single);
6135 });
6136 _ut.test('test_parseListOrMapLiteral_list_noType', () {
6137 final __test = new SimpleParserTest();
6138 runJUnitTest(__test, __test.test_parseListOrMapLiteral_list_noType);
6139 });
6140 _ut.test('test_parseListOrMapLiteral_list_type', () {
6141 final __test = new SimpleParserTest();
6142 runJUnitTest(__test, __test.test_parseListOrMapLiteral_list_type);
6143 });
6144 _ut.test('test_parseListOrMapLiteral_map_noType', () {
6145 final __test = new SimpleParserTest();
6146 runJUnitTest(__test, __test.test_parseListOrMapLiteral_map_noType);
6147 });
6148 _ut.test('test_parseListOrMapLiteral_map_type', () {
6149 final __test = new SimpleParserTest();
6150 runJUnitTest(__test, __test.test_parseListOrMapLiteral_map_type);
6151 });
6152 _ut.test('test_parseLogicalAndExpression', () {
6153 final __test = new SimpleParserTest();
6154 runJUnitTest(__test, __test.test_parseLogicalAndExpression);
6155 });
6156 _ut.test('test_parseLogicalOrExpression', () {
6157 final __test = new SimpleParserTest();
6158 runJUnitTest(__test, __test.test_parseLogicalOrExpression);
6159 });
6160 _ut.test('test_parseMapLiteralEntry_complex', () {
6161 final __test = new SimpleParserTest();
6162 runJUnitTest(__test, __test.test_parseMapLiteralEntry_complex);
6163 });
6164 _ut.test('test_parseMapLiteralEntry_int', () {
6165 final __test = new SimpleParserTest();
6166 runJUnitTest(__test, __test.test_parseMapLiteralEntry_int);
6167 });
6168 _ut.test('test_parseMapLiteralEntry_string', () {
6169 final __test = new SimpleParserTest();
6170 runJUnitTest(__test, __test.test_parseMapLiteralEntry_string);
6171 });
6172 _ut.test('test_parseMapLiteral_empty', () {
6173 final __test = new SimpleParserTest();
6174 runJUnitTest(__test, __test.test_parseMapLiteral_empty);
6175 });
6176 _ut.test('test_parseMapLiteral_multiple', () {
6177 final __test = new SimpleParserTest();
6178 runJUnitTest(__test, __test.test_parseMapLiteral_multiple);
6179 });
6180 _ut.test('test_parseMapLiteral_single', () {
6181 final __test = new SimpleParserTest();
6182 runJUnitTest(__test, __test.test_parseMapLiteral_single);
6183 });
6184 _ut.test('test_parseModifiers_abstract', () {
6185 final __test = new SimpleParserTest();
6186 runJUnitTest(__test, __test.test_parseModifiers_abstract);
6187 });
6188 _ut.test('test_parseModifiers_const', () {
6189 final __test = new SimpleParserTest();
6190 runJUnitTest(__test, __test.test_parseModifiers_const);
6191 });
6192 _ut.test('test_parseModifiers_external', () {
6193 final __test = new SimpleParserTest();
6194 runJUnitTest(__test, __test.test_parseModifiers_external);
6195 });
6196 _ut.test('test_parseModifiers_factory', () {
6197 final __test = new SimpleParserTest();
6198 runJUnitTest(__test, __test.test_parseModifiers_factory);
6199 });
6200 _ut.test('test_parseModifiers_final', () {
6201 final __test = new SimpleParserTest();
6202 runJUnitTest(__test, __test.test_parseModifiers_final);
6203 });
6204 _ut.test('test_parseModifiers_static', () {
6205 final __test = new SimpleParserTest();
6206 runJUnitTest(__test, __test.test_parseModifiers_static);
6207 });
6208 _ut.test('test_parseModifiers_var', () {
6209 final __test = new SimpleParserTest();
6210 runJUnitTest(__test, __test.test_parseModifiers_var);
6211 });
6212 _ut.test('test_parseMultiplicativeExpression_normal', () {
6213 final __test = new SimpleParserTest();
6214 runJUnitTest(__test, __test.test_parseMultiplicativeExpression_normal);
6215 });
6216 _ut.test('test_parseMultiplicativeExpression_super', () {
6217 final __test = new SimpleParserTest();
6218 runJUnitTest(__test, __test.test_parseMultiplicativeExpression_super);
6219 });
6220 _ut.test('test_parseNewExpression', () {
6221 final __test = new SimpleParserTest();
6222 runJUnitTest(__test, __test.test_parseNewExpression);
6223 });
6224 _ut.test('test_parseNonLabeledStatement_const_list_empty', () {
6225 final __test = new SimpleParserTest();
6226 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_list_emp ty);
6227 });
6228 _ut.test('test_parseNonLabeledStatement_const_list_nonEmpty', () {
6229 final __test = new SimpleParserTest();
6230 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_list_non Empty);
6231 });
6232 _ut.test('test_parseNonLabeledStatement_const_map_empty', () {
6233 final __test = new SimpleParserTest();
6234 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_map_empt y);
6235 });
6236 _ut.test('test_parseNonLabeledStatement_const_map_nonEmpty', () {
6237 final __test = new SimpleParserTest();
6238 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_map_nonE mpty);
6239 });
6240 _ut.test('test_parseNonLabeledStatement_const_object', () {
6241 final __test = new SimpleParserTest();
6242 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_object);
6243 });
6244 _ut.test('test_parseNonLabeledStatement_const_object_named_typeParameters' , () {
6245 final __test = new SimpleParserTest();
6246 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_object_n amed_typeParameters);
6247 });
6248 _ut.test('test_parseNonLabeledStatement_constructorInvocation', () {
6249 final __test = new SimpleParserTest();
6250 runJUnitTest(__test, __test.test_parseNonLabeledStatement_constructorInv ocation);
6251 });
6252 _ut.test('test_parseNonLabeledStatement_false', () {
6253 final __test = new SimpleParserTest();
6254 runJUnitTest(__test, __test.test_parseNonLabeledStatement_false);
6255 });
6256 _ut.test('test_parseNonLabeledStatement_functionDeclaration', () {
6257 final __test = new SimpleParserTest();
6258 runJUnitTest(__test, __test.test_parseNonLabeledStatement_functionDeclar ation);
6259 });
6260 _ut.test('test_parseNonLabeledStatement_functionDeclaration_arguments', () {
6261 final __test = new SimpleParserTest();
6262 runJUnitTest(__test, __test.test_parseNonLabeledStatement_functionDeclar ation_arguments);
6263 });
6264 _ut.test('test_parseNonLabeledStatement_functionExpressionIndex', () {
6265 final __test = new SimpleParserTest();
6266 runJUnitTest(__test, __test.test_parseNonLabeledStatement_functionExpres sionIndex);
6267 });
6268 _ut.test('test_parseNonLabeledStatement_functionInvocation', () {
6269 final __test = new SimpleParserTest();
6270 runJUnitTest(__test, __test.test_parseNonLabeledStatement_functionInvoca tion);
6271 });
6272 _ut.test('test_parseNonLabeledStatement_invokeFunctionExpression', () {
6273 final __test = new SimpleParserTest();
6274 runJUnitTest(__test, __test.test_parseNonLabeledStatement_invokeFunction Expression);
6275 });
6276 _ut.test('test_parseNonLabeledStatement_null', () {
6277 final __test = new SimpleParserTest();
6278 runJUnitTest(__test, __test.test_parseNonLabeledStatement_null);
6279 });
6280 _ut.test('test_parseNonLabeledStatement_startingWithBuiltInIdentifier', () {
6281 final __test = new SimpleParserTest();
6282 runJUnitTest(__test, __test.test_parseNonLabeledStatement_startingWithBu iltInIdentifier);
6283 });
6284 _ut.test('test_parseNonLabeledStatement_true', () {
6285 final __test = new SimpleParserTest();
6286 runJUnitTest(__test, __test.test_parseNonLabeledStatement_true);
6287 });
6288 _ut.test('test_parseNonLabeledStatement_typeCast', () {
6289 final __test = new SimpleParserTest();
6290 runJUnitTest(__test, __test.test_parseNonLabeledStatement_typeCast);
6291 });
6292 _ut.test('test_parseNormalFormalParameter_field_const_noType', () {
6293 final __test = new SimpleParserTest();
6294 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_const_ noType);
6295 });
6296 _ut.test('test_parseNormalFormalParameter_field_const_type', () {
6297 final __test = new SimpleParserTest();
6298 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_const_ type);
6299 });
6300 _ut.test('test_parseNormalFormalParameter_field_final_noType', () {
6301 final __test = new SimpleParserTest();
6302 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_final_ noType);
6303 });
6304 _ut.test('test_parseNormalFormalParameter_field_final_type', () {
6305 final __test = new SimpleParserTest();
6306 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_final_ type);
6307 });
6308 _ut.test('test_parseNormalFormalParameter_field_function_nested', () {
6309 final __test = new SimpleParserTest();
6310 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_functi on_nested);
6311 });
6312 _ut.test('test_parseNormalFormalParameter_field_function_noNested', () {
6313 final __test = new SimpleParserTest();
6314 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_functi on_noNested);
6315 });
6316 _ut.test('test_parseNormalFormalParameter_field_noType', () {
6317 final __test = new SimpleParserTest();
6318 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_noType );
6319 });
6320 _ut.test('test_parseNormalFormalParameter_field_type', () {
6321 final __test = new SimpleParserTest();
6322 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_type);
6323 });
6324 _ut.test('test_parseNormalFormalParameter_field_var', () {
6325 final __test = new SimpleParserTest();
6326 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_var);
6327 });
6328 _ut.test('test_parseNormalFormalParameter_function_noType', () {
6329 final __test = new SimpleParserTest();
6330 runJUnitTest(__test, __test.test_parseNormalFormalParameter_function_noT ype);
6331 });
6332 _ut.test('test_parseNormalFormalParameter_function_type', () {
6333 final __test = new SimpleParserTest();
6334 runJUnitTest(__test, __test.test_parseNormalFormalParameter_function_typ e);
6335 });
6336 _ut.test('test_parseNormalFormalParameter_function_void', () {
6337 final __test = new SimpleParserTest();
6338 runJUnitTest(__test, __test.test_parseNormalFormalParameter_function_voi d);
6339 });
6340 _ut.test('test_parseNormalFormalParameter_simple_const_noType', () {
6341 final __test = new SimpleParserTest();
6342 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_const _noType);
6343 });
6344 _ut.test('test_parseNormalFormalParameter_simple_const_type', () {
6345 final __test = new SimpleParserTest();
6346 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_const _type);
6347 });
6348 _ut.test('test_parseNormalFormalParameter_simple_final_noType', () {
6349 final __test = new SimpleParserTest();
6350 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_final _noType);
6351 });
6352 _ut.test('test_parseNormalFormalParameter_simple_final_type', () {
6353 final __test = new SimpleParserTest();
6354 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_final _type);
6355 });
6356 _ut.test('test_parseNormalFormalParameter_simple_noType', () {
6357 final __test = new SimpleParserTest();
6358 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_noTyp e);
6359 });
6360 _ut.test('test_parseNormalFormalParameter_simple_type', () {
6361 final __test = new SimpleParserTest();
6362 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_type) ;
6363 });
6364 _ut.test('test_parseOperator', () {
6365 final __test = new SimpleParserTest();
6366 runJUnitTest(__test, __test.test_parseOperator);
6367 });
6368 _ut.test('test_parseOptionalReturnType', () {
6369 final __test = new SimpleParserTest();
6370 runJUnitTest(__test, __test.test_parseOptionalReturnType);
6371 });
6372 _ut.test('test_parsePartDirective_part', () {
6373 final __test = new SimpleParserTest();
6374 runJUnitTest(__test, __test.test_parsePartDirective_part);
6375 });
6376 _ut.test('test_parsePartDirective_partOf', () {
6377 final __test = new SimpleParserTest();
6378 runJUnitTest(__test, __test.test_parsePartDirective_partOf);
6379 });
6380 _ut.test('test_parsePostfixExpression_decrement', () {
6381 final __test = new SimpleParserTest();
6382 runJUnitTest(__test, __test.test_parsePostfixExpression_decrement);
6383 });
6384 _ut.test('test_parsePostfixExpression_increment', () {
6385 final __test = new SimpleParserTest();
6386 runJUnitTest(__test, __test.test_parsePostfixExpression_increment);
6387 });
6388 _ut.test('test_parsePostfixExpression_none_indexExpression', () {
6389 final __test = new SimpleParserTest();
6390 runJUnitTest(__test, __test.test_parsePostfixExpression_none_indexExpres sion);
6391 });
6392 _ut.test('test_parsePostfixExpression_none_methodInvocation', () {
6393 final __test = new SimpleParserTest();
6394 runJUnitTest(__test, __test.test_parsePostfixExpression_none_methodInvoc ation);
6395 });
6396 _ut.test('test_parsePostfixExpression_none_propertyAccess', () {
6397 final __test = new SimpleParserTest();
6398 runJUnitTest(__test, __test.test_parsePostfixExpression_none_propertyAcc ess);
6399 });
6400 _ut.test('test_parsePrefixedIdentifier_noPrefix', () {
6401 final __test = new SimpleParserTest();
6402 runJUnitTest(__test, __test.test_parsePrefixedIdentifier_noPrefix);
6403 });
6404 _ut.test('test_parsePrefixedIdentifier_prefix', () {
6405 final __test = new SimpleParserTest();
6406 runJUnitTest(__test, __test.test_parsePrefixedIdentifier_prefix);
6407 });
6408 _ut.test('test_parsePrimaryExpression_const', () {
6409 final __test = new SimpleParserTest();
6410 runJUnitTest(__test, __test.test_parsePrimaryExpression_const);
6411 });
6412 _ut.test('test_parsePrimaryExpression_double', () {
6413 final __test = new SimpleParserTest();
6414 runJUnitTest(__test, __test.test_parsePrimaryExpression_double);
6415 });
6416 _ut.test('test_parsePrimaryExpression_false', () {
6417 final __test = new SimpleParserTest();
6418 runJUnitTest(__test, __test.test_parsePrimaryExpression_false);
6419 });
6420 _ut.test('test_parsePrimaryExpression_function_arguments', () {
6421 final __test = new SimpleParserTest();
6422 runJUnitTest(__test, __test.test_parsePrimaryExpression_function_argumen ts);
6423 });
6424 _ut.test('test_parsePrimaryExpression_function_noArguments', () {
6425 final __test = new SimpleParserTest();
6426 runJUnitTest(__test, __test.test_parsePrimaryExpression_function_noArgum ents);
6427 });
6428 _ut.test('test_parsePrimaryExpression_hex', () {
6429 final __test = new SimpleParserTest();
6430 runJUnitTest(__test, __test.test_parsePrimaryExpression_hex);
6431 });
6432 _ut.test('test_parsePrimaryExpression_identifier', () {
6433 final __test = new SimpleParserTest();
6434 runJUnitTest(__test, __test.test_parsePrimaryExpression_identifier);
6435 });
6436 _ut.test('test_parsePrimaryExpression_int', () {
6437 final __test = new SimpleParserTest();
6438 runJUnitTest(__test, __test.test_parsePrimaryExpression_int);
6439 });
6440 _ut.test('test_parsePrimaryExpression_listLiteral', () {
6441 final __test = new SimpleParserTest();
6442 runJUnitTest(__test, __test.test_parsePrimaryExpression_listLiteral);
6443 });
6444 _ut.test('test_parsePrimaryExpression_listLiteral_index', () {
6445 final __test = new SimpleParserTest();
6446 runJUnitTest(__test, __test.test_parsePrimaryExpression_listLiteral_inde x);
6447 });
6448 _ut.test('test_parsePrimaryExpression_listLiteral_typed', () {
6449 final __test = new SimpleParserTest();
6450 runJUnitTest(__test, __test.test_parsePrimaryExpression_listLiteral_type d);
6451 });
6452 _ut.test('test_parsePrimaryExpression_mapLiteral', () {
6453 final __test = new SimpleParserTest();
6454 runJUnitTest(__test, __test.test_parsePrimaryExpression_mapLiteral);
6455 });
6456 _ut.test('test_parsePrimaryExpression_mapLiteral_typed', () {
6457 final __test = new SimpleParserTest();
6458 runJUnitTest(__test, __test.test_parsePrimaryExpression_mapLiteral_typed );
6459 });
6460 _ut.test('test_parsePrimaryExpression_new', () {
6461 final __test = new SimpleParserTest();
6462 runJUnitTest(__test, __test.test_parsePrimaryExpression_new);
6463 });
6464 _ut.test('test_parsePrimaryExpression_null', () {
6465 final __test = new SimpleParserTest();
6466 runJUnitTest(__test, __test.test_parsePrimaryExpression_null);
6467 });
6468 _ut.test('test_parsePrimaryExpression_parenthesized', () {
6469 final __test = new SimpleParserTest();
6470 runJUnitTest(__test, __test.test_parsePrimaryExpression_parenthesized);
6471 });
6472 _ut.test('test_parsePrimaryExpression_string', () {
6473 final __test = new SimpleParserTest();
6474 runJUnitTest(__test, __test.test_parsePrimaryExpression_string);
6475 });
6476 _ut.test('test_parsePrimaryExpression_string_multiline', () {
6477 final __test = new SimpleParserTest();
6478 runJUnitTest(__test, __test.test_parsePrimaryExpression_string_multiline );
6479 });
6480 _ut.test('test_parsePrimaryExpression_string_raw', () {
6481 final __test = new SimpleParserTest();
6482 runJUnitTest(__test, __test.test_parsePrimaryExpression_string_raw);
6483 });
6484 _ut.test('test_parsePrimaryExpression_super', () {
6485 final __test = new SimpleParserTest();
6486 runJUnitTest(__test, __test.test_parsePrimaryExpression_super);
6487 });
6488 _ut.test('test_parsePrimaryExpression_this', () {
6489 final __test = new SimpleParserTest();
6490 runJUnitTest(__test, __test.test_parsePrimaryExpression_this);
6491 });
6492 _ut.test('test_parsePrimaryExpression_true', () {
6493 final __test = new SimpleParserTest();
6494 runJUnitTest(__test, __test.test_parsePrimaryExpression_true);
6495 });
6496 _ut.test('test_parseRedirectingConstructorInvocation_named', () {
6497 final __test = new SimpleParserTest();
6498 runJUnitTest(__test, __test.test_parseRedirectingConstructorInvocation_n amed);
6499 });
6500 _ut.test('test_parseRedirectingConstructorInvocation_unnamed', () {
6501 final __test = new SimpleParserTest();
6502 runJUnitTest(__test, __test.test_parseRedirectingConstructorInvocation_u nnamed);
6503 });
6504 _ut.test('test_parseRelationalExpression_as', () {
6505 final __test = new SimpleParserTest();
6506 runJUnitTest(__test, __test.test_parseRelationalExpression_as);
6507 });
6508 _ut.test('test_parseRelationalExpression_is', () {
6509 final __test = new SimpleParserTest();
6510 runJUnitTest(__test, __test.test_parseRelationalExpression_is);
6511 });
6512 _ut.test('test_parseRelationalExpression_isNot', () {
6513 final __test = new SimpleParserTest();
6514 runJUnitTest(__test, __test.test_parseRelationalExpression_isNot);
6515 });
6516 _ut.test('test_parseRelationalExpression_normal', () {
6517 final __test = new SimpleParserTest();
6518 runJUnitTest(__test, __test.test_parseRelationalExpression_normal);
6519 });
6520 _ut.test('test_parseRelationalExpression_super', () {
6521 final __test = new SimpleParserTest();
6522 runJUnitTest(__test, __test.test_parseRelationalExpression_super);
6523 });
6524 _ut.test('test_parseRethrowExpression', () {
6525 final __test = new SimpleParserTest();
6526 runJUnitTest(__test, __test.test_parseRethrowExpression);
6527 });
6528 _ut.test('test_parseReturnStatement_noValue', () {
6529 final __test = new SimpleParserTest();
6530 runJUnitTest(__test, __test.test_parseReturnStatement_noValue);
6531 });
6532 _ut.test('test_parseReturnStatement_value', () {
6533 final __test = new SimpleParserTest();
6534 runJUnitTest(__test, __test.test_parseReturnStatement_value);
6535 });
6536 _ut.test('test_parseReturnType_nonVoid', () {
6537 final __test = new SimpleParserTest();
6538 runJUnitTest(__test, __test.test_parseReturnType_nonVoid);
6539 });
6540 _ut.test('test_parseReturnType_void', () {
6541 final __test = new SimpleParserTest();
6542 runJUnitTest(__test, __test.test_parseReturnType_void);
6543 });
6544 _ut.test('test_parseSetter_nonStatic', () {
6545 final __test = new SimpleParserTest();
6546 runJUnitTest(__test, __test.test_parseSetter_nonStatic);
6547 });
6548 _ut.test('test_parseSetter_static', () {
6549 final __test = new SimpleParserTest();
6550 runJUnitTest(__test, __test.test_parseSetter_static);
6551 });
6552 _ut.test('test_parseShiftExpression_normal', () {
6553 final __test = new SimpleParserTest();
6554 runJUnitTest(__test, __test.test_parseShiftExpression_normal);
6555 });
6556 _ut.test('test_parseShiftExpression_super', () {
6557 final __test = new SimpleParserTest();
6558 runJUnitTest(__test, __test.test_parseShiftExpression_super);
6559 });
6560 _ut.test('test_parseSimpleIdentifier1_normalIdentifier', () {
6561 final __test = new SimpleParserTest();
6562 runJUnitTest(__test, __test.test_parseSimpleIdentifier1_normalIdentifier );
6563 });
6564 _ut.test('test_parseSimpleIdentifier_builtInIdentifier', () {
6565 final __test = new SimpleParserTest();
6566 runJUnitTest(__test, __test.test_parseSimpleIdentifier_builtInIdentifier );
6567 });
6568 _ut.test('test_parseSimpleIdentifier_normalIdentifier', () {
6569 final __test = new SimpleParserTest();
6570 runJUnitTest(__test, __test.test_parseSimpleIdentifier_normalIdentifier) ;
6571 });
6572 _ut.test('test_parseStatement_functionDeclaration', () {
6573 final __test = new SimpleParserTest();
6574 runJUnitTest(__test, __test.test_parseStatement_functionDeclaration);
6575 });
6576 _ut.test('test_parseStatement_mulipleLabels', () {
6577 final __test = new SimpleParserTest();
6578 runJUnitTest(__test, __test.test_parseStatement_mulipleLabels);
6579 });
6580 _ut.test('test_parseStatement_noLabels', () {
6581 final __test = new SimpleParserTest();
6582 runJUnitTest(__test, __test.test_parseStatement_noLabels);
6583 });
6584 _ut.test('test_parseStatement_singleLabel', () {
6585 final __test = new SimpleParserTest();
6586 runJUnitTest(__test, __test.test_parseStatement_singleLabel);
6587 });
6588 _ut.test('test_parseStatements_multiple', () {
6589 final __test = new SimpleParserTest();
6590 runJUnitTest(__test, __test.test_parseStatements_multiple);
6591 });
6592 _ut.test('test_parseStatements_single', () {
6593 final __test = new SimpleParserTest();
6594 runJUnitTest(__test, __test.test_parseStatements_single);
6595 });
6596 _ut.test('test_parseStringLiteral_adjacent', () {
6597 final __test = new SimpleParserTest();
6598 runJUnitTest(__test, __test.test_parseStringLiteral_adjacent);
6599 });
6600 _ut.test('test_parseStringLiteral_interpolated', () {
6601 final __test = new SimpleParserTest();
6602 runJUnitTest(__test, __test.test_parseStringLiteral_interpolated);
6603 });
6604 _ut.test('test_parseStringLiteral_single', () {
6605 final __test = new SimpleParserTest();
6606 runJUnitTest(__test, __test.test_parseStringLiteral_single);
6607 });
6608 _ut.test('test_parseSuperConstructorInvocation_named', () {
6609 final __test = new SimpleParserTest();
6610 runJUnitTest(__test, __test.test_parseSuperConstructorInvocation_named);
6611 });
6612 _ut.test('test_parseSuperConstructorInvocation_unnamed', () {
6613 final __test = new SimpleParserTest();
6614 runJUnitTest(__test, __test.test_parseSuperConstructorInvocation_unnamed );
6615 });
6616 _ut.test('test_parseSwitchStatement_case', () {
6617 final __test = new SimpleParserTest();
6618 runJUnitTest(__test, __test.test_parseSwitchStatement_case);
6619 });
6620 _ut.test('test_parseSwitchStatement_empty', () {
6621 final __test = new SimpleParserTest();
6622 runJUnitTest(__test, __test.test_parseSwitchStatement_empty);
6623 });
6624 _ut.test('test_parseSwitchStatement_labeledCase', () {
6625 final __test = new SimpleParserTest();
6626 runJUnitTest(__test, __test.test_parseSwitchStatement_labeledCase);
6627 });
6628 _ut.test('test_parseSwitchStatement_labeledStatementInCase', () {
6629 final __test = new SimpleParserTest();
6630 runJUnitTest(__test, __test.test_parseSwitchStatement_labeledStatementIn Case);
6631 });
6632 _ut.test('test_parseSymbolLiteral_builtInIdentifier', () {
6633 final __test = new SimpleParserTest();
6634 runJUnitTest(__test, __test.test_parseSymbolLiteral_builtInIdentifier);
6635 });
6636 _ut.test('test_parseSymbolLiteral_multiple', () {
6637 final __test = new SimpleParserTest();
6638 runJUnitTest(__test, __test.test_parseSymbolLiteral_multiple);
6639 });
6640 _ut.test('test_parseSymbolLiteral_operator', () {
6641 final __test = new SimpleParserTest();
6642 runJUnitTest(__test, __test.test_parseSymbolLiteral_operator);
6643 });
6644 _ut.test('test_parseSymbolLiteral_single', () {
6645 final __test = new SimpleParserTest();
6646 runJUnitTest(__test, __test.test_parseSymbolLiteral_single);
6647 });
6648 _ut.test('test_parseThrowExpression', () {
6649 final __test = new SimpleParserTest();
6650 runJUnitTest(__test, __test.test_parseThrowExpression);
6651 });
6652 _ut.test('test_parseThrowExpressionWithoutCascade', () {
6653 final __test = new SimpleParserTest();
6654 runJUnitTest(__test, __test.test_parseThrowExpressionWithoutCascade);
6655 });
6656 _ut.test('test_parseTryStatement_catch', () {
6657 final __test = new SimpleParserTest();
6658 runJUnitTest(__test, __test.test_parseTryStatement_catch);
6659 });
6660 _ut.test('test_parseTryStatement_catch_finally', () {
6661 final __test = new SimpleParserTest();
6662 runJUnitTest(__test, __test.test_parseTryStatement_catch_finally);
6663 });
6664 _ut.test('test_parseTryStatement_finally', () {
6665 final __test = new SimpleParserTest();
6666 runJUnitTest(__test, __test.test_parseTryStatement_finally);
6667 });
6668 _ut.test('test_parseTryStatement_multiple', () {
6669 final __test = new SimpleParserTest();
6670 runJUnitTest(__test, __test.test_parseTryStatement_multiple);
6671 });
6672 _ut.test('test_parseTryStatement_on', () {
6673 final __test = new SimpleParserTest();
6674 runJUnitTest(__test, __test.test_parseTryStatement_on);
6675 });
6676 _ut.test('test_parseTryStatement_on_catch', () {
6677 final __test = new SimpleParserTest();
6678 runJUnitTest(__test, __test.test_parseTryStatement_on_catch);
6679 });
6680 _ut.test('test_parseTryStatement_on_catch_finally', () {
6681 final __test = new SimpleParserTest();
6682 runJUnitTest(__test, __test.test_parseTryStatement_on_catch_finally);
6683 });
6684 _ut.test('test_parseTypeAlias_function_noParameters', () {
6685 final __test = new SimpleParserTest();
6686 runJUnitTest(__test, __test.test_parseTypeAlias_function_noParameters);
6687 });
6688 _ut.test('test_parseTypeAlias_function_noReturnType', () {
6689 final __test = new SimpleParserTest();
6690 runJUnitTest(__test, __test.test_parseTypeAlias_function_noReturnType);
6691 });
6692 _ut.test('test_parseTypeAlias_function_parameterizedReturnType', () {
6693 final __test = new SimpleParserTest();
6694 runJUnitTest(__test, __test.test_parseTypeAlias_function_parameterizedRe turnType);
6695 });
6696 _ut.test('test_parseTypeAlias_function_parameters', () {
6697 final __test = new SimpleParserTest();
6698 runJUnitTest(__test, __test.test_parseTypeAlias_function_parameters);
6699 });
6700 _ut.test('test_parseTypeAlias_function_typeParameters', () {
6701 final __test = new SimpleParserTest();
6702 runJUnitTest(__test, __test.test_parseTypeAlias_function_typeParameters) ;
6703 });
6704 _ut.test('test_parseTypeAlias_function_voidReturnType', () {
6705 final __test = new SimpleParserTest();
6706 runJUnitTest(__test, __test.test_parseTypeAlias_function_voidReturnType) ;
6707 });
6708 _ut.test('test_parseTypeArgumentList_multiple', () {
6709 final __test = new SimpleParserTest();
6710 runJUnitTest(__test, __test.test_parseTypeArgumentList_multiple);
6711 });
6712 _ut.test('test_parseTypeArgumentList_nested', () {
6713 final __test = new SimpleParserTest();
6714 runJUnitTest(__test, __test.test_parseTypeArgumentList_nested);
6715 });
6716 _ut.test('test_parseTypeArgumentList_single', () {
6717 final __test = new SimpleParserTest();
6718 runJUnitTest(__test, __test.test_parseTypeArgumentList_single);
6719 });
6720 _ut.test('test_parseTypeName_parameterized', () {
6721 final __test = new SimpleParserTest();
6722 runJUnitTest(__test, __test.test_parseTypeName_parameterized);
6723 });
6724 _ut.test('test_parseTypeName_simple', () {
6725 final __test = new SimpleParserTest();
6726 runJUnitTest(__test, __test.test_parseTypeName_simple);
6727 });
6728 _ut.test('test_parseTypeParameterList_multiple', () {
6729 final __test = new SimpleParserTest();
6730 runJUnitTest(__test, __test.test_parseTypeParameterList_multiple);
6731 });
6732 _ut.test('test_parseTypeParameterList_parameterizedWithTrailingEquals', () {
6733 final __test = new SimpleParserTest();
6734 runJUnitTest(__test, __test.test_parseTypeParameterList_parameterizedWit hTrailingEquals);
6735 });
6736 _ut.test('test_parseTypeParameterList_single', () {
6737 final __test = new SimpleParserTest();
6738 runJUnitTest(__test, __test.test_parseTypeParameterList_single);
6739 });
6740 _ut.test('test_parseTypeParameterList_withTrailingEquals', () {
6741 final __test = new SimpleParserTest();
6742 runJUnitTest(__test, __test.test_parseTypeParameterList_withTrailingEqua ls);
6743 });
6744 _ut.test('test_parseTypeParameter_bounded', () {
6745 final __test = new SimpleParserTest();
6746 runJUnitTest(__test, __test.test_parseTypeParameter_bounded);
6747 });
6748 _ut.test('test_parseTypeParameter_simple', () {
6749 final __test = new SimpleParserTest();
6750 runJUnitTest(__test, __test.test_parseTypeParameter_simple);
6751 });
6752 _ut.test('test_parseUnaryExpression_decrement_normal', () {
6753 final __test = new SimpleParserTest();
6754 runJUnitTest(__test, __test.test_parseUnaryExpression_decrement_normal);
6755 });
6756 _ut.test('test_parseUnaryExpression_decrement_super', () {
6757 final __test = new SimpleParserTest();
6758 runJUnitTest(__test, __test.test_parseUnaryExpression_decrement_super);
6759 });
6760 _ut.test('test_parseUnaryExpression_decrement_super_propertyAccess', () {
6761 final __test = new SimpleParserTest();
6762 runJUnitTest(__test, __test.test_parseUnaryExpression_decrement_super_pr opertyAccess);
6763 });
6764 _ut.test('test_parseUnaryExpression_increment_normal', () {
6765 final __test = new SimpleParserTest();
6766 runJUnitTest(__test, __test.test_parseUnaryExpression_increment_normal);
6767 });
6768 _ut.test('test_parseUnaryExpression_increment_super_index', () {
6769 final __test = new SimpleParserTest();
6770 runJUnitTest(__test, __test.test_parseUnaryExpression_increment_super_in dex);
6771 });
6772 _ut.test('test_parseUnaryExpression_increment_super_propertyAccess', () {
6773 final __test = new SimpleParserTest();
6774 runJUnitTest(__test, __test.test_parseUnaryExpression_increment_super_pr opertyAccess);
6775 });
6776 _ut.test('test_parseUnaryExpression_minus_normal', () {
6777 final __test = new SimpleParserTest();
6778 runJUnitTest(__test, __test.test_parseUnaryExpression_minus_normal);
6779 });
6780 _ut.test('test_parseUnaryExpression_minus_super', () {
6781 final __test = new SimpleParserTest();
6782 runJUnitTest(__test, __test.test_parseUnaryExpression_minus_super);
6783 });
6784 _ut.test('test_parseUnaryExpression_not_normal', () {
6785 final __test = new SimpleParserTest();
6786 runJUnitTest(__test, __test.test_parseUnaryExpression_not_normal);
6787 });
6788 _ut.test('test_parseUnaryExpression_not_super', () {
6789 final __test = new SimpleParserTest();
6790 runJUnitTest(__test, __test.test_parseUnaryExpression_not_super);
6791 });
6792 _ut.test('test_parseUnaryExpression_tilda_normal', () {
6793 final __test = new SimpleParserTest();
6794 runJUnitTest(__test, __test.test_parseUnaryExpression_tilda_normal);
6795 });
6796 _ut.test('test_parseUnaryExpression_tilda_super', () {
6797 final __test = new SimpleParserTest();
6798 runJUnitTest(__test, __test.test_parseUnaryExpression_tilda_super);
6799 });
6800 _ut.test('test_parseVariableDeclarationListAfterMetadata_const_noType', () {
6801 final __test = new SimpleParserTest();
6802 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_const_noType);
6803 });
6804 _ut.test('test_parseVariableDeclarationListAfterMetadata_const_type', () {
6805 final __test = new SimpleParserTest();
6806 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_const_type);
6807 });
6808 _ut.test('test_parseVariableDeclarationListAfterMetadata_final_noType', () {
6809 final __test = new SimpleParserTest();
6810 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_final_noType);
6811 });
6812 _ut.test('test_parseVariableDeclarationListAfterMetadata_final_type', () {
6813 final __test = new SimpleParserTest();
6814 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_final_type);
6815 });
6816 _ut.test('test_parseVariableDeclarationListAfterMetadata_type_multiple', ( ) {
6817 final __test = new SimpleParserTest();
6818 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_type_multiple);
6819 });
6820 _ut.test('test_parseVariableDeclarationListAfterMetadata_type_single', () {
6821 final __test = new SimpleParserTest();
6822 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_type_single);
6823 });
6824 _ut.test('test_parseVariableDeclarationListAfterMetadata_var_multiple', () {
6825 final __test = new SimpleParserTest();
6826 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_var_multiple);
6827 });
6828 _ut.test('test_parseVariableDeclarationListAfterMetadata_var_single', () {
6829 final __test = new SimpleParserTest();
6830 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_var_single);
6831 });
6832 _ut.test('test_parseVariableDeclarationListAfterType_type', () {
6833 final __test = new SimpleParserTest();
6834 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterType_t ype);
6835 });
6836 _ut.test('test_parseVariableDeclarationListAfterType_var', () {
6837 final __test = new SimpleParserTest();
6838 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterType_v ar);
6839 });
6840 _ut.test('test_parseVariableDeclarationStatementAfterMetadata_multiple', ( ) {
6841 final __test = new SimpleParserTest();
6842 runJUnitTest(__test, __test.test_parseVariableDeclarationStatementAfterM etadata_multiple);
6843 });
6844 _ut.test('test_parseVariableDeclarationStatementAfterMetadata_single', () {
6845 final __test = new SimpleParserTest();
6846 runJUnitTest(__test, __test.test_parseVariableDeclarationStatementAfterM etadata_single);
6847 });
6848 _ut.test('test_parseVariableDeclaration_equals', () {
6849 final __test = new SimpleParserTest();
6850 runJUnitTest(__test, __test.test_parseVariableDeclaration_equals);
6851 });
6852 _ut.test('test_parseVariableDeclaration_noEquals', () {
6853 final __test = new SimpleParserTest();
6854 runJUnitTest(__test, __test.test_parseVariableDeclaration_noEquals);
6855 });
6856 _ut.test('test_parseWhileStatement', () {
6857 final __test = new SimpleParserTest();
6858 runJUnitTest(__test, __test.test_parseWhileStatement);
6859 });
6860 _ut.test('test_parseWithClause_multiple', () {
6861 final __test = new SimpleParserTest();
6862 runJUnitTest(__test, __test.test_parseWithClause_multiple);
6863 });
6864 _ut.test('test_parseWithClause_single', () {
6865 final __test = new SimpleParserTest();
6866 runJUnitTest(__test, __test.test_parseWithClause_single);
6867 });
6868 _ut.test('test_skipPrefixedIdentifier_invalid', () {
6869 final __test = new SimpleParserTest();
6870 runJUnitTest(__test, __test.test_skipPrefixedIdentifier_invalid);
6871 });
6872 _ut.test('test_skipPrefixedIdentifier_notPrefixed', () {
6873 final __test = new SimpleParserTest();
6874 runJUnitTest(__test, __test.test_skipPrefixedIdentifier_notPrefixed);
6875 });
6876 _ut.test('test_skipPrefixedIdentifier_prefixed', () {
6877 final __test = new SimpleParserTest();
6878 runJUnitTest(__test, __test.test_skipPrefixedIdentifier_prefixed);
6879 });
6880 _ut.test('test_skipReturnType_invalid', () {
6881 final __test = new SimpleParserTest();
6882 runJUnitTest(__test, __test.test_skipReturnType_invalid);
6883 });
6884 _ut.test('test_skipReturnType_type', () {
6885 final __test = new SimpleParserTest();
6886 runJUnitTest(__test, __test.test_skipReturnType_type);
6887 });
6888 _ut.test('test_skipReturnType_void', () {
6889 final __test = new SimpleParserTest();
6890 runJUnitTest(__test, __test.test_skipReturnType_void);
6891 });
6892 _ut.test('test_skipSimpleIdentifier_identifier', () {
6893 final __test = new SimpleParserTest();
6894 runJUnitTest(__test, __test.test_skipSimpleIdentifier_identifier);
6895 });
6896 _ut.test('test_skipSimpleIdentifier_invalid', () {
6897 final __test = new SimpleParserTest();
6898 runJUnitTest(__test, __test.test_skipSimpleIdentifier_invalid);
6899 });
6900 _ut.test('test_skipSimpleIdentifier_pseudoKeyword', () {
6901 final __test = new SimpleParserTest();
6902 runJUnitTest(__test, __test.test_skipSimpleIdentifier_pseudoKeyword);
6903 });
6904 _ut.test('test_skipStringLiteral_adjacent', () {
6905 final __test = new SimpleParserTest();
6906 runJUnitTest(__test, __test.test_skipStringLiteral_adjacent);
6907 });
6908 _ut.test('test_skipStringLiteral_interpolated', () {
6909 final __test = new SimpleParserTest();
6910 runJUnitTest(__test, __test.test_skipStringLiteral_interpolated);
6911 });
6912 _ut.test('test_skipStringLiteral_invalid', () {
6913 final __test = new SimpleParserTest();
6914 runJUnitTest(__test, __test.test_skipStringLiteral_invalid);
6915 });
6916 _ut.test('test_skipStringLiteral_single', () {
6917 final __test = new SimpleParserTest();
6918 runJUnitTest(__test, __test.test_skipStringLiteral_single);
6919 });
6920 _ut.test('test_skipTypeArgumentList_invalid', () {
6921 final __test = new SimpleParserTest();
6922 runJUnitTest(__test, __test.test_skipTypeArgumentList_invalid);
6923 });
6924 _ut.test('test_skipTypeArgumentList_multiple', () {
6925 final __test = new SimpleParserTest();
6926 runJUnitTest(__test, __test.test_skipTypeArgumentList_multiple);
6927 });
6928 _ut.test('test_skipTypeArgumentList_single', () {
6929 final __test = new SimpleParserTest();
6930 runJUnitTest(__test, __test.test_skipTypeArgumentList_single);
6931 });
6932 _ut.test('test_skipTypeName_invalid', () {
6933 final __test = new SimpleParserTest();
6934 runJUnitTest(__test, __test.test_skipTypeName_invalid);
6935 });
6936 _ut.test('test_skipTypeName_parameterized', () {
6937 final __test = new SimpleParserTest();
6938 runJUnitTest(__test, __test.test_skipTypeName_parameterized);
6939 });
6940 _ut.test('test_skipTypeName_simple', () {
6941 final __test = new SimpleParserTest();
6942 runJUnitTest(__test, __test.test_skipTypeName_simple);
6943 });
6944 });
6945 }
6946 }
6947
6948 class AnalysisErrorListener_SimpleParserTest_computeStringValue implements Analy sisErrorListener {
6949 @override
6950 void onError(AnalysisError event) {
6951 JUnitTestCase.fail("Unexpected compilation error: ${event.message} (${event. offset}, ${event.length})");
6952 }
6953 }
6954
6955 class NonErrorParserTest extends ParserTestCase { 25 class NonErrorParserTest extends ParserTestCase {
6956 void test_constFactory_external() { 26 void test_constFactory_external() {
6957 ParserTestCase.parse("parseClassMember", <Object> ["C"], "external const fac tory C();"); 27 ParserTestCase.parse("parseClassMember", <Object> ["C"], "external const fac tory C();");
6958 } 28 }
6959 29
6960 static dartSuite() { 30 static dartSuite() {
6961 _ut.group('NonErrorParserTest', () { 31 _ut.group('NonErrorParserTest', () {
6962 _ut.test('test_constFactory_external', () { 32 _ut.test('test_constFactory_external', () {
6963 final __test = new NonErrorParserTest(); 33 final __test = new NonErrorParserTest();
6964 runJUnitTest(__test, __test.test_constFactory_external); 34 runJUnitTest(__test, __test.test_constFactory_external);
6965 }); 35 });
6966 }); 36 });
6967 } 37 }
6968 } 38 }
6969 39
6970 /**
6971 * The class `ComplexParserTest` defines parser tests that test the parsing of m ore complex
6972 * code fragments or the interactions between multiple parsing methods. For exam ple, tests to ensure
6973 * that the precedence of operations is being handled correctly should be define d in this class.
6974 *
6975 * Simpler tests should be defined in the class [SimpleParserTest].
6976 */
6977 class ComplexParserTest extends ParserTestCase {
6978 void test_additiveExpression_normal() {
6979 BinaryExpression expression = ParserTestCase.parseExpression("x + y - z", [] );
6980 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
6981 }
6982
6983 void test_additiveExpression_noSpaces() {
6984 BinaryExpression expression = ParserTestCase.parseExpression("i+1", []);
6985 EngineTestCase.assertInstanceOf((obj) => obj is SimpleIdentifier, SimpleIden tifier, expression.leftOperand);
6986 EngineTestCase.assertInstanceOf((obj) => obj is IntegerLiteral, IntegerLiter al, expression.rightOperand);
6987 }
6988
6989 void test_additiveExpression_precedence_multiplicative_left() {
6990 BinaryExpression expression = ParserTestCase.parseExpression("x * y + z", [] );
6991 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
6992 }
6993
6994 void test_additiveExpression_precedence_multiplicative_left_withSuper() {
6995 BinaryExpression expression = ParserTestCase.parseExpression("super * y - z" , []);
6996 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
6997 }
6998
6999 void test_additiveExpression_precedence_multiplicative_right() {
7000 BinaryExpression expression = ParserTestCase.parseExpression("x + y * z", [] );
7001 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.rightOperand);
7002 }
7003
7004 void test_additiveExpression_super() {
7005 BinaryExpression expression = ParserTestCase.parseExpression("super + y - z" , []);
7006 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7007 }
7008
7009 void test_assignableExpression_arguments_normal_chain() {
7010 PropertyAccess propertyAccess1 = ParserTestCase.parseExpression("a(b)(c).d(e ).f", []);
7011 JUnitTestCase.assertEquals("f", propertyAccess1.propertyName.name);
7012 //
7013 // a(b)(c).d(e)
7014 //
7015 MethodInvocation invocation2 = EngineTestCase.assertInstanceOf((obj) => obj is MethodInvocation, MethodInvocation, propertyAccess1.target);
7016 JUnitTestCase.assertEquals("d", invocation2.methodName.name);
7017 ArgumentList argumentList2 = invocation2.argumentList;
7018 JUnitTestCase.assertNotNull(argumentList2);
7019 EngineTestCase.assertSizeOfList(1, argumentList2.arguments);
7020 //
7021 // a(b)(c)
7022 //
7023 FunctionExpressionInvocation invocation3 = EngineTestCase.assertInstanceOf(( obj) => obj is FunctionExpressionInvocation, FunctionExpressionInvocation, invoc ation2.target);
7024 ArgumentList argumentList3 = invocation3.argumentList;
7025 JUnitTestCase.assertNotNull(argumentList3);
7026 EngineTestCase.assertSizeOfList(1, argumentList3.arguments);
7027 //
7028 // a(b)
7029 //
7030 MethodInvocation invocation4 = EngineTestCase.assertInstanceOf((obj) => obj is MethodInvocation, MethodInvocation, invocation3.function);
7031 JUnitTestCase.assertEquals("a", invocation4.methodName.name);
7032 ArgumentList argumentList4 = invocation4.argumentList;
7033 JUnitTestCase.assertNotNull(argumentList4);
7034 EngineTestCase.assertSizeOfList(1, argumentList4.arguments);
7035 }
7036
7037 void test_assignmentExpression_compound() {
7038 AssignmentExpression expression = ParserTestCase.parseExpression("x = y = 0" , []);
7039 EngineTestCase.assertInstanceOf((obj) => obj is SimpleIdentifier, SimpleIden tifier, expression.leftHandSide);
7040 EngineTestCase.assertInstanceOf((obj) => obj is AssignmentExpression, Assign mentExpression, expression.rightHandSide);
7041 }
7042
7043 void test_assignmentExpression_indexExpression() {
7044 AssignmentExpression expression = ParserTestCase.parseExpression("x[1] = 0", []);
7045 EngineTestCase.assertInstanceOf((obj) => obj is IndexExpression, IndexExpres sion, expression.leftHandSide);
7046 EngineTestCase.assertInstanceOf((obj) => obj is IntegerLiteral, IntegerLiter al, expression.rightHandSide);
7047 }
7048
7049 void test_assignmentExpression_prefixedIdentifier() {
7050 AssignmentExpression expression = ParserTestCase.parseExpression("x.y = 0", []);
7051 EngineTestCase.assertInstanceOf((obj) => obj is PrefixedIdentifier, Prefixed Identifier, expression.leftHandSide);
7052 EngineTestCase.assertInstanceOf((obj) => obj is IntegerLiteral, IntegerLiter al, expression.rightHandSide);
7053 }
7054
7055 void test_assignmentExpression_propertyAccess() {
7056 AssignmentExpression expression = ParserTestCase.parseExpression("super.y = 0", []);
7057 EngineTestCase.assertInstanceOf((obj) => obj is PropertyAccess, PropertyAcce ss, expression.leftHandSide);
7058 EngineTestCase.assertInstanceOf((obj) => obj is IntegerLiteral, IntegerLiter al, expression.rightHandSide);
7059 }
7060
7061 void test_bitwiseAndExpression_normal() {
7062 BinaryExpression expression = ParserTestCase.parseExpression("x & y & z", [] );
7063 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7064 }
7065
7066 void test_bitwiseAndExpression_precedence_equality_left() {
7067 BinaryExpression expression = ParserTestCase.parseExpression("x == y && z", []);
7068 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7069 }
7070
7071 void test_bitwiseAndExpression_precedence_equality_right() {
7072 BinaryExpression expression = ParserTestCase.parseExpression("x && y == z", []);
7073 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.rightOperand);
7074 }
7075
7076 void test_bitwiseAndExpression_super() {
7077 BinaryExpression expression = ParserTestCase.parseExpression("super & y & z" , []);
7078 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7079 }
7080
7081 void test_bitwiseOrExpression_normal() {
7082 BinaryExpression expression = ParserTestCase.parseExpression("x | y | z", [] );
7083 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7084 }
7085
7086 void test_bitwiseOrExpression_precedence_xor_left() {
7087 BinaryExpression expression = ParserTestCase.parseExpression("x ^ y | z", [] );
7088 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7089 }
7090
7091 void test_bitwiseOrExpression_precedence_xor_right() {
7092 BinaryExpression expression = ParserTestCase.parseExpression("x | y ^ z", [] );
7093 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.rightOperand);
7094 }
7095
7096 void test_bitwiseOrExpression_super() {
7097 BinaryExpression expression = ParserTestCase.parseExpression("super | y | z" , []);
7098 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7099 }
7100
7101 void test_bitwiseXorExpression_normal() {
7102 BinaryExpression expression = ParserTestCase.parseExpression("x ^ y ^ z", [] );
7103 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7104 }
7105
7106 void test_bitwiseXorExpression_precedence_and_left() {
7107 BinaryExpression expression = ParserTestCase.parseExpression("x & y ^ z", [] );
7108 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7109 }
7110
7111 void test_bitwiseXorExpression_precedence_and_right() {
7112 BinaryExpression expression = ParserTestCase.parseExpression("x ^ y & z", [] );
7113 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.rightOperand);
7114 }
7115
7116 void test_bitwiseXorExpression_super() {
7117 BinaryExpression expression = ParserTestCase.parseExpression("super ^ y ^ z" , []);
7118 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7119 }
7120
7121 void test_cascade_withAssignment() {
7122 CascadeExpression cascade = ParserTestCase.parseExpression("new Map()..[3] = 4 ..[0] = 11;", []);
7123 Expression target = cascade.target;
7124 for (Expression section in cascade.cascadeSections) {
7125 EngineTestCase.assertInstanceOf((obj) => obj is AssignmentExpression, Assi gnmentExpression, section);
7126 Expression lhs = (section as AssignmentExpression).leftHandSide;
7127 EngineTestCase.assertInstanceOf((obj) => obj is IndexExpression, IndexExpr ession, lhs);
7128 IndexExpression index = lhs as IndexExpression;
7129 JUnitTestCase.assertTrue(index.isCascaded);
7130 JUnitTestCase.assertSame(target, index.realTarget);
7131 }
7132 }
7133
7134 void test_conditionalExpression_precedence_logicalOrExpression() {
7135 ConditionalExpression expression = ParserTestCase.parseExpression("a | b ? y : z", []);
7136 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.condition);
7137 }
7138
7139 void test_constructor_initializer_withParenthesizedExpression() {
7140 CompilationUnit unit = ParserTestCase.parseCompilationUnit(EngineTestCase.cr eateSource([
7141 "class C {",
7142 " C() :",
7143 " this.a = (b == null ? c : d) {",
7144 " }",
7145 "}"]), []);
7146 NodeList<CompilationUnitMember> declarations = unit.declarations;
7147 EngineTestCase.assertSizeOfList(1, declarations);
7148 }
7149
7150 void test_equalityExpression_normal() {
7151 BinaryExpression expression = ParserTestCase.parseExpression("x == y != z", [ParserErrorCode.EQUALITY_CANNOT_BE_EQUALITY_OPERAND]);
7152 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7153 }
7154
7155 void test_equalityExpression_precedence_relational_left() {
7156 BinaryExpression expression = ParserTestCase.parseExpression("x is y == z", []);
7157 EngineTestCase.assertInstanceOf((obj) => obj is IsExpression, IsExpression, expression.leftOperand);
7158 }
7159
7160 void test_equalityExpression_precedence_relational_right() {
7161 BinaryExpression expression = ParserTestCase.parseExpression("x == y is z", []);
7162 EngineTestCase.assertInstanceOf((obj) => obj is IsExpression, IsExpression, expression.rightOperand);
7163 }
7164
7165 void test_equalityExpression_super() {
7166 BinaryExpression expression = ParserTestCase.parseExpression("super == y != z", [ParserErrorCode.EQUALITY_CANNOT_BE_EQUALITY_OPERAND]);
7167 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7168 }
7169
7170 void test_logicalAndExpression() {
7171 BinaryExpression expression = ParserTestCase.parseExpression("x && y && z", []);
7172 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7173 }
7174
7175 void test_logicalAndExpression_precedence_bitwiseOr_left() {
7176 BinaryExpression expression = ParserTestCase.parseExpression("x | y < z", [] );
7177 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7178 }
7179
7180 void test_logicalAndExpression_precedence_bitwiseOr_right() {
7181 BinaryExpression expression = ParserTestCase.parseExpression("x < y | z", [] );
7182 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.rightOperand);
7183 }
7184
7185 void test_logicalOrExpression() {
7186 BinaryExpression expression = ParserTestCase.parseExpression("x || y || z", []);
7187 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7188 }
7189
7190 void test_logicalOrExpression_precedence_logicalAnd_left() {
7191 BinaryExpression expression = ParserTestCase.parseExpression("x && y || z", []);
7192 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7193 }
7194
7195 void test_logicalOrExpression_precedence_logicalAnd_right() {
7196 BinaryExpression expression = ParserTestCase.parseExpression("x || y && z", []);
7197 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.rightOperand);
7198 }
7199
7200 void test_multipleLabels_statement() {
7201 LabeledStatement statement = ParserTestCase.parseStatement("a: b: c: return x;", []);
7202 EngineTestCase.assertSizeOfList(3, statement.labels);
7203 EngineTestCase.assertInstanceOf((obj) => obj is ReturnStatement, ReturnState ment, statement.statement);
7204 }
7205
7206 void test_multiplicativeExpression_normal() {
7207 BinaryExpression expression = ParserTestCase.parseExpression("x * y / z", [] );
7208 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7209 }
7210
7211 void test_multiplicativeExpression_precedence_unary_left() {
7212 BinaryExpression expression = ParserTestCase.parseExpression("-x * y", []);
7213 EngineTestCase.assertInstanceOf((obj) => obj is PrefixExpression, PrefixExpr ession, expression.leftOperand);
7214 }
7215
7216 void test_multiplicativeExpression_precedence_unary_right() {
7217 BinaryExpression expression = ParserTestCase.parseExpression("x * -y", []);
7218 EngineTestCase.assertInstanceOf((obj) => obj is PrefixExpression, PrefixExpr ession, expression.rightOperand);
7219 }
7220
7221 void test_multiplicativeExpression_super() {
7222 BinaryExpression expression = ParserTestCase.parseExpression("super * y / z" , []);
7223 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7224 }
7225
7226 void test_relationalExpression_precedence_shift_right() {
7227 IsExpression expression = ParserTestCase.parseExpression("x << y is z", []);
7228 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.expression);
7229 }
7230
7231 void test_shiftExpression_normal() {
7232 BinaryExpression expression = ParserTestCase.parseExpression("x >> 4 << 3", []);
7233 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7234 }
7235
7236 void test_shiftExpression_precedence_additive_left() {
7237 BinaryExpression expression = ParserTestCase.parseExpression("x + y << z", [ ]);
7238 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7239 }
7240
7241 void test_shiftExpression_precedence_additive_right() {
7242 BinaryExpression expression = ParserTestCase.parseExpression("x << y + z", [ ]);
7243 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.rightOperand);
7244 }
7245
7246 void test_shiftExpression_super() {
7247 BinaryExpression expression = ParserTestCase.parseExpression("super >> 4 << 3", []);
7248 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7249 }
7250
7251 void test_topLevelVariable_withMetadata() {
7252 ParserTestCase.parseCompilationUnit("String @A string;", []);
7253 }
7254
7255 static dartSuite() {
7256 _ut.group('ComplexParserTest', () {
7257 _ut.test('test_additiveExpression_noSpaces', () {
7258 final __test = new ComplexParserTest();
7259 runJUnitTest(__test, __test.test_additiveExpression_noSpaces);
7260 });
7261 _ut.test('test_additiveExpression_normal', () {
7262 final __test = new ComplexParserTest();
7263 runJUnitTest(__test, __test.test_additiveExpression_normal);
7264 });
7265 _ut.test('test_additiveExpression_precedence_multiplicative_left', () {
7266 final __test = new ComplexParserTest();
7267 runJUnitTest(__test, __test.test_additiveExpression_precedence_multiplic ative_left);
7268 });
7269 _ut.test('test_additiveExpression_precedence_multiplicative_left_withSuper ', () {
7270 final __test = new ComplexParserTest();
7271 runJUnitTest(__test, __test.test_additiveExpression_precedence_multiplic ative_left_withSuper);
7272 });
7273 _ut.test('test_additiveExpression_precedence_multiplicative_right', () {
7274 final __test = new ComplexParserTest();
7275 runJUnitTest(__test, __test.test_additiveExpression_precedence_multiplic ative_right);
7276 });
7277 _ut.test('test_additiveExpression_super', () {
7278 final __test = new ComplexParserTest();
7279 runJUnitTest(__test, __test.test_additiveExpression_super);
7280 });
7281 _ut.test('test_assignableExpression_arguments_normal_chain', () {
7282 final __test = new ComplexParserTest();
7283 runJUnitTest(__test, __test.test_assignableExpression_arguments_normal_c hain);
7284 });
7285 _ut.test('test_assignmentExpression_compound', () {
7286 final __test = new ComplexParserTest();
7287 runJUnitTest(__test, __test.test_assignmentExpression_compound);
7288 });
7289 _ut.test('test_assignmentExpression_indexExpression', () {
7290 final __test = new ComplexParserTest();
7291 runJUnitTest(__test, __test.test_assignmentExpression_indexExpression);
7292 });
7293 _ut.test('test_assignmentExpression_prefixedIdentifier', () {
7294 final __test = new ComplexParserTest();
7295 runJUnitTest(__test, __test.test_assignmentExpression_prefixedIdentifier );
7296 });
7297 _ut.test('test_assignmentExpression_propertyAccess', () {
7298 final __test = new ComplexParserTest();
7299 runJUnitTest(__test, __test.test_assignmentExpression_propertyAccess);
7300 });
7301 _ut.test('test_bitwiseAndExpression_normal', () {
7302 final __test = new ComplexParserTest();
7303 runJUnitTest(__test, __test.test_bitwiseAndExpression_normal);
7304 });
7305 _ut.test('test_bitwiseAndExpression_precedence_equality_left', () {
7306 final __test = new ComplexParserTest();
7307 runJUnitTest(__test, __test.test_bitwiseAndExpression_precedence_equalit y_left);
7308 });
7309 _ut.test('test_bitwiseAndExpression_precedence_equality_right', () {
7310 final __test = new ComplexParserTest();
7311 runJUnitTest(__test, __test.test_bitwiseAndExpression_precedence_equalit y_right);
7312 });
7313 _ut.test('test_bitwiseAndExpression_super', () {
7314 final __test = new ComplexParserTest();
7315 runJUnitTest(__test, __test.test_bitwiseAndExpression_super);
7316 });
7317 _ut.test('test_bitwiseOrExpression_normal', () {
7318 final __test = new ComplexParserTest();
7319 runJUnitTest(__test, __test.test_bitwiseOrExpression_normal);
7320 });
7321 _ut.test('test_bitwiseOrExpression_precedence_xor_left', () {
7322 final __test = new ComplexParserTest();
7323 runJUnitTest(__test, __test.test_bitwiseOrExpression_precedence_xor_left );
7324 });
7325 _ut.test('test_bitwiseOrExpression_precedence_xor_right', () {
7326 final __test = new ComplexParserTest();
7327 runJUnitTest(__test, __test.test_bitwiseOrExpression_precedence_xor_righ t);
7328 });
7329 _ut.test('test_bitwiseOrExpression_super', () {
7330 final __test = new ComplexParserTest();
7331 runJUnitTest(__test, __test.test_bitwiseOrExpression_super);
7332 });
7333 _ut.test('test_bitwiseXorExpression_normal', () {
7334 final __test = new ComplexParserTest();
7335 runJUnitTest(__test, __test.test_bitwiseXorExpression_normal);
7336 });
7337 _ut.test('test_bitwiseXorExpression_precedence_and_left', () {
7338 final __test = new ComplexParserTest();
7339 runJUnitTest(__test, __test.test_bitwiseXorExpression_precedence_and_lef t);
7340 });
7341 _ut.test('test_bitwiseXorExpression_precedence_and_right', () {
7342 final __test = new ComplexParserTest();
7343 runJUnitTest(__test, __test.test_bitwiseXorExpression_precedence_and_rig ht);
7344 });
7345 _ut.test('test_bitwiseXorExpression_super', () {
7346 final __test = new ComplexParserTest();
7347 runJUnitTest(__test, __test.test_bitwiseXorExpression_super);
7348 });
7349 _ut.test('test_cascade_withAssignment', () {
7350 final __test = new ComplexParserTest();
7351 runJUnitTest(__test, __test.test_cascade_withAssignment);
7352 });
7353 _ut.test('test_conditionalExpression_precedence_logicalOrExpression', () {
7354 final __test = new ComplexParserTest();
7355 runJUnitTest(__test, __test.test_conditionalExpression_precedence_logica lOrExpression);
7356 });
7357 _ut.test('test_constructor_initializer_withParenthesizedExpression', () {
7358 final __test = new ComplexParserTest();
7359 runJUnitTest(__test, __test.test_constructor_initializer_withParenthesiz edExpression);
7360 });
7361 _ut.test('test_equalityExpression_normal', () {
7362 final __test = new ComplexParserTest();
7363 runJUnitTest(__test, __test.test_equalityExpression_normal);
7364 });
7365 _ut.test('test_equalityExpression_precedence_relational_left', () {
7366 final __test = new ComplexParserTest();
7367 runJUnitTest(__test, __test.test_equalityExpression_precedence_relationa l_left);
7368 });
7369 _ut.test('test_equalityExpression_precedence_relational_right', () {
7370 final __test = new ComplexParserTest();
7371 runJUnitTest(__test, __test.test_equalityExpression_precedence_relationa l_right);
7372 });
7373 _ut.test('test_equalityExpression_super', () {
7374 final __test = new ComplexParserTest();
7375 runJUnitTest(__test, __test.test_equalityExpression_super);
7376 });
7377 _ut.test('test_logicalAndExpression', () {
7378 final __test = new ComplexParserTest();
7379 runJUnitTest(__test, __test.test_logicalAndExpression);
7380 });
7381 _ut.test('test_logicalAndExpression_precedence_bitwiseOr_left', () {
7382 final __test = new ComplexParserTest();
7383 runJUnitTest(__test, __test.test_logicalAndExpression_precedence_bitwise Or_left);
7384 });
7385 _ut.test('test_logicalAndExpression_precedence_bitwiseOr_right', () {
7386 final __test = new ComplexParserTest();
7387 runJUnitTest(__test, __test.test_logicalAndExpression_precedence_bitwise Or_right);
7388 });
7389 _ut.test('test_logicalOrExpression', () {
7390 final __test = new ComplexParserTest();
7391 runJUnitTest(__test, __test.test_logicalOrExpression);
7392 });
7393 _ut.test('test_logicalOrExpression_precedence_logicalAnd_left', () {
7394 final __test = new ComplexParserTest();
7395 runJUnitTest(__test, __test.test_logicalOrExpression_precedence_logicalA nd_left);
7396 });
7397 _ut.test('test_logicalOrExpression_precedence_logicalAnd_right', () {
7398 final __test = new ComplexParserTest();
7399 runJUnitTest(__test, __test.test_logicalOrExpression_precedence_logicalA nd_right);
7400 });
7401 _ut.test('test_multipleLabels_statement', () {
7402 final __test = new ComplexParserTest();
7403 runJUnitTest(__test, __test.test_multipleLabels_statement);
7404 });
7405 _ut.test('test_multiplicativeExpression_normal', () {
7406 final __test = new ComplexParserTest();
7407 runJUnitTest(__test, __test.test_multiplicativeExpression_normal);
7408 });
7409 _ut.test('test_multiplicativeExpression_precedence_unary_left', () {
7410 final __test = new ComplexParserTest();
7411 runJUnitTest(__test, __test.test_multiplicativeExpression_precedence_una ry_left);
7412 });
7413 _ut.test('test_multiplicativeExpression_precedence_unary_right', () {
7414 final __test = new ComplexParserTest();
7415 runJUnitTest(__test, __test.test_multiplicativeExpression_precedence_una ry_right);
7416 });
7417 _ut.test('test_multiplicativeExpression_super', () {
7418 final __test = new ComplexParserTest();
7419 runJUnitTest(__test, __test.test_multiplicativeExpression_super);
7420 });
7421 _ut.test('test_relationalExpression_precedence_shift_right', () {
7422 final __test = new ComplexParserTest();
7423 runJUnitTest(__test, __test.test_relationalExpression_precedence_shift_r ight);
7424 });
7425 _ut.test('test_shiftExpression_normal', () {
7426 final __test = new ComplexParserTest();
7427 runJUnitTest(__test, __test.test_shiftExpression_normal);
7428 });
7429 _ut.test('test_shiftExpression_precedence_additive_left', () {
7430 final __test = new ComplexParserTest();
7431 runJUnitTest(__test, __test.test_shiftExpression_precedence_additive_lef t);
7432 });
7433 _ut.test('test_shiftExpression_precedence_additive_right', () {
7434 final __test = new ComplexParserTest();
7435 runJUnitTest(__test, __test.test_shiftExpression_precedence_additive_rig ht);
7436 });
7437 _ut.test('test_shiftExpression_super', () {
7438 final __test = new ComplexParserTest();
7439 runJUnitTest(__test, __test.test_shiftExpression_super);
7440 });
7441 _ut.test('test_topLevelVariable_withMetadata', () {
7442 final __test = new ComplexParserTest();
7443 runJUnitTest(__test, __test.test_topLevelVariable_withMetadata);
7444 });
7445 });
7446 }
7447 }
7448
7449 class ParserTestCase extends EngineTestCase { 40 class ParserTestCase extends EngineTestCase {
7450 /** 41 /**
7451 * An empty array of objects used as arguments to zero-argument methods. 42 * An empty array of objects used as arguments to zero-argument methods.
7452 */ 43 */
7453 static List<Object> _EMPTY_ARGUMENTS = new List<Object>(0); 44 static List<Object> _EMPTY_ARGUMENTS = new List<Object>(0);
7454 45
7455 /** 46 /**
7456 * A flag indicating whether parser is to parse function bodies. 47 * A flag indicating whether parser is to parse function bodies.
7457 */ 48 */
7458 static bool parseFunctionBodies = true; 49 static bool parseFunctionBodies = true;
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
7775 if (nodeStart < parentStart) { 366 if (nodeStart < parentStart) {
7776 _errors.add("Invalid source start (${nodeStart}) for ${node.runtimeType. toString()} inside ${parent.runtimeType.toString()} (${parentStart})"); 367 _errors.add("Invalid source start (${nodeStart}) for ${node.runtimeType. toString()} inside ${parent.runtimeType.toString()} (${parentStart})");
7777 } 368 }
7778 if (nodeEnd > parentEnd) { 369 if (nodeEnd > parentEnd) {
7779 _errors.add("Invalid source end (${nodeEnd}) for ${node.runtimeType.toSt ring()} inside ${parent.runtimeType.toString()} (${parentStart})"); 370 _errors.add("Invalid source end (${nodeEnd}) for ${node.runtimeType.toSt ring()} inside ${parent.runtimeType.toString()} (${parentStart})");
7780 } 371 }
7781 } 372 }
7782 } 373 }
7783 } 374 }
7784 375
7785 class ResolutionCopierTest extends EngineTestCase { 376 /**
7786 void test_visitAnnotation() { 377 * The class `ComplexParserTest` defines parser tests that test the parsing of m ore complex
7787 String annotationName = "proxy"; 378 * code fragments or the interactions between multiple parsing methods. For exam ple, tests to ensure
7788 Annotation fromNode = AstFactory.annotation(AstFactory.identifier3(annotatio nName)); 379 * that the precedence of operations is being handled correctly should be define d in this class.
7789 Element element = ElementFactory.topLevelVariableElement2(annotationName); 380 *
7790 fromNode.element = element; 381 * Simpler tests should be defined in the class [SimpleParserTest].
7791 Annotation toNode = AstFactory.annotation(AstFactory.identifier3(annotationN ame)); 382 */
7792 ResolutionCopier.copyResolutionData(fromNode, toNode); 383 class ComplexParserTest extends ParserTestCase {
7793 JUnitTestCase.assertSame(element, toNode.element); 384 void test_additiveExpression_normal() {
7794 } 385 BinaryExpression expression = ParserTestCase.parseExpression("x + y - z", [] );
7795 386 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7796 void test_visitArgumentDefinitionTest() { 387 }
7797 String identifier = "p"; 388
7798 ArgumentDefinitionTest fromNode = AstFactory.argumentDefinitionTest(identifi er); 389 void test_additiveExpression_noSpaces() {
7799 DartType propagatedType = ElementFactory.classElement2("A", []).type; 390 BinaryExpression expression = ParserTestCase.parseExpression("i+1", []);
7800 fromNode.propagatedType = propagatedType; 391 EngineTestCase.assertInstanceOf((obj) => obj is SimpleIdentifier, SimpleIden tifier, expression.leftOperand);
7801 DartType staticType = ElementFactory.classElement2("B", []).type; 392 EngineTestCase.assertInstanceOf((obj) => obj is IntegerLiteral, IntegerLiter al, expression.rightOperand);
7802 fromNode.staticType = staticType; 393 }
7803 ArgumentDefinitionTest toNode = AstFactory.argumentDefinitionTest(identifier ); 394
7804 ResolutionCopier.copyResolutionData(fromNode, toNode); 395 void test_additiveExpression_precedence_multiplicative_left() {
7805 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 396 BinaryExpression expression = ParserTestCase.parseExpression("x * y + z", [] );
7806 JUnitTestCase.assertSame(staticType, toNode.staticType); 397 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7807 } 398 }
7808 399
7809 void test_visitAsExpression() { 400 void test_additiveExpression_precedence_multiplicative_left_withSuper() {
7810 AsExpression fromNode = AstFactory.asExpression(AstFactory.identifier3("x"), AstFactory.typeName4("A", [])); 401 BinaryExpression expression = ParserTestCase.parseExpression("super * y - z" , []);
7811 DartType propagatedType = ElementFactory.classElement2("A", []).type; 402 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7812 fromNode.propagatedType = propagatedType; 403 }
7813 DartType staticType = ElementFactory.classElement2("B", []).type; 404
7814 fromNode.staticType = staticType; 405 void test_additiveExpression_precedence_multiplicative_right() {
7815 AsExpression toNode = AstFactory.asExpression(AstFactory.identifier3("x"), A stFactory.typeName4("A", [])); 406 BinaryExpression expression = ParserTestCase.parseExpression("x + y * z", [] );
7816 ResolutionCopier.copyResolutionData(fromNode, toNode); 407 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.rightOperand);
7817 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 408 }
7818 JUnitTestCase.assertSame(staticType, toNode.staticType); 409
7819 } 410 void test_additiveExpression_super() {
7820 411 BinaryExpression expression = ParserTestCase.parseExpression("super + y - z" , []);
7821 void test_visitAssignmentExpression() { 412 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7822 AssignmentExpression fromNode = AstFactory.assignmentExpression(AstFactory.i dentifier3("a"), TokenType.PLUS_EQ, AstFactory.identifier3("b")); 413 }
7823 DartType propagatedType = ElementFactory.classElement2("C", []).type; 414
7824 MethodElement propagatedElement = ElementFactory.methodElement("+", propagat edType, []); 415 void test_assignableExpression_arguments_normal_chain() {
7825 fromNode.propagatedElement = propagatedElement; 416 PropertyAccess propertyAccess1 = ParserTestCase.parseExpression("a(b)(c).d(e ).f", []);
7826 fromNode.propagatedType = propagatedType; 417 JUnitTestCase.assertEquals("f", propertyAccess1.propertyName.name);
7827 DartType staticType = ElementFactory.classElement2("C", []).type; 418 //
7828 MethodElement staticElement = ElementFactory.methodElement("+", staticType, []); 419 // a(b)(c).d(e)
7829 fromNode.staticElement = staticElement; 420 //
7830 fromNode.staticType = staticType; 421 MethodInvocation invocation2 = EngineTestCase.assertInstanceOf((obj) => obj is MethodInvocation, MethodInvocation, propertyAccess1.target);
7831 AssignmentExpression toNode = AstFactory.assignmentExpression(AstFactory.ide ntifier3("a"), TokenType.PLUS_EQ, AstFactory.identifier3("b")); 422 JUnitTestCase.assertEquals("d", invocation2.methodName.name);
7832 ResolutionCopier.copyResolutionData(fromNode, toNode); 423 ArgumentList argumentList2 = invocation2.argumentList;
7833 JUnitTestCase.assertSame(propagatedElement, toNode.propagatedElement); 424 JUnitTestCase.assertNotNull(argumentList2);
7834 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 425 EngineTestCase.assertSizeOfList(1, argumentList2.arguments);
7835 JUnitTestCase.assertSame(staticElement, toNode.staticElement); 426 //
7836 JUnitTestCase.assertSame(staticType, toNode.staticType); 427 // a(b)(c)
7837 } 428 //
7838 429 FunctionExpressionInvocation invocation3 = EngineTestCase.assertInstanceOf(( obj) => obj is FunctionExpressionInvocation, FunctionExpressionInvocation, invoc ation2.target);
7839 void test_visitBinaryExpression() { 430 ArgumentList argumentList3 = invocation3.argumentList;
7840 BinaryExpression fromNode = AstFactory.binaryExpression(AstFactory.identifie r3("a"), TokenType.PLUS, AstFactory.identifier3("b")); 431 JUnitTestCase.assertNotNull(argumentList3);
7841 DartType propagatedType = ElementFactory.classElement2("C", []).type; 432 EngineTestCase.assertSizeOfList(1, argumentList3.arguments);
7842 MethodElement propagatedElement = ElementFactory.methodElement("+", propagat edType, []); 433 //
7843 fromNode.propagatedElement = propagatedElement; 434 // a(b)
7844 fromNode.propagatedType = propagatedType; 435 //
7845 DartType staticType = ElementFactory.classElement2("C", []).type; 436 MethodInvocation invocation4 = EngineTestCase.assertInstanceOf((obj) => obj is MethodInvocation, MethodInvocation, invocation3.function);
7846 MethodElement staticElement = ElementFactory.methodElement("+", staticType, []); 437 JUnitTestCase.assertEquals("a", invocation4.methodName.name);
7847 fromNode.staticElement = staticElement; 438 ArgumentList argumentList4 = invocation4.argumentList;
7848 fromNode.staticType = staticType; 439 JUnitTestCase.assertNotNull(argumentList4);
7849 BinaryExpression toNode = AstFactory.binaryExpression(AstFactory.identifier3 ("a"), TokenType.PLUS, AstFactory.identifier3("b")); 440 EngineTestCase.assertSizeOfList(1, argumentList4.arguments);
7850 ResolutionCopier.copyResolutionData(fromNode, toNode); 441 }
7851 JUnitTestCase.assertSame(propagatedElement, toNode.propagatedElement); 442
7852 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 443 void test_assignmentExpression_compound() {
7853 JUnitTestCase.assertSame(staticElement, toNode.staticElement); 444 AssignmentExpression expression = ParserTestCase.parseExpression("x = y = 0" , []);
7854 JUnitTestCase.assertSame(staticType, toNode.staticType); 445 EngineTestCase.assertInstanceOf((obj) => obj is SimpleIdentifier, SimpleIden tifier, expression.leftHandSide);
7855 } 446 EngineTestCase.assertInstanceOf((obj) => obj is AssignmentExpression, Assign mentExpression, expression.rightHandSide);
7856 447 }
7857 void test_visitBooleanLiteral() { 448
7858 BooleanLiteral fromNode = AstFactory.booleanLiteral(true); 449 void test_assignmentExpression_indexExpression() {
7859 DartType propagatedType = ElementFactory.classElement2("C", []).type; 450 AssignmentExpression expression = ParserTestCase.parseExpression("x[1] = 0", []);
7860 fromNode.propagatedType = propagatedType; 451 EngineTestCase.assertInstanceOf((obj) => obj is IndexExpression, IndexExpres sion, expression.leftHandSide);
7861 DartType staticType = ElementFactory.classElement2("C", []).type; 452 EngineTestCase.assertInstanceOf((obj) => obj is IntegerLiteral, IntegerLiter al, expression.rightHandSide);
7862 fromNode.staticType = staticType; 453 }
7863 BooleanLiteral toNode = AstFactory.booleanLiteral(true); 454
7864 ResolutionCopier.copyResolutionData(fromNode, toNode); 455 void test_assignmentExpression_prefixedIdentifier() {
7865 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 456 AssignmentExpression expression = ParserTestCase.parseExpression("x.y = 0", []);
7866 JUnitTestCase.assertSame(staticType, toNode.staticType); 457 EngineTestCase.assertInstanceOf((obj) => obj is PrefixedIdentifier, Prefixed Identifier, expression.leftHandSide);
7867 } 458 EngineTestCase.assertInstanceOf((obj) => obj is IntegerLiteral, IntegerLiter al, expression.rightHandSide);
7868 459 }
7869 void test_visitCascadeExpression() { 460
7870 CascadeExpression fromNode = AstFactory.cascadeExpression(AstFactory.identif ier3("a"), [AstFactory.identifier3("b")]); 461 void test_assignmentExpression_propertyAccess() {
7871 DartType propagatedType = ElementFactory.classElement2("C", []).type; 462 AssignmentExpression expression = ParserTestCase.parseExpression("super.y = 0", []);
7872 fromNode.propagatedType = propagatedType; 463 EngineTestCase.assertInstanceOf((obj) => obj is PropertyAccess, PropertyAcce ss, expression.leftHandSide);
7873 DartType staticType = ElementFactory.classElement2("C", []).type; 464 EngineTestCase.assertInstanceOf((obj) => obj is IntegerLiteral, IntegerLiter al, expression.rightHandSide);
7874 fromNode.staticType = staticType; 465 }
7875 CascadeExpression toNode = AstFactory.cascadeExpression(AstFactory.identifie r3("a"), [AstFactory.identifier3("b")]); 466
7876 ResolutionCopier.copyResolutionData(fromNode, toNode); 467 void test_bitwiseAndExpression_normal() {
7877 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 468 BinaryExpression expression = ParserTestCase.parseExpression("x & y & z", [] );
7878 JUnitTestCase.assertSame(staticType, toNode.staticType); 469 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7879 } 470 }
7880 471
7881 void test_visitCompilationUnit() { 472 void test_bitwiseAndExpression_precedence_equality_left() {
7882 CompilationUnit fromNode = AstFactory.compilationUnit(); 473 BinaryExpression expression = ParserTestCase.parseExpression("x == y && z", []);
7883 CompilationUnitElement element = new CompilationUnitElementImpl("test.dart") ; 474 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7884 fromNode.element = element; 475 }
7885 CompilationUnit toNode = AstFactory.compilationUnit(); 476
7886 ResolutionCopier.copyResolutionData(fromNode, toNode); 477 void test_bitwiseAndExpression_precedence_equality_right() {
7887 JUnitTestCase.assertSame(element, toNode.element); 478 BinaryExpression expression = ParserTestCase.parseExpression("x && y == z", []);
7888 } 479 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.rightOperand);
7889 480 }
7890 void test_visitConditionalExpression() { 481
7891 ConditionalExpression fromNode = AstFactory.conditionalExpression(AstFactory .identifier3("c"), AstFactory.identifier3("a"), AstFactory.identifier3("b")); 482 void test_bitwiseAndExpression_super() {
7892 DartType propagatedType = ElementFactory.classElement2("C", []).type; 483 BinaryExpression expression = ParserTestCase.parseExpression("super & y & z" , []);
7893 fromNode.propagatedType = propagatedType; 484 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7894 DartType staticType = ElementFactory.classElement2("C", []).type; 485 }
7895 fromNode.staticType = staticType; 486
7896 ConditionalExpression toNode = AstFactory.conditionalExpression(AstFactory.i dentifier3("c"), AstFactory.identifier3("a"), AstFactory.identifier3("b")); 487 void test_bitwiseOrExpression_normal() {
7897 ResolutionCopier.copyResolutionData(fromNode, toNode); 488 BinaryExpression expression = ParserTestCase.parseExpression("x | y | z", [] );
7898 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 489 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7899 JUnitTestCase.assertSame(staticType, toNode.staticType); 490 }
7900 } 491
7901 492 void test_bitwiseOrExpression_precedence_xor_left() {
7902 void test_visitConstructorDeclaration() { 493 BinaryExpression expression = ParserTestCase.parseExpression("x ^ y | z", [] );
7903 String className = "A"; 494 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7904 String constructorName = "c"; 495 }
7905 ConstructorDeclaration fromNode = AstFactory.constructorDeclaration(AstFacto ry.identifier3(className), constructorName, AstFactory.formalParameterList([]), null); 496
7906 ConstructorElement element = ElementFactory.constructorElement2(ElementFacto ry.classElement2(className, []), constructorName, []); 497 void test_bitwiseOrExpression_precedence_xor_right() {
7907 fromNode.element = element; 498 BinaryExpression expression = ParserTestCase.parseExpression("x | y ^ z", [] );
7908 ConstructorDeclaration toNode = AstFactory.constructorDeclaration(AstFactory .identifier3(className), constructorName, AstFactory.formalParameterList([]), nu ll); 499 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.rightOperand);
7909 ResolutionCopier.copyResolutionData(fromNode, toNode); 500 }
7910 JUnitTestCase.assertSame(element, toNode.element); 501
7911 } 502 void test_bitwiseOrExpression_super() {
7912 503 BinaryExpression expression = ParserTestCase.parseExpression("super | y | z" , []);
7913 void test_visitConstructorName() { 504 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7914 ConstructorName fromNode = AstFactory.constructorName(AstFactory.typeName4(" A", []), "c"); 505 }
7915 ConstructorElement staticElement = ElementFactory.constructorElement2(Elemen tFactory.classElement2("A", []), "c", []); 506
7916 fromNode.staticElement = staticElement; 507 void test_bitwiseXorExpression_normal() {
7917 ConstructorName toNode = AstFactory.constructorName(AstFactory.typeName4("A" , []), "c"); 508 BinaryExpression expression = ParserTestCase.parseExpression("x ^ y ^ z", [] );
7918 ResolutionCopier.copyResolutionData(fromNode, toNode); 509 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7919 JUnitTestCase.assertSame(staticElement, toNode.staticElement); 510 }
7920 } 511
7921 512 void test_bitwiseXorExpression_precedence_and_left() {
7922 void test_visitDoubleLiteral() { 513 BinaryExpression expression = ParserTestCase.parseExpression("x & y ^ z", [] );
7923 DoubleLiteral fromNode = AstFactory.doubleLiteral(1.0); 514 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7924 DartType propagatedType = ElementFactory.classElement2("C", []).type; 515 }
7925 fromNode.propagatedType = propagatedType; 516
7926 DartType staticType = ElementFactory.classElement2("C", []).type; 517 void test_bitwiseXorExpression_precedence_and_right() {
7927 fromNode.staticType = staticType; 518 BinaryExpression expression = ParserTestCase.parseExpression("x ^ y & z", [] );
7928 DoubleLiteral toNode = AstFactory.doubleLiteral(1.0); 519 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.rightOperand);
7929 ResolutionCopier.copyResolutionData(fromNode, toNode); 520 }
7930 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 521
7931 JUnitTestCase.assertSame(staticType, toNode.staticType); 522 void test_bitwiseXorExpression_super() {
7932 } 523 BinaryExpression expression = ParserTestCase.parseExpression("super ^ y ^ z" , []);
7933 524 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7934 void test_visitExportDirective() { 525 }
7935 ExportDirective fromNode = AstFactory.exportDirective2("dart:uri", []); 526
7936 ExportElement element = new ExportElementImpl(); 527 void test_cascade_withAssignment() {
7937 fromNode.element = element; 528 CascadeExpression cascade = ParserTestCase.parseExpression("new Map()..[3] = 4 ..[0] = 11;", []);
7938 ExportDirective toNode = AstFactory.exportDirective2("dart:uri", []); 529 Expression target = cascade.target;
7939 ResolutionCopier.copyResolutionData(fromNode, toNode); 530 for (Expression section in cascade.cascadeSections) {
7940 JUnitTestCase.assertSame(element, toNode.element); 531 EngineTestCase.assertInstanceOf((obj) => obj is AssignmentExpression, Assi gnmentExpression, section);
7941 } 532 Expression lhs = (section as AssignmentExpression).leftHandSide;
7942 533 EngineTestCase.assertInstanceOf((obj) => obj is IndexExpression, IndexExpr ession, lhs);
7943 void test_visitFunctionExpression() { 534 IndexExpression index = lhs as IndexExpression;
7944 FunctionExpression fromNode = AstFactory.functionExpression2(AstFactory.form alParameterList([]), AstFactory.emptyFunctionBody()); 535 JUnitTestCase.assertTrue(index.isCascaded);
7945 MethodElement element = ElementFactory.methodElement("m", ElementFactory.cla ssElement2("C", []).type, []); 536 JUnitTestCase.assertSame(target, index.realTarget);
7946 fromNode.element = element; 537 }
7947 DartType propagatedType = ElementFactory.classElement2("C", []).type; 538 }
7948 fromNode.propagatedType = propagatedType; 539
7949 DartType staticType = ElementFactory.classElement2("C", []).type; 540 void test_conditionalExpression_precedence_logicalOrExpression() {
7950 fromNode.staticType = staticType; 541 ConditionalExpression expression = ParserTestCase.parseExpression("a | b ? y : z", []);
7951 FunctionExpression toNode = AstFactory.functionExpression2(AstFactory.formal ParameterList([]), AstFactory.emptyFunctionBody()); 542 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.condition);
7952 ResolutionCopier.copyResolutionData(fromNode, toNode); 543 }
7953 JUnitTestCase.assertSame(element, toNode.element); 544
7954 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 545 void test_constructor_initializer_withParenthesizedExpression() {
7955 JUnitTestCase.assertSame(staticType, toNode.staticType); 546 CompilationUnit unit = ParserTestCase.parseCompilationUnit(EngineTestCase.cr eateSource([
7956 } 547 "class C {",
7957 548 " C() :",
7958 void test_visitFunctionExpressionInvocation() { 549 " this.a = (b == null ? c : d) {",
7959 FunctionExpressionInvocation fromNode = AstFactory.functionExpressionInvocat ion(AstFactory.identifier3("f"), []); 550 " }",
7960 MethodElement propagatedElement = ElementFactory.methodElement("m", ElementF actory.classElement2("C", []).type, []); 551 "}"]), []);
7961 fromNode.propagatedElement = propagatedElement; 552 NodeList<CompilationUnitMember> declarations = unit.declarations;
7962 DartType propagatedType = ElementFactory.classElement2("C", []).type; 553 EngineTestCase.assertSizeOfList(1, declarations);
7963 fromNode.propagatedType = propagatedType; 554 }
7964 MethodElement staticElement = ElementFactory.methodElement("m", ElementFacto ry.classElement2("C", []).type, []); 555
7965 fromNode.staticElement = staticElement; 556 void test_equalityExpression_normal() {
7966 DartType staticType = ElementFactory.classElement2("C", []).type; 557 BinaryExpression expression = ParserTestCase.parseExpression("x == y != z", [ParserErrorCode.EQUALITY_CANNOT_BE_EQUALITY_OPERAND]);
7967 fromNode.staticType = staticType; 558 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7968 FunctionExpressionInvocation toNode = AstFactory.functionExpressionInvocatio n(AstFactory.identifier3("f"), []); 559 }
7969 ResolutionCopier.copyResolutionData(fromNode, toNode); 560
7970 JUnitTestCase.assertSame(propagatedElement, toNode.propagatedElement); 561 void test_equalityExpression_precedence_relational_left() {
7971 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 562 BinaryExpression expression = ParserTestCase.parseExpression("x is y == z", []);
7972 JUnitTestCase.assertSame(staticElement, toNode.staticElement); 563 EngineTestCase.assertInstanceOf((obj) => obj is IsExpression, IsExpression, expression.leftOperand);
7973 JUnitTestCase.assertSame(staticType, toNode.staticType); 564 }
7974 } 565
7975 566 void test_equalityExpression_precedence_relational_right() {
7976 void test_visitImportDirective() { 567 BinaryExpression expression = ParserTestCase.parseExpression("x == y is z", []);
7977 ImportDirective fromNode = AstFactory.importDirective2("dart:uri", null, []) ; 568 EngineTestCase.assertInstanceOf((obj) => obj is IsExpression, IsExpression, expression.rightOperand);
7978 ImportElement element = new ImportElementImpl(0); 569 }
7979 fromNode.element = element; 570
7980 ImportDirective toNode = AstFactory.importDirective2("dart:uri", null, []); 571 void test_equalityExpression_super() {
7981 ResolutionCopier.copyResolutionData(fromNode, toNode); 572 BinaryExpression expression = ParserTestCase.parseExpression("super == y != z", [ParserErrorCode.EQUALITY_CANNOT_BE_EQUALITY_OPERAND]);
7982 JUnitTestCase.assertSame(element, toNode.element); 573 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7983 } 574 }
7984 575
7985 void test_visitIndexExpression() { 576 void test_logicalAndExpression() {
7986 IndexExpression fromNode = AstFactory.indexExpression(AstFactory.identifier3 ("a"), AstFactory.integer(0)); 577 BinaryExpression expression = ParserTestCase.parseExpression("x && y && z", []);
7987 MethodElement propagatedElement = ElementFactory.methodElement("m", ElementF actory.classElement2("C", []).type, []); 578 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7988 MethodElement staticElement = ElementFactory.methodElement("m", ElementFacto ry.classElement2("C", []).type, []); 579 }
7989 AuxiliaryElements auxiliaryElements = new AuxiliaryElements(staticElement, p ropagatedElement); 580
7990 fromNode.auxiliaryElements = auxiliaryElements; 581 void test_logicalAndExpression_precedence_bitwiseOr_left() {
7991 fromNode.propagatedElement = propagatedElement; 582 BinaryExpression expression = ParserTestCase.parseExpression("x | y < z", [] );
7992 DartType propagatedType = ElementFactory.classElement2("C", []).type; 583 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
7993 fromNode.propagatedType = propagatedType; 584 }
7994 fromNode.staticElement = staticElement; 585
7995 DartType staticType = ElementFactory.classElement2("C", []).type; 586 void test_logicalAndExpression_precedence_bitwiseOr_right() {
7996 fromNode.staticType = staticType; 587 BinaryExpression expression = ParserTestCase.parseExpression("x < y | z", [] );
7997 IndexExpression toNode = AstFactory.indexExpression(AstFactory.identifier3(" a"), AstFactory.integer(0)); 588 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.rightOperand);
7998 ResolutionCopier.copyResolutionData(fromNode, toNode); 589 }
7999 JUnitTestCase.assertSame(auxiliaryElements, toNode.auxiliaryElements); 590
8000 JUnitTestCase.assertSame(propagatedElement, toNode.propagatedElement); 591 void test_logicalOrExpression() {
8001 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 592 BinaryExpression expression = ParserTestCase.parseExpression("x || y || z", []);
8002 JUnitTestCase.assertSame(staticElement, toNode.staticElement); 593 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
8003 JUnitTestCase.assertSame(staticType, toNode.staticType); 594 }
8004 } 595
8005 596 void test_logicalOrExpression_precedence_logicalAnd_left() {
8006 void test_visitInstanceCreationExpression() { 597 BinaryExpression expression = ParserTestCase.parseExpression("x && y || z", []);
8007 InstanceCreationExpression fromNode = AstFactory.instanceCreationExpression2 (Keyword.NEW, AstFactory.typeName4("C", []), []); 598 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
8008 DartType propagatedType = ElementFactory.classElement2("C", []).type; 599 }
8009 fromNode.propagatedType = propagatedType; 600
8010 ConstructorElement staticElement = ElementFactory.constructorElement2(Elemen tFactory.classElement2("C", []), null, []); 601 void test_logicalOrExpression_precedence_logicalAnd_right() {
8011 fromNode.staticElement = staticElement; 602 BinaryExpression expression = ParserTestCase.parseExpression("x || y && z", []);
8012 DartType staticType = ElementFactory.classElement2("C", []).type; 603 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.rightOperand);
8013 fromNode.staticType = staticType; 604 }
8014 InstanceCreationExpression toNode = AstFactory.instanceCreationExpression2(K eyword.NEW, AstFactory.typeName4("C", []), []); 605
8015 ResolutionCopier.copyResolutionData(fromNode, toNode); 606 void test_multipleLabels_statement() {
8016 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 607 LabeledStatement statement = ParserTestCase.parseStatement("a: b: c: return x;", []);
8017 JUnitTestCase.assertSame(staticElement, toNode.staticElement); 608 EngineTestCase.assertSizeOfList(3, statement.labels);
8018 JUnitTestCase.assertSame(staticType, toNode.staticType); 609 EngineTestCase.assertInstanceOf((obj) => obj is ReturnStatement, ReturnState ment, statement.statement);
8019 } 610 }
8020 611
8021 void test_visitIntegerLiteral() { 612 void test_multiplicativeExpression_normal() {
8022 IntegerLiteral fromNode = AstFactory.integer(2); 613 BinaryExpression expression = ParserTestCase.parseExpression("x * y / z", [] );
8023 DartType propagatedType = ElementFactory.classElement2("C", []).type; 614 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
8024 fromNode.propagatedType = propagatedType; 615 }
8025 DartType staticType = ElementFactory.classElement2("C", []).type; 616
8026 fromNode.staticType = staticType; 617 void test_multiplicativeExpression_precedence_unary_left() {
8027 IntegerLiteral toNode = AstFactory.integer(2); 618 BinaryExpression expression = ParserTestCase.parseExpression("-x * y", []);
8028 ResolutionCopier.copyResolutionData(fromNode, toNode); 619 EngineTestCase.assertInstanceOf((obj) => obj is PrefixExpression, PrefixExpr ession, expression.leftOperand);
8029 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 620 }
8030 JUnitTestCase.assertSame(staticType, toNode.staticType); 621
8031 } 622 void test_multiplicativeExpression_precedence_unary_right() {
8032 623 BinaryExpression expression = ParserTestCase.parseExpression("x * -y", []);
8033 void test_visitIsExpression() { 624 EngineTestCase.assertInstanceOf((obj) => obj is PrefixExpression, PrefixExpr ession, expression.rightOperand);
8034 IsExpression fromNode = AstFactory.isExpression(AstFactory.identifier3("x"), false, AstFactory.typeName4("A", [])); 625 }
8035 DartType propagatedType = ElementFactory.classElement2("C", []).type; 626
8036 fromNode.propagatedType = propagatedType; 627 void test_multiplicativeExpression_super() {
8037 DartType staticType = ElementFactory.classElement2("C", []).type; 628 BinaryExpression expression = ParserTestCase.parseExpression("super * y / z" , []);
8038 fromNode.staticType = staticType; 629 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
8039 IsExpression toNode = AstFactory.isExpression(AstFactory.identifier3("x"), f alse, AstFactory.typeName4("A", [])); 630 }
8040 ResolutionCopier.copyResolutionData(fromNode, toNode); 631
8041 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 632 void test_relationalExpression_precedence_shift_right() {
8042 JUnitTestCase.assertSame(staticType, toNode.staticType); 633 IsExpression expression = ParserTestCase.parseExpression("x << y is z", []);
8043 } 634 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.expression);
8044 635 }
8045 void test_visitLibraryIdentifier() { 636
8046 LibraryIdentifier fromNode = AstFactory.libraryIdentifier([AstFactory.identi fier3("lib")]); 637 void test_shiftExpression_normal() {
8047 DartType propagatedType = ElementFactory.classElement2("C", []).type; 638 BinaryExpression expression = ParserTestCase.parseExpression("x >> 4 << 3", []);
8048 fromNode.propagatedType = propagatedType; 639 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
8049 DartType staticType = ElementFactory.classElement2("C", []).type; 640 }
8050 fromNode.staticType = staticType; 641
8051 LibraryIdentifier toNode = AstFactory.libraryIdentifier([AstFactory.identifi er3("lib")]); 642 void test_shiftExpression_precedence_additive_left() {
8052 ResolutionCopier.copyResolutionData(fromNode, toNode); 643 BinaryExpression expression = ParserTestCase.parseExpression("x + y << z", [ ]);
8053 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 644 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
8054 JUnitTestCase.assertSame(staticType, toNode.staticType); 645 }
8055 } 646
8056 647 void test_shiftExpression_precedence_additive_right() {
8057 void test_visitListLiteral() { 648 BinaryExpression expression = ParserTestCase.parseExpression("x << y + z", [ ]);
8058 ListLiteral fromNode = AstFactory.listLiteral([]); 649 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.rightOperand);
8059 DartType propagatedType = ElementFactory.classElement2("C", []).type; 650 }
8060 fromNode.propagatedType = propagatedType; 651
8061 DartType staticType = ElementFactory.classElement2("C", []).type; 652 void test_shiftExpression_super() {
8062 fromNode.staticType = staticType; 653 BinaryExpression expression = ParserTestCase.parseExpression("super >> 4 << 3", []);
8063 ListLiteral toNode = AstFactory.listLiteral([]); 654 EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression, BinaryExpr ession, expression.leftOperand);
8064 ResolutionCopier.copyResolutionData(fromNode, toNode); 655 }
8065 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType); 656
8066 JUnitTestCase.assertSame(staticType, toNode.staticType); 657 void test_topLevelVariable_withMetadata() {
8067 } 658 ParserTestCase.parseCompilationUnit("String @A string;", []);
8068
8069 void test_visitMapLiteral() {
8070 MapLiteral fromNode = AstFactory.mapLiteral2([]);
8071 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8072 fromNode.propagatedType = propagatedType;
8073 DartType staticType = ElementFactory.classElement2("C", []).type;
8074 fromNode.staticType = staticType;
8075 MapLiteral toNode = AstFactory.mapLiteral2([]);
8076 ResolutionCopier.copyResolutionData(fromNode, toNode);
8077 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8078 JUnitTestCase.assertSame(staticType, toNode.staticType);
8079 }
8080
8081 void test_visitMethodInvocation() {
8082 MethodInvocation fromNode = AstFactory.methodInvocation2("m", []);
8083 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8084 fromNode.propagatedType = propagatedType;
8085 DartType staticType = ElementFactory.classElement2("C", []).type;
8086 fromNode.staticType = staticType;
8087 MethodInvocation toNode = AstFactory.methodInvocation2("m", []);
8088 ResolutionCopier.copyResolutionData(fromNode, toNode);
8089 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8090 JUnitTestCase.assertSame(staticType, toNode.staticType);
8091 }
8092
8093 void test_visitNamedExpression() {
8094 NamedExpression fromNode = AstFactory.namedExpression2("n", AstFactory.integ er(0));
8095 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8096 fromNode.propagatedType = propagatedType;
8097 DartType staticType = ElementFactory.classElement2("C", []).type;
8098 fromNode.staticType = staticType;
8099 NamedExpression toNode = AstFactory.namedExpression2("n", AstFactory.integer (0));
8100 ResolutionCopier.copyResolutionData(fromNode, toNode);
8101 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8102 JUnitTestCase.assertSame(staticType, toNode.staticType);
8103 }
8104
8105 void test_visitNullLiteral() {
8106 NullLiteral fromNode = AstFactory.nullLiteral();
8107 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8108 fromNode.propagatedType = propagatedType;
8109 DartType staticType = ElementFactory.classElement2("C", []).type;
8110 fromNode.staticType = staticType;
8111 NullLiteral toNode = AstFactory.nullLiteral();
8112 ResolutionCopier.copyResolutionData(fromNode, toNode);
8113 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8114 JUnitTestCase.assertSame(staticType, toNode.staticType);
8115 }
8116
8117 void test_visitParenthesizedExpression() {
8118 ParenthesizedExpression fromNode = AstFactory.parenthesizedExpression(AstFac tory.integer(0));
8119 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8120 fromNode.propagatedType = propagatedType;
8121 DartType staticType = ElementFactory.classElement2("C", []).type;
8122 fromNode.staticType = staticType;
8123 ParenthesizedExpression toNode = AstFactory.parenthesizedExpression(AstFacto ry.integer(0));
8124 ResolutionCopier.copyResolutionData(fromNode, toNode);
8125 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8126 JUnitTestCase.assertSame(staticType, toNode.staticType);
8127 }
8128
8129 void test_visitPartDirective() {
8130 PartDirective fromNode = AstFactory.partDirective2("part.dart");
8131 LibraryElement element = new LibraryElementImpl(null, AstFactory.libraryIden tifier2(["lib"]));
8132 fromNode.element = element;
8133 PartDirective toNode = AstFactory.partDirective2("part.dart");
8134 ResolutionCopier.copyResolutionData(fromNode, toNode);
8135 JUnitTestCase.assertSame(element, toNode.element);
8136 }
8137
8138 void test_visitPartOfDirective() {
8139 PartOfDirective fromNode = AstFactory.partOfDirective(AstFactory.libraryIden tifier2(["lib"]));
8140 LibraryElement element = new LibraryElementImpl(null, AstFactory.libraryIden tifier2(["lib"]));
8141 fromNode.element = element;
8142 PartOfDirective toNode = AstFactory.partOfDirective(AstFactory.libraryIdenti fier2(["lib"]));
8143 ResolutionCopier.copyResolutionData(fromNode, toNode);
8144 JUnitTestCase.assertSame(element, toNode.element);
8145 }
8146
8147 void test_visitPostfixExpression() {
8148 String variableName = "x";
8149 PostfixExpression fromNode = AstFactory.postfixExpression(AstFactory.identif ier3(variableName), TokenType.PLUS_PLUS);
8150 MethodElement propagatedElement = ElementFactory.methodElement("+", ElementF actory.classElement2("C", []).type, []);
8151 fromNode.propagatedElement = propagatedElement;
8152 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8153 fromNode.propagatedType = propagatedType;
8154 MethodElement staticElement = ElementFactory.methodElement("+", ElementFacto ry.classElement2("C", []).type, []);
8155 fromNode.staticElement = staticElement;
8156 DartType staticType = ElementFactory.classElement2("C", []).type;
8157 fromNode.staticType = staticType;
8158 PostfixExpression toNode = AstFactory.postfixExpression(AstFactory.identifie r3(variableName), TokenType.PLUS_PLUS);
8159 ResolutionCopier.copyResolutionData(fromNode, toNode);
8160 JUnitTestCase.assertSame(propagatedElement, toNode.propagatedElement);
8161 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8162 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
8163 JUnitTestCase.assertSame(staticType, toNode.staticType);
8164 }
8165
8166 void test_visitPrefixedIdentifier() {
8167 PrefixedIdentifier fromNode = AstFactory.identifier5("p", "f");
8168 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8169 fromNode.propagatedType = propagatedType;
8170 DartType staticType = ElementFactory.classElement2("C", []).type;
8171 fromNode.staticType = staticType;
8172 PrefixedIdentifier toNode = AstFactory.identifier5("p", "f");
8173 ResolutionCopier.copyResolutionData(fromNode, toNode);
8174 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8175 JUnitTestCase.assertSame(staticType, toNode.staticType);
8176 }
8177
8178 void test_visitPrefixExpression() {
8179 PrefixExpression fromNode = AstFactory.prefixExpression(TokenType.PLUS_PLUS, AstFactory.identifier3("x"));
8180 MethodElement propagatedElement = ElementFactory.methodElement("+", ElementF actory.classElement2("C", []).type, []);
8181 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8182 fromNode.propagatedElement = propagatedElement;
8183 fromNode.propagatedType = propagatedType;
8184 DartType staticType = ElementFactory.classElement2("C", []).type;
8185 MethodElement staticElement = ElementFactory.methodElement("+", ElementFacto ry.classElement2("C", []).type, []);
8186 fromNode.staticElement = staticElement;
8187 fromNode.staticType = staticType;
8188 PrefixExpression toNode = AstFactory.prefixExpression(TokenType.PLUS_PLUS, A stFactory.identifier3("x"));
8189 ResolutionCopier.copyResolutionData(fromNode, toNode);
8190 JUnitTestCase.assertSame(propagatedElement, toNode.propagatedElement);
8191 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8192 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
8193 JUnitTestCase.assertSame(staticType, toNode.staticType);
8194 }
8195
8196 void test_visitPropertyAccess() {
8197 PropertyAccess fromNode = AstFactory.propertyAccess2(AstFactory.identifier3( "x"), "y");
8198 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8199 fromNode.propagatedType = propagatedType;
8200 DartType staticType = ElementFactory.classElement2("C", []).type;
8201 fromNode.staticType = staticType;
8202 PropertyAccess toNode = AstFactory.propertyAccess2(AstFactory.identifier3("x "), "y");
8203 ResolutionCopier.copyResolutionData(fromNode, toNode);
8204 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8205 JUnitTestCase.assertSame(staticType, toNode.staticType);
8206 }
8207
8208 void test_visitRedirectingConstructorInvocation() {
8209 RedirectingConstructorInvocation fromNode = AstFactory.redirectingConstructo rInvocation([]);
8210 ConstructorElement staticElement = ElementFactory.constructorElement2(Elemen tFactory.classElement2("C", []), null, []);
8211 fromNode.staticElement = staticElement;
8212 RedirectingConstructorInvocation toNode = AstFactory.redirectingConstructorI nvocation([]);
8213 ResolutionCopier.copyResolutionData(fromNode, toNode);
8214 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
8215 }
8216
8217 void test_visitRethrowExpression() {
8218 RethrowExpression fromNode = AstFactory.rethrowExpression();
8219 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8220 fromNode.propagatedType = propagatedType;
8221 DartType staticType = ElementFactory.classElement2("C", []).type;
8222 fromNode.staticType = staticType;
8223 RethrowExpression toNode = AstFactory.rethrowExpression();
8224 ResolutionCopier.copyResolutionData(fromNode, toNode);
8225 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8226 JUnitTestCase.assertSame(staticType, toNode.staticType);
8227 }
8228
8229 void test_visitSimpleIdentifier() {
8230 SimpleIdentifier fromNode = AstFactory.identifier3("x");
8231 MethodElement propagatedElement = ElementFactory.methodElement("m", ElementF actory.classElement2("C", []).type, []);
8232 MethodElement staticElement = ElementFactory.methodElement("m", ElementFacto ry.classElement2("C", []).type, []);
8233 AuxiliaryElements auxiliaryElements = new AuxiliaryElements(staticElement, p ropagatedElement);
8234 fromNode.auxiliaryElements = auxiliaryElements;
8235 fromNode.propagatedElement = propagatedElement;
8236 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8237 fromNode.propagatedType = propagatedType;
8238 fromNode.staticElement = staticElement;
8239 DartType staticType = ElementFactory.classElement2("C", []).type;
8240 fromNode.staticType = staticType;
8241 SimpleIdentifier toNode = AstFactory.identifier3("x");
8242 ResolutionCopier.copyResolutionData(fromNode, toNode);
8243 JUnitTestCase.assertSame(auxiliaryElements, toNode.auxiliaryElements);
8244 JUnitTestCase.assertSame(propagatedElement, toNode.propagatedElement);
8245 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8246 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
8247 JUnitTestCase.assertSame(staticType, toNode.staticType);
8248 }
8249
8250 void test_visitSimpleStringLiteral() {
8251 SimpleStringLiteral fromNode = AstFactory.string2("abc");
8252 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8253 fromNode.propagatedType = propagatedType;
8254 DartType staticType = ElementFactory.classElement2("C", []).type;
8255 fromNode.staticType = staticType;
8256 SimpleStringLiteral toNode = AstFactory.string2("abc");
8257 ResolutionCopier.copyResolutionData(fromNode, toNode);
8258 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8259 JUnitTestCase.assertSame(staticType, toNode.staticType);
8260 }
8261
8262 void test_visitStringInterpolation() {
8263 StringInterpolation fromNode = AstFactory.string([AstFactory.interpolationSt ring("a", "'a'")]);
8264 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8265 fromNode.propagatedType = propagatedType;
8266 DartType staticType = ElementFactory.classElement2("C", []).type;
8267 fromNode.staticType = staticType;
8268 StringInterpolation toNode = AstFactory.string([AstFactory.interpolationStri ng("a", "'a'")]);
8269 ResolutionCopier.copyResolutionData(fromNode, toNode);
8270 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8271 JUnitTestCase.assertSame(staticType, toNode.staticType);
8272 }
8273
8274 void test_visitSuperConstructorInvocation() {
8275 SuperConstructorInvocation fromNode = AstFactory.superConstructorInvocation( []);
8276 ConstructorElement staticElement = ElementFactory.constructorElement2(Elemen tFactory.classElement2("C", []), null, []);
8277 fromNode.staticElement = staticElement;
8278 SuperConstructorInvocation toNode = AstFactory.superConstructorInvocation([] );
8279 ResolutionCopier.copyResolutionData(fromNode, toNode);
8280 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
8281 }
8282
8283 void test_visitSuperExpression() {
8284 SuperExpression fromNode = AstFactory.superExpression();
8285 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8286 fromNode.propagatedType = propagatedType;
8287 DartType staticType = ElementFactory.classElement2("C", []).type;
8288 fromNode.staticType = staticType;
8289 SuperExpression toNode = AstFactory.superExpression();
8290 ResolutionCopier.copyResolutionData(fromNode, toNode);
8291 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8292 JUnitTestCase.assertSame(staticType, toNode.staticType);
8293 }
8294
8295 void test_visitSymbolLiteral() {
8296 SymbolLiteral fromNode = AstFactory.symbolLiteral(["s"]);
8297 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8298 fromNode.propagatedType = propagatedType;
8299 DartType staticType = ElementFactory.classElement2("C", []).type;
8300 fromNode.staticType = staticType;
8301 SymbolLiteral toNode = AstFactory.symbolLiteral(["s"]);
8302 ResolutionCopier.copyResolutionData(fromNode, toNode);
8303 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8304 JUnitTestCase.assertSame(staticType, toNode.staticType);
8305 }
8306
8307 void test_visitThisExpression() {
8308 ThisExpression fromNode = AstFactory.thisExpression();
8309 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8310 fromNode.propagatedType = propagatedType;
8311 DartType staticType = ElementFactory.classElement2("C", []).type;
8312 fromNode.staticType = staticType;
8313 ThisExpression toNode = AstFactory.thisExpression();
8314 ResolutionCopier.copyResolutionData(fromNode, toNode);
8315 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8316 JUnitTestCase.assertSame(staticType, toNode.staticType);
8317 }
8318
8319 void test_visitThrowExpression() {
8320 ThrowExpression fromNode = AstFactory.throwExpression();
8321 DartType propagatedType = ElementFactory.classElement2("C", []).type;
8322 fromNode.propagatedType = propagatedType;
8323 DartType staticType = ElementFactory.classElement2("C", []).type;
8324 fromNode.staticType = staticType;
8325 ThrowExpression toNode = AstFactory.throwExpression();
8326 ResolutionCopier.copyResolutionData(fromNode, toNode);
8327 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
8328 JUnitTestCase.assertSame(staticType, toNode.staticType);
8329 }
8330
8331 void test_visitTypeName() {
8332 TypeName fromNode = AstFactory.typeName4("C", []);
8333 DartType type = ElementFactory.classElement2("C", []).type;
8334 fromNode.type = type;
8335 TypeName toNode = AstFactory.typeName4("C", []);
8336 ResolutionCopier.copyResolutionData(fromNode, toNode);
8337 JUnitTestCase.assertSame(type, toNode.type);
8338 } 659 }
8339 660
8340 static dartSuite() { 661 static dartSuite() {
8341 _ut.group('ResolutionCopierTest', () { 662 _ut.group('ComplexParserTest', () {
8342 _ut.test('test_visitAnnotation', () { 663 _ut.test('test_additiveExpression_noSpaces', () {
8343 final __test = new ResolutionCopierTest(); 664 final __test = new ComplexParserTest();
8344 runJUnitTest(__test, __test.test_visitAnnotation); 665 runJUnitTest(__test, __test.test_additiveExpression_noSpaces);
8345 }); 666 });
8346 _ut.test('test_visitArgumentDefinitionTest', () { 667 _ut.test('test_additiveExpression_normal', () {
8347 final __test = new ResolutionCopierTest(); 668 final __test = new ComplexParserTest();
8348 runJUnitTest(__test, __test.test_visitArgumentDefinitionTest); 669 runJUnitTest(__test, __test.test_additiveExpression_normal);
8349 }); 670 });
8350 _ut.test('test_visitAsExpression', () { 671 _ut.test('test_additiveExpression_precedence_multiplicative_left', () {
8351 final __test = new ResolutionCopierTest(); 672 final __test = new ComplexParserTest();
8352 runJUnitTest(__test, __test.test_visitAsExpression); 673 runJUnitTest(__test, __test.test_additiveExpression_precedence_multiplic ative_left);
8353 }); 674 });
8354 _ut.test('test_visitAssignmentExpression', () { 675 _ut.test('test_additiveExpression_precedence_multiplicative_left_withSuper ', () {
8355 final __test = new ResolutionCopierTest(); 676 final __test = new ComplexParserTest();
8356 runJUnitTest(__test, __test.test_visitAssignmentExpression); 677 runJUnitTest(__test, __test.test_additiveExpression_precedence_multiplic ative_left_withSuper);
8357 }); 678 });
8358 _ut.test('test_visitBinaryExpression', () { 679 _ut.test('test_additiveExpression_precedence_multiplicative_right', () {
8359 final __test = new ResolutionCopierTest(); 680 final __test = new ComplexParserTest();
8360 runJUnitTest(__test, __test.test_visitBinaryExpression); 681 runJUnitTest(__test, __test.test_additiveExpression_precedence_multiplic ative_right);
8361 }); 682 });
8362 _ut.test('test_visitBooleanLiteral', () { 683 _ut.test('test_additiveExpression_super', () {
8363 final __test = new ResolutionCopierTest(); 684 final __test = new ComplexParserTest();
8364 runJUnitTest(__test, __test.test_visitBooleanLiteral); 685 runJUnitTest(__test, __test.test_additiveExpression_super);
8365 }); 686 });
8366 _ut.test('test_visitCascadeExpression', () { 687 _ut.test('test_assignableExpression_arguments_normal_chain', () {
8367 final __test = new ResolutionCopierTest(); 688 final __test = new ComplexParserTest();
8368 runJUnitTest(__test, __test.test_visitCascadeExpression); 689 runJUnitTest(__test, __test.test_assignableExpression_arguments_normal_c hain);
8369 }); 690 });
8370 _ut.test('test_visitCompilationUnit', () { 691 _ut.test('test_assignmentExpression_compound', () {
8371 final __test = new ResolutionCopierTest(); 692 final __test = new ComplexParserTest();
8372 runJUnitTest(__test, __test.test_visitCompilationUnit); 693 runJUnitTest(__test, __test.test_assignmentExpression_compound);
8373 }); 694 });
8374 _ut.test('test_visitConditionalExpression', () { 695 _ut.test('test_assignmentExpression_indexExpression', () {
8375 final __test = new ResolutionCopierTest(); 696 final __test = new ComplexParserTest();
8376 runJUnitTest(__test, __test.test_visitConditionalExpression); 697 runJUnitTest(__test, __test.test_assignmentExpression_indexExpression);
8377 }); 698 });
8378 _ut.test('test_visitConstructorDeclaration', () { 699 _ut.test('test_assignmentExpression_prefixedIdentifier', () {
8379 final __test = new ResolutionCopierTest(); 700 final __test = new ComplexParserTest();
8380 runJUnitTest(__test, __test.test_visitConstructorDeclaration); 701 runJUnitTest(__test, __test.test_assignmentExpression_prefixedIdentifier );
8381 }); 702 });
8382 _ut.test('test_visitConstructorName', () { 703 _ut.test('test_assignmentExpression_propertyAccess', () {
8383 final __test = new ResolutionCopierTest(); 704 final __test = new ComplexParserTest();
8384 runJUnitTest(__test, __test.test_visitConstructorName); 705 runJUnitTest(__test, __test.test_assignmentExpression_propertyAccess);
8385 }); 706 });
8386 _ut.test('test_visitDoubleLiteral', () { 707 _ut.test('test_bitwiseAndExpression_normal', () {
8387 final __test = new ResolutionCopierTest(); 708 final __test = new ComplexParserTest();
8388 runJUnitTest(__test, __test.test_visitDoubleLiteral); 709 runJUnitTest(__test, __test.test_bitwiseAndExpression_normal);
8389 }); 710 });
8390 _ut.test('test_visitExportDirective', () { 711 _ut.test('test_bitwiseAndExpression_precedence_equality_left', () {
8391 final __test = new ResolutionCopierTest(); 712 final __test = new ComplexParserTest();
8392 runJUnitTest(__test, __test.test_visitExportDirective); 713 runJUnitTest(__test, __test.test_bitwiseAndExpression_precedence_equalit y_left);
8393 }); 714 });
8394 _ut.test('test_visitFunctionExpression', () { 715 _ut.test('test_bitwiseAndExpression_precedence_equality_right', () {
8395 final __test = new ResolutionCopierTest(); 716 final __test = new ComplexParserTest();
8396 runJUnitTest(__test, __test.test_visitFunctionExpression); 717 runJUnitTest(__test, __test.test_bitwiseAndExpression_precedence_equalit y_right);
8397 }); 718 });
8398 _ut.test('test_visitFunctionExpressionInvocation', () { 719 _ut.test('test_bitwiseAndExpression_super', () {
8399 final __test = new ResolutionCopierTest(); 720 final __test = new ComplexParserTest();
8400 runJUnitTest(__test, __test.test_visitFunctionExpressionInvocation); 721 runJUnitTest(__test, __test.test_bitwiseAndExpression_super);
8401 }); 722 });
8402 _ut.test('test_visitImportDirective', () { 723 _ut.test('test_bitwiseOrExpression_normal', () {
8403 final __test = new ResolutionCopierTest(); 724 final __test = new ComplexParserTest();
8404 runJUnitTest(__test, __test.test_visitImportDirective); 725 runJUnitTest(__test, __test.test_bitwiseOrExpression_normal);
8405 }); 726 });
8406 _ut.test('test_visitIndexExpression', () { 727 _ut.test('test_bitwiseOrExpression_precedence_xor_left', () {
8407 final __test = new ResolutionCopierTest(); 728 final __test = new ComplexParserTest();
8408 runJUnitTest(__test, __test.test_visitIndexExpression); 729 runJUnitTest(__test, __test.test_bitwiseOrExpression_precedence_xor_left );
8409 }); 730 });
8410 _ut.test('test_visitInstanceCreationExpression', () { 731 _ut.test('test_bitwiseOrExpression_precedence_xor_right', () {
8411 final __test = new ResolutionCopierTest(); 732 final __test = new ComplexParserTest();
8412 runJUnitTest(__test, __test.test_visitInstanceCreationExpression); 733 runJUnitTest(__test, __test.test_bitwiseOrExpression_precedence_xor_righ t);
8413 }); 734 });
8414 _ut.test('test_visitIntegerLiteral', () { 735 _ut.test('test_bitwiseOrExpression_super', () {
8415 final __test = new ResolutionCopierTest(); 736 final __test = new ComplexParserTest();
8416 runJUnitTest(__test, __test.test_visitIntegerLiteral); 737 runJUnitTest(__test, __test.test_bitwiseOrExpression_super);
8417 }); 738 });
8418 _ut.test('test_visitIsExpression', () { 739 _ut.test('test_bitwiseXorExpression_normal', () {
8419 final __test = new ResolutionCopierTest(); 740 final __test = new ComplexParserTest();
8420 runJUnitTest(__test, __test.test_visitIsExpression); 741 runJUnitTest(__test, __test.test_bitwiseXorExpression_normal);
8421 }); 742 });
8422 _ut.test('test_visitLibraryIdentifier', () { 743 _ut.test('test_bitwiseXorExpression_precedence_and_left', () {
8423 final __test = new ResolutionCopierTest(); 744 final __test = new ComplexParserTest();
8424 runJUnitTest(__test, __test.test_visitLibraryIdentifier); 745 runJUnitTest(__test, __test.test_bitwiseXorExpression_precedence_and_lef t);
8425 }); 746 });
8426 _ut.test('test_visitListLiteral', () { 747 _ut.test('test_bitwiseXorExpression_precedence_and_right', () {
8427 final __test = new ResolutionCopierTest(); 748 final __test = new ComplexParserTest();
8428 runJUnitTest(__test, __test.test_visitListLiteral); 749 runJUnitTest(__test, __test.test_bitwiseXorExpression_precedence_and_rig ht);
8429 }); 750 });
8430 _ut.test('test_visitMapLiteral', () { 751 _ut.test('test_bitwiseXorExpression_super', () {
8431 final __test = new ResolutionCopierTest(); 752 final __test = new ComplexParserTest();
8432 runJUnitTest(__test, __test.test_visitMapLiteral); 753 runJUnitTest(__test, __test.test_bitwiseXorExpression_super);
8433 }); 754 });
8434 _ut.test('test_visitMethodInvocation', () { 755 _ut.test('test_cascade_withAssignment', () {
8435 final __test = new ResolutionCopierTest(); 756 final __test = new ComplexParserTest();
8436 runJUnitTest(__test, __test.test_visitMethodInvocation); 757 runJUnitTest(__test, __test.test_cascade_withAssignment);
8437 }); 758 });
8438 _ut.test('test_visitNamedExpression', () { 759 _ut.test('test_conditionalExpression_precedence_logicalOrExpression', () {
8439 final __test = new ResolutionCopierTest(); 760 final __test = new ComplexParserTest();
8440 runJUnitTest(__test, __test.test_visitNamedExpression); 761 runJUnitTest(__test, __test.test_conditionalExpression_precedence_logica lOrExpression);
8441 }); 762 });
8442 _ut.test('test_visitNullLiteral', () { 763 _ut.test('test_constructor_initializer_withParenthesizedExpression', () {
8443 final __test = new ResolutionCopierTest(); 764 final __test = new ComplexParserTest();
8444 runJUnitTest(__test, __test.test_visitNullLiteral); 765 runJUnitTest(__test, __test.test_constructor_initializer_withParenthesiz edExpression);
8445 }); 766 });
8446 _ut.test('test_visitParenthesizedExpression', () { 767 _ut.test('test_equalityExpression_normal', () {
8447 final __test = new ResolutionCopierTest(); 768 final __test = new ComplexParserTest();
8448 runJUnitTest(__test, __test.test_visitParenthesizedExpression); 769 runJUnitTest(__test, __test.test_equalityExpression_normal);
8449 }); 770 });
8450 _ut.test('test_visitPartDirective', () { 771 _ut.test('test_equalityExpression_precedence_relational_left', () {
8451 final __test = new ResolutionCopierTest(); 772 final __test = new ComplexParserTest();
8452 runJUnitTest(__test, __test.test_visitPartDirective); 773 runJUnitTest(__test, __test.test_equalityExpression_precedence_relationa l_left);
8453 }); 774 });
8454 _ut.test('test_visitPartOfDirective', () { 775 _ut.test('test_equalityExpression_precedence_relational_right', () {
8455 final __test = new ResolutionCopierTest(); 776 final __test = new ComplexParserTest();
8456 runJUnitTest(__test, __test.test_visitPartOfDirective); 777 runJUnitTest(__test, __test.test_equalityExpression_precedence_relationa l_right);
8457 }); 778 });
8458 _ut.test('test_visitPostfixExpression', () { 779 _ut.test('test_equalityExpression_super', () {
8459 final __test = new ResolutionCopierTest(); 780 final __test = new ComplexParserTest();
8460 runJUnitTest(__test, __test.test_visitPostfixExpression); 781 runJUnitTest(__test, __test.test_equalityExpression_super);
8461 }); 782 });
8462 _ut.test('test_visitPrefixExpression', () { 783 _ut.test('test_logicalAndExpression', () {
8463 final __test = new ResolutionCopierTest(); 784 final __test = new ComplexParserTest();
8464 runJUnitTest(__test, __test.test_visitPrefixExpression); 785 runJUnitTest(__test, __test.test_logicalAndExpression);
8465 }); 786 });
8466 _ut.test('test_visitPrefixedIdentifier', () { 787 _ut.test('test_logicalAndExpression_precedence_bitwiseOr_left', () {
8467 final __test = new ResolutionCopierTest(); 788 final __test = new ComplexParserTest();
8468 runJUnitTest(__test, __test.test_visitPrefixedIdentifier); 789 runJUnitTest(__test, __test.test_logicalAndExpression_precedence_bitwise Or_left);
8469 }); 790 });
8470 _ut.test('test_visitPropertyAccess', () { 791 _ut.test('test_logicalAndExpression_precedence_bitwiseOr_right', () {
8471 final __test = new ResolutionCopierTest(); 792 final __test = new ComplexParserTest();
8472 runJUnitTest(__test, __test.test_visitPropertyAccess); 793 runJUnitTest(__test, __test.test_logicalAndExpression_precedence_bitwise Or_right);
8473 }); 794 });
8474 _ut.test('test_visitRedirectingConstructorInvocation', () { 795 _ut.test('test_logicalOrExpression', () {
8475 final __test = new ResolutionCopierTest(); 796 final __test = new ComplexParserTest();
8476 runJUnitTest(__test, __test.test_visitRedirectingConstructorInvocation); 797 runJUnitTest(__test, __test.test_logicalOrExpression);
8477 }); 798 });
8478 _ut.test('test_visitRethrowExpression', () { 799 _ut.test('test_logicalOrExpression_precedence_logicalAnd_left', () {
8479 final __test = new ResolutionCopierTest(); 800 final __test = new ComplexParserTest();
8480 runJUnitTest(__test, __test.test_visitRethrowExpression); 801 runJUnitTest(__test, __test.test_logicalOrExpression_precedence_logicalA nd_left);
8481 }); 802 });
8482 _ut.test('test_visitSimpleIdentifier', () { 803 _ut.test('test_logicalOrExpression_precedence_logicalAnd_right', () {
8483 final __test = new ResolutionCopierTest(); 804 final __test = new ComplexParserTest();
8484 runJUnitTest(__test, __test.test_visitSimpleIdentifier); 805 runJUnitTest(__test, __test.test_logicalOrExpression_precedence_logicalA nd_right);
8485 }); 806 });
8486 _ut.test('test_visitSimpleStringLiteral', () { 807 _ut.test('test_multipleLabels_statement', () {
8487 final __test = new ResolutionCopierTest(); 808 final __test = new ComplexParserTest();
8488 runJUnitTest(__test, __test.test_visitSimpleStringLiteral); 809 runJUnitTest(__test, __test.test_multipleLabels_statement);
8489 }); 810 });
8490 _ut.test('test_visitStringInterpolation', () { 811 _ut.test('test_multiplicativeExpression_normal', () {
8491 final __test = new ResolutionCopierTest(); 812 final __test = new ComplexParserTest();
8492 runJUnitTest(__test, __test.test_visitStringInterpolation); 813 runJUnitTest(__test, __test.test_multiplicativeExpression_normal);
8493 }); 814 });
8494 _ut.test('test_visitSuperConstructorInvocation', () { 815 _ut.test('test_multiplicativeExpression_precedence_unary_left', () {
8495 final __test = new ResolutionCopierTest(); 816 final __test = new ComplexParserTest();
8496 runJUnitTest(__test, __test.test_visitSuperConstructorInvocation); 817 runJUnitTest(__test, __test.test_multiplicativeExpression_precedence_una ry_left);
8497 }); 818 });
8498 _ut.test('test_visitSuperExpression', () { 819 _ut.test('test_multiplicativeExpression_precedence_unary_right', () {
8499 final __test = new ResolutionCopierTest(); 820 final __test = new ComplexParserTest();
8500 runJUnitTest(__test, __test.test_visitSuperExpression); 821 runJUnitTest(__test, __test.test_multiplicativeExpression_precedence_una ry_right);
8501 }); 822 });
8502 _ut.test('test_visitSymbolLiteral', () { 823 _ut.test('test_multiplicativeExpression_super', () {
8503 final __test = new ResolutionCopierTest(); 824 final __test = new ComplexParserTest();
8504 runJUnitTest(__test, __test.test_visitSymbolLiteral); 825 runJUnitTest(__test, __test.test_multiplicativeExpression_super);
8505 }); 826 });
8506 _ut.test('test_visitThisExpression', () { 827 _ut.test('test_relationalExpression_precedence_shift_right', () {
8507 final __test = new ResolutionCopierTest(); 828 final __test = new ComplexParserTest();
8508 runJUnitTest(__test, __test.test_visitThisExpression); 829 runJUnitTest(__test, __test.test_relationalExpression_precedence_shift_r ight);
8509 }); 830 });
8510 _ut.test('test_visitThrowExpression', () { 831 _ut.test('test_shiftExpression_normal', () {
8511 final __test = new ResolutionCopierTest(); 832 final __test = new ComplexParserTest();
8512 runJUnitTest(__test, __test.test_visitThrowExpression); 833 runJUnitTest(__test, __test.test_shiftExpression_normal);
8513 }); 834 });
8514 _ut.test('test_visitTypeName', () { 835 _ut.test('test_shiftExpression_precedence_additive_left', () {
8515 final __test = new ResolutionCopierTest(); 836 final __test = new ComplexParserTest();
8516 runJUnitTest(__test, __test.test_visitTypeName); 837 runJUnitTest(__test, __test.test_shiftExpression_precedence_additive_lef t);
838 });
839 _ut.test('test_shiftExpression_precedence_additive_right', () {
840 final __test = new ComplexParserTest();
841 runJUnitTest(__test, __test.test_shiftExpression_precedence_additive_rig ht);
842 });
843 _ut.test('test_shiftExpression_super', () {
844 final __test = new ComplexParserTest();
845 runJUnitTest(__test, __test.test_shiftExpression_super);
846 });
847 _ut.test('test_topLevelVariable_withMetadata', () {
848 final __test = new ComplexParserTest();
849 runJUnitTest(__test, __test.test_topLevelVariable_withMetadata);
8517 }); 850 });
8518 }); 851 });
8519 } 852 }
853 }
854
855 /**
856 * The class `SimpleParserTest` defines parser tests that test individual parsin g method. The
857 * code fragments should be as minimal as possible in order to test the method, but should not test
858 * the interactions between the method under test and other methods.
859 *
860 * More complex tests should be defined in the class [ComplexParserTest].
861 */
862 class SimpleParserTest extends ParserTestCase {
863 void fail_parseCommentReference_this() {
864 // This fails because we are returning null from the method and asserting th at the return value
865 // is not null.
866 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["this", 5], "");
867 SimpleIdentifier identifier = EngineTestCase.assertInstanceOf((obj) => obj i s SimpleIdentifier, SimpleIdentifier, reference.identifier);
868 JUnitTestCase.assertNotNull(identifier.token);
869 JUnitTestCase.assertEquals("a", identifier.name);
870 JUnitTestCase.assertEquals(5, identifier.offset);
871 }
872
873 void test_computeStringValue_emptyInterpolationPrefix() {
874 JUnitTestCase.assertEquals("", _computeStringValue("'''", true, false));
875 }
876
877 void test_computeStringValue_escape_b() {
878 JUnitTestCase.assertEquals("\b", _computeStringValue("'\\b'", true, true));
879 }
880
881 void test_computeStringValue_escape_f() {
882 JUnitTestCase.assertEquals("\f", _computeStringValue("'\\f'", true, true));
883 }
884
885 void test_computeStringValue_escape_n() {
886 JUnitTestCase.assertEquals("\n", _computeStringValue("'\\n'", true, true));
887 }
888
889 void test_computeStringValue_escape_notSpecial() {
890 JUnitTestCase.assertEquals(":", _computeStringValue("'\\:'", true, true));
891 }
892
893 void test_computeStringValue_escape_r() {
894 JUnitTestCase.assertEquals("\r", _computeStringValue("'\\r'", true, true));
895 }
896
897 void test_computeStringValue_escape_t() {
898 JUnitTestCase.assertEquals("\t", _computeStringValue("'\\t'", true, true));
899 }
900
901 void test_computeStringValue_escape_u_fixed() {
902 JUnitTestCase.assertEquals("\u4321", _computeStringValue("'\\u4321'", true, true));
903 }
904
905 void test_computeStringValue_escape_u_variable() {
906 JUnitTestCase.assertEquals("\u0123", _computeStringValue("'\\u{123}'", true, true));
907 }
908
909 void test_computeStringValue_escape_v() {
910 JUnitTestCase.assertEquals("\u000B", _computeStringValue("'\\v'", true, true ));
911 }
912
913 void test_computeStringValue_escape_x() {
914 JUnitTestCase.assertEquals("\u00FF", _computeStringValue("'\\xFF'", true, tr ue));
915 }
916
917 void test_computeStringValue_noEscape_single() {
918 JUnitTestCase.assertEquals("text", _computeStringValue("'text'", true, true) );
919 }
920
921 void test_computeStringValue_noEscape_triple() {
922 JUnitTestCase.assertEquals("text", _computeStringValue("'''text'''", true, t rue));
923 }
924
925 void test_computeStringValue_raw_single() {
926 JUnitTestCase.assertEquals("text", _computeStringValue("r'text'", true, true ));
927 }
928
929 void test_computeStringValue_raw_triple() {
930 JUnitTestCase.assertEquals("text", _computeStringValue("r'''text'''", true, true));
931 }
932
933 void test_computeStringValue_raw_withEscape() {
934 JUnitTestCase.assertEquals("two\\nlines", _computeStringValue("r'two\\nlines '", true, true));
935 }
936
937 void test_computeStringValue_triple_internalQuote_first_empty() {
938 JUnitTestCase.assertEquals("'", _computeStringValue("''''", true, false));
939 }
940
941 void test_computeStringValue_triple_internalQuote_first_nonEmpty() {
942 JUnitTestCase.assertEquals("'text", _computeStringValue("''''text", true, fa lse));
943 }
944
945 void test_computeStringValue_triple_internalQuote_last_empty() {
946 JUnitTestCase.assertEquals("", _computeStringValue("'''", false, true));
947 }
948
949 void test_computeStringValue_triple_internalQuote_last_nonEmpty() {
950 JUnitTestCase.assertEquals("text", _computeStringValue("text'''", false, tru e));
951 }
952
953 void test_constFactory() {
954 ParserTestCase.parse("parseClassMember", <Object> ["C"], "const factory C() = A;");
955 }
956
957 void test_createSyntheticIdentifier() {
958 SimpleIdentifier identifier = _createSyntheticIdentifier();
959 JUnitTestCase.assertTrue(identifier.isSynthetic);
960 }
961
962 void test_createSyntheticStringLiteral() {
963 SimpleStringLiteral literal = _createSyntheticStringLiteral();
964 JUnitTestCase.assertTrue(literal.isSynthetic);
965 }
966
967 void test_function_literal_allowed_at_toplevel() {
968 ParserTestCase.parseCompilationUnit("var x = () {};", []);
969 }
970
971 void test_function_literal_allowed_in_ArgumentList_in_ConstructorFieldInitiali zer() {
972 ParserTestCase.parseCompilationUnit("class C { C() : a = f(() {}); }", []);
973 }
974
975 void test_function_literal_allowed_in_IndexExpression_in_ConstructorFieldIniti alizer() {
976 ParserTestCase.parseCompilationUnit("class C { C() : a = x[() {}]; }", []);
977 }
978
979 void test_function_literal_allowed_in_ListLiteral_in_ConstructorFieldInitializ er() {
980 ParserTestCase.parseCompilationUnit("class C { C() : a = [() {}]; }", []);
981 }
982
983 void test_function_literal_allowed_in_MapLiteral_in_ConstructorFieldInitialize r() {
984 ParserTestCase.parseCompilationUnit("class C { C() : a = {'key': () {}}; }", []);
985 }
986
987 void test_function_literal_allowed_in_ParenthesizedExpression_in_ConstructorFi eldInitializer() {
988 ParserTestCase.parseCompilationUnit("class C { C() : a = (() {}); }", []);
989 }
990
991 void test_function_literal_allowed_in_StringInterpolation_in_ConstructorFieldI nitializer() {
992 ParserTestCase.parseCompilationUnit("class C { C() : a = \"\${(){}}\"; }", [ ]);
993 }
994
995 void test_isFunctionDeclaration_nameButNoReturn_block() {
996 JUnitTestCase.assertTrue(_isFunctionDeclaration("f() {}"));
997 }
998
999 void test_isFunctionDeclaration_nameButNoReturn_expression() {
1000 JUnitTestCase.assertTrue(_isFunctionDeclaration("f() => e"));
1001 }
1002
1003 void test_isFunctionDeclaration_normalReturn_block() {
1004 JUnitTestCase.assertTrue(_isFunctionDeclaration("C f() {}"));
1005 }
1006
1007 void test_isFunctionDeclaration_normalReturn_expression() {
1008 JUnitTestCase.assertTrue(_isFunctionDeclaration("C f() => e"));
1009 }
1010
1011 void test_isFunctionDeclaration_voidReturn_block() {
1012 JUnitTestCase.assertTrue(_isFunctionDeclaration("void f() {}"));
1013 }
1014
1015 void test_isFunctionDeclaration_voidReturn_expression() {
1016 JUnitTestCase.assertTrue(_isFunctionDeclaration("void f() => e"));
1017 }
1018
1019 void test_isFunctionExpression_false_noBody() {
1020 JUnitTestCase.assertFalse(_isFunctionExpression("f();"));
1021 }
1022
1023 void test_isFunctionExpression_false_notParameters() {
1024 JUnitTestCase.assertFalse(_isFunctionExpression("(a + b) {"));
1025 }
1026
1027 void test_isFunctionExpression_noName_block() {
1028 JUnitTestCase.assertTrue(_isFunctionExpression("() {}"));
1029 }
1030
1031 void test_isFunctionExpression_noName_expression() {
1032 JUnitTestCase.assertTrue(_isFunctionExpression("() => e"));
1033 }
1034
1035 void test_isFunctionExpression_parameter_final() {
1036 JUnitTestCase.assertTrue(_isFunctionExpression("(final a) {}"));
1037 JUnitTestCase.assertTrue(_isFunctionExpression("(final a, b) {}"));
1038 JUnitTestCase.assertTrue(_isFunctionExpression("(final a, final b) {}"));
1039 }
1040
1041 void test_isFunctionExpression_parameter_final_typed() {
1042 JUnitTestCase.assertTrue(_isFunctionExpression("(final int a) {}"));
1043 JUnitTestCase.assertTrue(_isFunctionExpression("(final prefix.List a) {}"));
1044 JUnitTestCase.assertTrue(_isFunctionExpression("(final List<int> a) {}"));
1045 JUnitTestCase.assertTrue(_isFunctionExpression("(final prefix.List<int> a) { }"));
1046 }
1047
1048 void test_isFunctionExpression_parameter_multiple() {
1049 JUnitTestCase.assertTrue(_isFunctionExpression("(a, b) {}"));
1050 }
1051
1052 void test_isFunctionExpression_parameter_named() {
1053 JUnitTestCase.assertTrue(_isFunctionExpression("({a}) {}"));
1054 }
1055
1056 void test_isFunctionExpression_parameter_optional() {
1057 JUnitTestCase.assertTrue(_isFunctionExpression("([a]) {}"));
1058 }
1059
1060 void test_isFunctionExpression_parameter_single() {
1061 JUnitTestCase.assertTrue(_isFunctionExpression("(a) {}"));
1062 }
1063
1064 void test_isFunctionExpression_parameter_typed() {
1065 JUnitTestCase.assertTrue(_isFunctionExpression("(int a, int b) {}"));
1066 }
1067
1068 void test_isInitializedVariableDeclaration_assignment() {
1069 JUnitTestCase.assertFalse(_isInitializedVariableDeclaration("a = null;"));
1070 }
1071
1072 void test_isInitializedVariableDeclaration_comparison() {
1073 JUnitTestCase.assertFalse(_isInitializedVariableDeclaration("a < 0;"));
1074 }
1075
1076 void test_isInitializedVariableDeclaration_conditional() {
1077 JUnitTestCase.assertFalse(_isInitializedVariableDeclaration("a == null ? ini t() : update();"));
1078 }
1079
1080 void test_isInitializedVariableDeclaration_const_noType_initialized() {
1081 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("const a = 0;"));
1082 }
1083
1084 void test_isInitializedVariableDeclaration_const_noType_uninitialized() {
1085 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("const a;"));
1086 }
1087
1088 void test_isInitializedVariableDeclaration_const_simpleType_uninitialized() {
1089 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("const A a;"));
1090 }
1091
1092 void test_isInitializedVariableDeclaration_final_noType_initialized() {
1093 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("final a = 0;"));
1094 }
1095
1096 void test_isInitializedVariableDeclaration_final_noType_uninitialized() {
1097 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("final a;"));
1098 }
1099
1100 void test_isInitializedVariableDeclaration_final_simpleType_initialized() {
1101 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("final A a = 0;") );
1102 }
1103
1104 void test_isInitializedVariableDeclaration_functionDeclaration_typed() {
1105 JUnitTestCase.assertFalse(_isInitializedVariableDeclaration("A f() {};"));
1106 }
1107
1108 void test_isInitializedVariableDeclaration_functionDeclaration_untyped() {
1109 JUnitTestCase.assertFalse(_isInitializedVariableDeclaration("f() {};"));
1110 }
1111
1112 void test_isInitializedVariableDeclaration_noType_initialized() {
1113 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("var a = 0;"));
1114 }
1115
1116 void test_isInitializedVariableDeclaration_noType_uninitialized() {
1117 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("var a;"));
1118 }
1119
1120 void test_isInitializedVariableDeclaration_parameterizedType_initialized() {
1121 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("List<int> a = nu ll;"));
1122 }
1123
1124 void test_isInitializedVariableDeclaration_parameterizedType_uninitialized() {
1125 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("List<int> a;"));
1126 }
1127
1128 void test_isInitializedVariableDeclaration_simpleType_initialized() {
1129 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("A a = 0;"));
1130 }
1131
1132 void test_isInitializedVariableDeclaration_simpleType_uninitialized() {
1133 JUnitTestCase.assertTrue(_isInitializedVariableDeclaration("A a;"));
1134 }
1135
1136 void test_isSwitchMember_case_labeled() {
1137 JUnitTestCase.assertTrue(_isSwitchMember("l1: l2: case"));
1138 }
1139
1140 void test_isSwitchMember_case_unlabeled() {
1141 JUnitTestCase.assertTrue(_isSwitchMember("case"));
1142 }
1143
1144 void test_isSwitchMember_default_labeled() {
1145 JUnitTestCase.assertTrue(_isSwitchMember("l1: l2: default"));
1146 }
1147
1148 void test_isSwitchMember_default_unlabeled() {
1149 JUnitTestCase.assertTrue(_isSwitchMember("default"));
1150 }
1151
1152 void test_isSwitchMember_false() {
1153 JUnitTestCase.assertFalse(_isSwitchMember("break;"));
1154 }
1155
1156 void test_parseAdditiveExpression_normal() {
1157 BinaryExpression expression = ParserTestCase.parse4("parseAdditiveExpression ", "x + y", []);
1158 JUnitTestCase.assertNotNull(expression.leftOperand);
1159 JUnitTestCase.assertNotNull(expression.operator);
1160 JUnitTestCase.assertEquals(TokenType.PLUS, expression.operator.type);
1161 JUnitTestCase.assertNotNull(expression.rightOperand);
1162 }
1163
1164 void test_parseAdditiveExpression_super() {
1165 BinaryExpression expression = ParserTestCase.parse4("parseAdditiveExpression ", "super + y", []);
1166 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, expression.leftOperand);
1167 JUnitTestCase.assertNotNull(expression.operator);
1168 JUnitTestCase.assertEquals(TokenType.PLUS, expression.operator.type);
1169 JUnitTestCase.assertNotNull(expression.rightOperand);
1170 }
1171
1172 void test_parseAnnotation_n1() {
1173 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A", []);
1174 JUnitTestCase.assertNotNull(annotation.atSign);
1175 JUnitTestCase.assertNotNull(annotation.name);
1176 JUnitTestCase.assertNull(annotation.period);
1177 JUnitTestCase.assertNull(annotation.constructorName);
1178 JUnitTestCase.assertNull(annotation.arguments);
1179 }
1180
1181 void test_parseAnnotation_n1_a() {
1182 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A(x,y)", []);
1183 JUnitTestCase.assertNotNull(annotation.atSign);
1184 JUnitTestCase.assertNotNull(annotation.name);
1185 JUnitTestCase.assertNull(annotation.period);
1186 JUnitTestCase.assertNull(annotation.constructorName);
1187 JUnitTestCase.assertNotNull(annotation.arguments);
1188 }
1189
1190 void test_parseAnnotation_n2() {
1191 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A.B", []) ;
1192 JUnitTestCase.assertNotNull(annotation.atSign);
1193 JUnitTestCase.assertNotNull(annotation.name);
1194 JUnitTestCase.assertNull(annotation.period);
1195 JUnitTestCase.assertNull(annotation.constructorName);
1196 JUnitTestCase.assertNull(annotation.arguments);
1197 }
1198
1199 void test_parseAnnotation_n2_a() {
1200 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A.B(x,y)" , []);
1201 JUnitTestCase.assertNotNull(annotation.atSign);
1202 JUnitTestCase.assertNotNull(annotation.name);
1203 JUnitTestCase.assertNull(annotation.period);
1204 JUnitTestCase.assertNull(annotation.constructorName);
1205 JUnitTestCase.assertNotNull(annotation.arguments);
1206 }
1207
1208 void test_parseAnnotation_n3() {
1209 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A.B.C", [ ]);
1210 JUnitTestCase.assertNotNull(annotation.atSign);
1211 JUnitTestCase.assertNotNull(annotation.name);
1212 JUnitTestCase.assertNotNull(annotation.period);
1213 JUnitTestCase.assertNotNull(annotation.constructorName);
1214 JUnitTestCase.assertNull(annotation.arguments);
1215 }
1216
1217 void test_parseAnnotation_n3_a() {
1218 Annotation annotation = ParserTestCase.parse4("parseAnnotation", "@A.B.C(x,y )", []);
1219 JUnitTestCase.assertNotNull(annotation.atSign);
1220 JUnitTestCase.assertNotNull(annotation.name);
1221 JUnitTestCase.assertNotNull(annotation.period);
1222 JUnitTestCase.assertNotNull(annotation.constructorName);
1223 JUnitTestCase.assertNotNull(annotation.arguments);
1224 }
1225
1226 void test_parseArgument_named() {
1227 NamedExpression expression = ParserTestCase.parse4("parseArgument", "n: x", []);
1228 Label name = expression.name;
1229 JUnitTestCase.assertNotNull(name);
1230 JUnitTestCase.assertNotNull(name.label);
1231 JUnitTestCase.assertNotNull(name.colon);
1232 JUnitTestCase.assertNotNull(expression.expression);
1233 }
1234
1235 void test_parseArgument_unnamed() {
1236 String lexeme = "x";
1237 SimpleIdentifier identifier = ParserTestCase.parse4("parseArgument", lexeme, []);
1238 JUnitTestCase.assertEquals(lexeme, identifier.name);
1239 }
1240
1241 void test_parseArgumentDefinitionTest() {
1242 ArgumentDefinitionTest test = ParserTestCase.parse4("parseArgumentDefinition Test", "?x", [ParserErrorCode.DEPRECATED_ARGUMENT_DEFINITION_TEST]);
1243 JUnitTestCase.assertNotNull(test.question);
1244 JUnitTestCase.assertNotNull(test.identifier);
1245 }
1246
1247 void test_parseArgumentList_empty() {
1248 ArgumentList argumentList = ParserTestCase.parse4("parseArgumentList", "()", []);
1249 NodeList<Expression> arguments = argumentList.arguments;
1250 EngineTestCase.assertSizeOfList(0, arguments);
1251 }
1252
1253 void test_parseArgumentList_mixed() {
1254 ArgumentList argumentList = ParserTestCase.parse4("parseArgumentList", "(w, x, y: y, z: z)", []);
1255 NodeList<Expression> arguments = argumentList.arguments;
1256 EngineTestCase.assertSizeOfList(4, arguments);
1257 }
1258
1259 void test_parseArgumentList_noNamed() {
1260 ArgumentList argumentList = ParserTestCase.parse4("parseArgumentList", "(x, y, z)", []);
1261 NodeList<Expression> arguments = argumentList.arguments;
1262 EngineTestCase.assertSizeOfList(3, arguments);
1263 }
1264
1265 void test_parseArgumentList_onlyNamed() {
1266 ArgumentList argumentList = ParserTestCase.parse4("parseArgumentList", "(x: x, y: y)", []);
1267 NodeList<Expression> arguments = argumentList.arguments;
1268 EngineTestCase.assertSizeOfList(2, arguments);
1269 }
1270
1271 void test_parseAssertStatement() {
1272 AssertStatement statement = ParserTestCase.parse4("parseAssertStatement", "a ssert (x);", []);
1273 JUnitTestCase.assertNotNull(statement.keyword);
1274 JUnitTestCase.assertNotNull(statement.leftParenthesis);
1275 JUnitTestCase.assertNotNull(statement.condition);
1276 JUnitTestCase.assertNotNull(statement.rightParenthesis);
1277 JUnitTestCase.assertNotNull(statement.semicolon);
1278 }
1279
1280 void test_parseAssignableExpression_expression_args_dot() {
1281 PropertyAccess propertyAccess = ParserTestCase.parse("parseAssignableExpress ion", <Object> [false], "(x)(y).z");
1282 FunctionExpressionInvocation invocation = propertyAccess.target as FunctionE xpressionInvocation;
1283 JUnitTestCase.assertNotNull(invocation.function);
1284 ArgumentList argumentList = invocation.argumentList;
1285 JUnitTestCase.assertNotNull(argumentList);
1286 EngineTestCase.assertSizeOfList(1, argumentList.arguments);
1287 JUnitTestCase.assertNotNull(propertyAccess.operator);
1288 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
1289 }
1290
1291 void test_parseAssignableExpression_expression_dot() {
1292 PropertyAccess propertyAccess = ParserTestCase.parse("parseAssignableExpress ion", <Object> [false], "(x).y");
1293 JUnitTestCase.assertNotNull(propertyAccess.target);
1294 JUnitTestCase.assertNotNull(propertyAccess.operator);
1295 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
1296 }
1297
1298 void test_parseAssignableExpression_expression_index() {
1299 IndexExpression expression = ParserTestCase.parse("parseAssignableExpression ", <Object> [false], "(x)[y]");
1300 JUnitTestCase.assertNotNull(expression.target);
1301 JUnitTestCase.assertNotNull(expression.leftBracket);
1302 JUnitTestCase.assertNotNull(expression.index);
1303 JUnitTestCase.assertNotNull(expression.rightBracket);
1304 }
1305
1306 void test_parseAssignableExpression_identifier() {
1307 SimpleIdentifier identifier = ParserTestCase.parse("parseAssignableExpressio n", <Object> [false], "x");
1308 JUnitTestCase.assertNotNull(identifier);
1309 }
1310
1311 void test_parseAssignableExpression_identifier_args_dot() {
1312 PropertyAccess propertyAccess = ParserTestCase.parse("parseAssignableExpress ion", <Object> [false], "x(y).z");
1313 MethodInvocation invocation = propertyAccess.target as MethodInvocation;
1314 JUnitTestCase.assertEquals("x", invocation.methodName.name);
1315 ArgumentList argumentList = invocation.argumentList;
1316 JUnitTestCase.assertNotNull(argumentList);
1317 EngineTestCase.assertSizeOfList(1, argumentList.arguments);
1318 JUnitTestCase.assertNotNull(propertyAccess.operator);
1319 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
1320 }
1321
1322 void test_parseAssignableExpression_identifier_dot() {
1323 PropertyAccess propertyAccess = ParserTestCase.parse("parseAssignableExpress ion", <Object> [false], "x.y");
1324 JUnitTestCase.assertNotNull(propertyAccess.target);
1325 JUnitTestCase.assertNotNull(propertyAccess.operator);
1326 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
1327 }
1328
1329 void test_parseAssignableExpression_identifier_index() {
1330 IndexExpression expression = ParserTestCase.parse("parseAssignableExpression ", <Object> [false], "x[y]");
1331 JUnitTestCase.assertNotNull(expression.target);
1332 JUnitTestCase.assertNotNull(expression.leftBracket);
1333 JUnitTestCase.assertNotNull(expression.index);
1334 JUnitTestCase.assertNotNull(expression.rightBracket);
1335 }
1336
1337 void test_parseAssignableExpression_super_dot() {
1338 PropertyAccess propertyAccess = ParserTestCase.parse("parseAssignableExpress ion", <Object> [false], "super.y");
1339 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, propertyAccess.target);
1340 JUnitTestCase.assertNotNull(propertyAccess.operator);
1341 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
1342 }
1343
1344 void test_parseAssignableExpression_super_index() {
1345 IndexExpression expression = ParserTestCase.parse("parseAssignableExpression ", <Object> [false], "super[y]");
1346 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, expression.target);
1347 JUnitTestCase.assertNotNull(expression.leftBracket);
1348 JUnitTestCase.assertNotNull(expression.index);
1349 JUnitTestCase.assertNotNull(expression.rightBracket);
1350 }
1351
1352 void test_parseAssignableSelector_dot() {
1353 PropertyAccess selector = ParserTestCase.parse("parseAssignableSelector", <O bject> [null, true], ".x");
1354 JUnitTestCase.assertNotNull(selector.operator);
1355 JUnitTestCase.assertNotNull(selector.propertyName);
1356 }
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
1365 void test_parseAssignableSelector_none() {
1366 SimpleIdentifier selector = ParserTestCase.parse("parseAssignableSelector", <Object> [new SimpleIdentifier(null), true], ";");
1367 JUnitTestCase.assertNotNull(selector);
1368 }
1369
1370 void test_parseBitwiseAndExpression_normal() {
1371 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseAndExpressi on", "x & y", []);
1372 JUnitTestCase.assertNotNull(expression.leftOperand);
1373 JUnitTestCase.assertNotNull(expression.operator);
1374 JUnitTestCase.assertEquals(TokenType.AMPERSAND, expression.operator.type);
1375 JUnitTestCase.assertNotNull(expression.rightOperand);
1376 }
1377
1378 void test_parseBitwiseAndExpression_super() {
1379 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseAndExpressi on", "super & y", []);
1380 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, expression.leftOperand);
1381 JUnitTestCase.assertNotNull(expression.operator);
1382 JUnitTestCase.assertEquals(TokenType.AMPERSAND, expression.operator.type);
1383 JUnitTestCase.assertNotNull(expression.rightOperand);
1384 }
1385
1386 void test_parseBitwiseOrExpression_normal() {
1387 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseOrExpressio n", "x | y", []);
1388 JUnitTestCase.assertNotNull(expression.leftOperand);
1389 JUnitTestCase.assertNotNull(expression.operator);
1390 JUnitTestCase.assertEquals(TokenType.BAR, expression.operator.type);
1391 JUnitTestCase.assertNotNull(expression.rightOperand);
1392 }
1393
1394 void test_parseBitwiseOrExpression_super() {
1395 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseOrExpressio n", "super | y", []);
1396 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, expression.leftOperand);
1397 JUnitTestCase.assertNotNull(expression.operator);
1398 JUnitTestCase.assertEquals(TokenType.BAR, expression.operator.type);
1399 JUnitTestCase.assertNotNull(expression.rightOperand);
1400 }
1401
1402 void test_parseBitwiseXorExpression_normal() {
1403 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseXorExpressi on", "x ^ y", []);
1404 JUnitTestCase.assertNotNull(expression.leftOperand);
1405 JUnitTestCase.assertNotNull(expression.operator);
1406 JUnitTestCase.assertEquals(TokenType.CARET, expression.operator.type);
1407 JUnitTestCase.assertNotNull(expression.rightOperand);
1408 }
1409
1410 void test_parseBitwiseXorExpression_super() {
1411 BinaryExpression expression = ParserTestCase.parse4("parseBitwiseXorExpressi on", "super ^ y", []);
1412 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, expression.leftOperand);
1413 JUnitTestCase.assertNotNull(expression.operator);
1414 JUnitTestCase.assertEquals(TokenType.CARET, expression.operator.type);
1415 JUnitTestCase.assertNotNull(expression.rightOperand);
1416 }
1417
1418 void test_parseBlock_empty() {
1419 Block block = ParserTestCase.parse4("parseBlock", "{}", []);
1420 JUnitTestCase.assertNotNull(block.leftBracket);
1421 EngineTestCase.assertSizeOfList(0, block.statements);
1422 JUnitTestCase.assertNotNull(block.rightBracket);
1423 }
1424
1425 void test_parseBlock_nonEmpty() {
1426 Block block = ParserTestCase.parse4("parseBlock", "{;}", []);
1427 JUnitTestCase.assertNotNull(block.leftBracket);
1428 EngineTestCase.assertSizeOfList(1, block.statements);
1429 JUnitTestCase.assertNotNull(block.rightBracket);
1430 }
1431
1432 void test_parseBreakStatement_label() {
1433 BreakStatement statement = ParserTestCase.parse4("parseBreakStatement", "bre ak foo;", []);
1434 JUnitTestCase.assertNotNull(statement.keyword);
1435 JUnitTestCase.assertNotNull(statement.label);
1436 JUnitTestCase.assertNotNull(statement.semicolon);
1437 }
1438
1439 void test_parseBreakStatement_noLabel() {
1440 BreakStatement statement = ParserTestCase.parse4("parseBreakStatement", "bre ak;", [ParserErrorCode.BREAK_OUTSIDE_OF_LOOP]);
1441 JUnitTestCase.assertNotNull(statement.keyword);
1442 JUnitTestCase.assertNull(statement.label);
1443 JUnitTestCase.assertNotNull(statement.semicolon);
1444 }
1445
1446 void test_parseCascadeSection_i() {
1447 IndexExpression section = ParserTestCase.parse4("parseCascadeSection", "..[i ]", []);
1448 JUnitTestCase.assertNull(section.target);
1449 JUnitTestCase.assertNotNull(section.leftBracket);
1450 JUnitTestCase.assertNotNull(section.index);
1451 JUnitTestCase.assertNotNull(section.rightBracket);
1452 }
1453
1454 void test_parseCascadeSection_ia() {
1455 FunctionExpressionInvocation section = ParserTestCase.parse4("parseCascadeSe ction", "..[i](b)", []);
1456 EngineTestCase.assertInstanceOf((obj) => obj is IndexExpression, IndexExpres sion, section.function);
1457 JUnitTestCase.assertNotNull(section.argumentList);
1458 }
1459
1460 void test_parseCascadeSection_ii() {
1461 MethodInvocation section = ParserTestCase.parse4("parseCascadeSection", "..a (b).c(d)", []);
1462 EngineTestCase.assertInstanceOf((obj) => obj is MethodInvocation, MethodInvo cation, section.target);
1463 JUnitTestCase.assertNotNull(section.period);
1464 JUnitTestCase.assertNotNull(section.methodName);
1465 JUnitTestCase.assertNotNull(section.argumentList);
1466 EngineTestCase.assertSizeOfList(1, section.argumentList.arguments);
1467 }
1468
1469 void test_parseCascadeSection_p() {
1470 PropertyAccess section = ParserTestCase.parse4("parseCascadeSection", "..a", []);
1471 JUnitTestCase.assertNull(section.target);
1472 JUnitTestCase.assertNotNull(section.operator);
1473 JUnitTestCase.assertNotNull(section.propertyName);
1474 }
1475
1476 void test_parseCascadeSection_p_assign() {
1477 AssignmentExpression section = ParserTestCase.parse4("parseCascadeSection", "..a = 3", []);
1478 JUnitTestCase.assertNotNull(section.leftHandSide);
1479 JUnitTestCase.assertNotNull(section.operator);
1480 Expression rhs = section.rightHandSide;
1481 JUnitTestCase.assertNotNull(rhs);
1482 }
1483
1484 void test_parseCascadeSection_p_assign_withCascade() {
1485 AssignmentExpression section = ParserTestCase.parse4("parseCascadeSection", "..a = 3..m()", []);
1486 JUnitTestCase.assertNotNull(section.leftHandSide);
1487 JUnitTestCase.assertNotNull(section.operator);
1488 Expression rhs = section.rightHandSide;
1489 EngineTestCase.assertInstanceOf((obj) => obj is IntegerLiteral, IntegerLiter al, rhs);
1490 }
1491
1492 void test_parseCascadeSection_p_builtIn() {
1493 PropertyAccess section = ParserTestCase.parse4("parseCascadeSection", "..as" , []);
1494 JUnitTestCase.assertNull(section.target);
1495 JUnitTestCase.assertNotNull(section.operator);
1496 JUnitTestCase.assertNotNull(section.propertyName);
1497 }
1498
1499 void test_parseCascadeSection_pa() {
1500 MethodInvocation section = ParserTestCase.parse4("parseCascadeSection", "..a (b)", []);
1501 JUnitTestCase.assertNull(section.target);
1502 JUnitTestCase.assertNotNull(section.period);
1503 JUnitTestCase.assertNotNull(section.methodName);
1504 JUnitTestCase.assertNotNull(section.argumentList);
1505 EngineTestCase.assertSizeOfList(1, section.argumentList.arguments);
1506 }
1507
1508 void test_parseCascadeSection_paa() {
1509 FunctionExpressionInvocation section = ParserTestCase.parse4("parseCascadeSe ction", "..a(b)(c)", []);
1510 EngineTestCase.assertInstanceOf((obj) => obj is MethodInvocation, MethodInvo cation, section.function);
1511 JUnitTestCase.assertNotNull(section.argumentList);
1512 EngineTestCase.assertSizeOfList(1, section.argumentList.arguments);
1513 }
1514
1515 void test_parseCascadeSection_paapaa() {
1516 FunctionExpressionInvocation section = ParserTestCase.parse4("parseCascadeSe ction", "..a(b)(c).d(e)(f)", []);
1517 EngineTestCase.assertInstanceOf((obj) => obj is MethodInvocation, MethodInvo cation, section.function);
1518 JUnitTestCase.assertNotNull(section.argumentList);
1519 EngineTestCase.assertSizeOfList(1, section.argumentList.arguments);
1520 }
1521
1522 void test_parseCascadeSection_pap() {
1523 PropertyAccess section = ParserTestCase.parse4("parseCascadeSection", "..a(b ).c", []);
1524 JUnitTestCase.assertNotNull(section.target);
1525 JUnitTestCase.assertNotNull(section.operator);
1526 JUnitTestCase.assertNotNull(section.propertyName);
1527 }
1528
1529 void test_parseClassDeclaration_abstract() {
1530 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [
1531 emptyCommentAndMetadata(),
1532 TokenFactory.tokenFromKeyword(Keyword.ABSTRACT)], "class A {}");
1533 JUnitTestCase.assertNull(declaration.documentationComment);
1534 JUnitTestCase.assertNotNull(declaration.abstractKeyword);
1535 JUnitTestCase.assertNull(declaration.extendsClause);
1536 JUnitTestCase.assertNull(declaration.implementsClause);
1537 JUnitTestCase.assertNotNull(declaration.classKeyword);
1538 JUnitTestCase.assertNotNull(declaration.leftBracket);
1539 JUnitTestCase.assertNotNull(declaration.name);
1540 EngineTestCase.assertSizeOfList(0, declaration.members);
1541 JUnitTestCase.assertNotNull(declaration.rightBracket);
1542 JUnitTestCase.assertNull(declaration.typeParameters);
1543 }
1544
1545 void test_parseClassDeclaration_empty() {
1546 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A {}");
1547 JUnitTestCase.assertNull(declaration.documentationComment);
1548 JUnitTestCase.assertNull(declaration.abstractKeyword);
1549 JUnitTestCase.assertNull(declaration.extendsClause);
1550 JUnitTestCase.assertNull(declaration.implementsClause);
1551 JUnitTestCase.assertNotNull(declaration.classKeyword);
1552 JUnitTestCase.assertNotNull(declaration.leftBracket);
1553 JUnitTestCase.assertNotNull(declaration.name);
1554 EngineTestCase.assertSizeOfList(0, declaration.members);
1555 JUnitTestCase.assertNotNull(declaration.rightBracket);
1556 JUnitTestCase.assertNull(declaration.typeParameters);
1557 }
1558
1559 void test_parseClassDeclaration_extends() {
1560 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A extends B {}");
1561 JUnitTestCase.assertNull(declaration.documentationComment);
1562 JUnitTestCase.assertNull(declaration.abstractKeyword);
1563 JUnitTestCase.assertNotNull(declaration.extendsClause);
1564 JUnitTestCase.assertNull(declaration.implementsClause);
1565 JUnitTestCase.assertNotNull(declaration.classKeyword);
1566 JUnitTestCase.assertNotNull(declaration.leftBracket);
1567 JUnitTestCase.assertNotNull(declaration.name);
1568 EngineTestCase.assertSizeOfList(0, declaration.members);
1569 JUnitTestCase.assertNotNull(declaration.rightBracket);
1570 JUnitTestCase.assertNull(declaration.typeParameters);
1571 }
1572
1573 void test_parseClassDeclaration_extendsAndImplements() {
1574 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A extends B implements C {}" );
1575 JUnitTestCase.assertNull(declaration.documentationComment);
1576 JUnitTestCase.assertNull(declaration.abstractKeyword);
1577 JUnitTestCase.assertNotNull(declaration.extendsClause);
1578 JUnitTestCase.assertNotNull(declaration.implementsClause);
1579 JUnitTestCase.assertNotNull(declaration.classKeyword);
1580 JUnitTestCase.assertNotNull(declaration.leftBracket);
1581 JUnitTestCase.assertNotNull(declaration.name);
1582 EngineTestCase.assertSizeOfList(0, declaration.members);
1583 JUnitTestCase.assertNotNull(declaration.rightBracket);
1584 JUnitTestCase.assertNull(declaration.typeParameters);
1585 }
1586
1587 void test_parseClassDeclaration_extendsAndWith() {
1588 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A extends B with C {}");
1589 JUnitTestCase.assertNull(declaration.documentationComment);
1590 JUnitTestCase.assertNull(declaration.abstractKeyword);
1591 JUnitTestCase.assertNotNull(declaration.classKeyword);
1592 JUnitTestCase.assertNotNull(declaration.name);
1593 JUnitTestCase.assertNull(declaration.typeParameters);
1594 JUnitTestCase.assertNotNull(declaration.extendsClause);
1595 JUnitTestCase.assertNotNull(declaration.withClause);
1596 JUnitTestCase.assertNull(declaration.implementsClause);
1597 JUnitTestCase.assertNotNull(declaration.leftBracket);
1598 EngineTestCase.assertSizeOfList(0, declaration.members);
1599 JUnitTestCase.assertNotNull(declaration.rightBracket);
1600 }
1601
1602 void test_parseClassDeclaration_extendsAndWithAndImplements() {
1603 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A extends B with C implement s D {}");
1604 JUnitTestCase.assertNull(declaration.documentationComment);
1605 JUnitTestCase.assertNull(declaration.abstractKeyword);
1606 JUnitTestCase.assertNotNull(declaration.classKeyword);
1607 JUnitTestCase.assertNotNull(declaration.name);
1608 JUnitTestCase.assertNull(declaration.typeParameters);
1609 JUnitTestCase.assertNotNull(declaration.extendsClause);
1610 JUnitTestCase.assertNotNull(declaration.withClause);
1611 JUnitTestCase.assertNotNull(declaration.implementsClause);
1612 JUnitTestCase.assertNotNull(declaration.leftBracket);
1613 EngineTestCase.assertSizeOfList(0, declaration.members);
1614 JUnitTestCase.assertNotNull(declaration.rightBracket);
1615 }
1616
1617 void test_parseClassDeclaration_implements() {
1618 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A implements C {}");
1619 JUnitTestCase.assertNull(declaration.documentationComment);
1620 JUnitTestCase.assertNull(declaration.abstractKeyword);
1621 JUnitTestCase.assertNull(declaration.extendsClause);
1622 JUnitTestCase.assertNotNull(declaration.implementsClause);
1623 JUnitTestCase.assertNotNull(declaration.classKeyword);
1624 JUnitTestCase.assertNotNull(declaration.leftBracket);
1625 JUnitTestCase.assertNotNull(declaration.name);
1626 EngineTestCase.assertSizeOfList(0, declaration.members);
1627 JUnitTestCase.assertNotNull(declaration.rightBracket);
1628 JUnitTestCase.assertNull(declaration.typeParameters);
1629 }
1630
1631 void test_parseClassDeclaration_native() {
1632 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A native 'nativeValue' {}");
1633 NativeClause nativeClause = declaration.nativeClause;
1634 JUnitTestCase.assertNotNull(nativeClause);
1635 JUnitTestCase.assertNotNull(nativeClause.keyword);
1636 JUnitTestCase.assertEquals("nativeValue", nativeClause.name.stringValue);
1637 JUnitTestCase.assertSame(nativeClause.keyword, nativeClause.beginToken);
1638 JUnitTestCase.assertSame(nativeClause.name.endToken, nativeClause.endToken);
1639 }
1640
1641 void test_parseClassDeclaration_nonEmpty() {
1642 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A {var f;}");
1643 JUnitTestCase.assertNull(declaration.documentationComment);
1644 JUnitTestCase.assertNull(declaration.abstractKeyword);
1645 JUnitTestCase.assertNull(declaration.extendsClause);
1646 JUnitTestCase.assertNull(declaration.implementsClause);
1647 JUnitTestCase.assertNotNull(declaration.classKeyword);
1648 JUnitTestCase.assertNotNull(declaration.leftBracket);
1649 JUnitTestCase.assertNotNull(declaration.name);
1650 EngineTestCase.assertSizeOfList(1, declaration.members);
1651 JUnitTestCase.assertNotNull(declaration.rightBracket);
1652 JUnitTestCase.assertNull(declaration.typeParameters);
1653 }
1654
1655 void test_parseClassDeclaration_typeAlias_implementsC() {
1656 ClassTypeAlias typeAlias = ParserTestCase.parse("parseClassDeclaration", <Ob ject> [emptyCommentAndMetadata(), null], "class A = Object with B implements C;" );
1657 JUnitTestCase.assertNotNull(typeAlias.keyword);
1658 JUnitTestCase.assertNotNull(typeAlias.name);
1659 JUnitTestCase.assertNull(typeAlias.typeParameters);
1660 JUnitTestCase.assertNotNull(typeAlias.withClause);
1661 JUnitTestCase.assertNotNull(typeAlias.implementsClause);
1662 JUnitTestCase.assertNotNull(typeAlias.implementsClause.keyword);
1663 JUnitTestCase.assertEquals(1, typeAlias.implementsClause.interfaces.length);
1664 JUnitTestCase.assertNotNull(typeAlias.semicolon);
1665 }
1666
1667 void test_parseClassDeclaration_typeAlias_withB() {
1668 ClassTypeAlias typeAlias = ParserTestCase.parse("parseClassDeclaration", <Ob ject> [emptyCommentAndMetadata(), null], "class A = Object with B;");
1669 JUnitTestCase.assertNotNull(typeAlias.keyword);
1670 JUnitTestCase.assertNotNull(typeAlias.name);
1671 JUnitTestCase.assertNull(typeAlias.typeParameters);
1672 JUnitTestCase.assertNotNull(typeAlias.withClause);
1673 JUnitTestCase.assertNotNull(typeAlias.withClause.withKeyword);
1674 JUnitTestCase.assertEquals(1, typeAlias.withClause.mixinTypes.length);
1675 JUnitTestCase.assertNull(typeAlias.implementsClause);
1676 JUnitTestCase.assertNotNull(typeAlias.semicolon);
1677 }
1678
1679 void test_parseClassDeclaration_typeParameters() {
1680 ClassDeclaration declaration = ParserTestCase.parse("parseClassDeclaration", <Object> [emptyCommentAndMetadata(), null], "class A<B> {}");
1681 JUnitTestCase.assertNull(declaration.documentationComment);
1682 JUnitTestCase.assertNull(declaration.abstractKeyword);
1683 JUnitTestCase.assertNull(declaration.extendsClause);
1684 JUnitTestCase.assertNull(declaration.implementsClause);
1685 JUnitTestCase.assertNotNull(declaration.classKeyword);
1686 JUnitTestCase.assertNotNull(declaration.leftBracket);
1687 JUnitTestCase.assertNotNull(declaration.name);
1688 EngineTestCase.assertSizeOfList(0, declaration.members);
1689 JUnitTestCase.assertNotNull(declaration.rightBracket);
1690 JUnitTestCase.assertNotNull(declaration.typeParameters);
1691 EngineTestCase.assertSizeOfList(1, declaration.typeParameters.typeParameters );
1692 }
1693
1694 void test_parseClassMember_constructor_withInitializers() {
1695 // TODO(brianwilkerson) Test other kinds of class members: fields, getters a nd setters.
1696 ConstructorDeclaration constructor = ParserTestCase.parse("parseClassMember" , <Object> ["C"], "C(_, _\$, this.__) : _a = _ + _\$ {}");
1697 JUnitTestCase.assertNotNull(constructor.body);
1698 JUnitTestCase.assertNotNull(constructor.separator);
1699 JUnitTestCase.assertNull(constructor.externalKeyword);
1700 JUnitTestCase.assertNull(constructor.constKeyword);
1701 JUnitTestCase.assertNull(constructor.factoryKeyword);
1702 JUnitTestCase.assertNull(constructor.name);
1703 JUnitTestCase.assertNotNull(constructor.parameters);
1704 JUnitTestCase.assertNull(constructor.period);
1705 JUnitTestCase.assertNotNull(constructor.returnType);
1706 EngineTestCase.assertSizeOfList(1, constructor.initializers);
1707 }
1708
1709 void test_parseClassMember_field_instance_prefixedType() {
1710 FieldDeclaration field = ParserTestCase.parse("parseClassMember", <Object> [ "C"], "p.A f;");
1711 JUnitTestCase.assertNull(field.documentationComment);
1712 EngineTestCase.assertSizeOfList(0, field.metadata);
1713 JUnitTestCase.assertNull(field.staticKeyword);
1714 VariableDeclarationList list = field.fields;
1715 JUnitTestCase.assertNotNull(list);
1716 NodeList<VariableDeclaration> variables = list.variables;
1717 EngineTestCase.assertSizeOfList(1, variables);
1718 VariableDeclaration variable = variables[0];
1719 JUnitTestCase.assertNotNull(variable.name);
1720 }
1721
1722 void test_parseClassMember_field_namedGet() {
1723 FieldDeclaration field = ParserTestCase.parse("parseClassMember", <Object> [ "C"], "var get;");
1724 JUnitTestCase.assertNull(field.documentationComment);
1725 EngineTestCase.assertSizeOfList(0, field.metadata);
1726 JUnitTestCase.assertNull(field.staticKeyword);
1727 VariableDeclarationList list = field.fields;
1728 JUnitTestCase.assertNotNull(list);
1729 NodeList<VariableDeclaration> variables = list.variables;
1730 EngineTestCase.assertSizeOfList(1, variables);
1731 VariableDeclaration variable = variables[0];
1732 JUnitTestCase.assertNotNull(variable.name);
1733 }
1734
1735 void test_parseClassMember_field_namedOperator() {
1736 FieldDeclaration field = ParserTestCase.parse("parseClassMember", <Object> [ "C"], "var operator;");
1737 JUnitTestCase.assertNull(field.documentationComment);
1738 EngineTestCase.assertSizeOfList(0, field.metadata);
1739 JUnitTestCase.assertNull(field.staticKeyword);
1740 VariableDeclarationList list = field.fields;
1741 JUnitTestCase.assertNotNull(list);
1742 NodeList<VariableDeclaration> variables = list.variables;
1743 EngineTestCase.assertSizeOfList(1, variables);
1744 VariableDeclaration variable = variables[0];
1745 JUnitTestCase.assertNotNull(variable.name);
1746 }
1747
1748 void test_parseClassMember_field_namedOperator_withAssignment() {
1749 FieldDeclaration field = ParserTestCase.parse("parseClassMember", <Object> [ "C"], "var operator = (5);");
1750 JUnitTestCase.assertNull(field.documentationComment);
1751 EngineTestCase.assertSizeOfList(0, field.metadata);
1752 JUnitTestCase.assertNull(field.staticKeyword);
1753 VariableDeclarationList list = field.fields;
1754 JUnitTestCase.assertNotNull(list);
1755 NodeList<VariableDeclaration> variables = list.variables;
1756 EngineTestCase.assertSizeOfList(1, variables);
1757 VariableDeclaration variable = variables[0];
1758 JUnitTestCase.assertNotNull(variable.name);
1759 JUnitTestCase.assertNotNull(variable.initializer);
1760 }
1761
1762 void test_parseClassMember_field_namedSet() {
1763 FieldDeclaration field = ParserTestCase.parse("parseClassMember", <Object> [ "C"], "var set;");
1764 JUnitTestCase.assertNull(field.documentationComment);
1765 EngineTestCase.assertSizeOfList(0, field.metadata);
1766 JUnitTestCase.assertNull(field.staticKeyword);
1767 VariableDeclarationList list = field.fields;
1768 JUnitTestCase.assertNotNull(list);
1769 NodeList<VariableDeclaration> variables = list.variables;
1770 EngineTestCase.assertSizeOfList(1, variables);
1771 VariableDeclaration variable = variables[0];
1772 JUnitTestCase.assertNotNull(variable.name);
1773 }
1774
1775 void test_parseClassMember_getter_void() {
1776 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "void get g {}");
1777 JUnitTestCase.assertNull(method.documentationComment);
1778 JUnitTestCase.assertNull(method.externalKeyword);
1779 JUnitTestCase.assertNull(method.modifierKeyword);
1780 JUnitTestCase.assertNotNull(method.propertyKeyword);
1781 JUnitTestCase.assertNotNull(method.returnType);
1782 JUnitTestCase.assertNotNull(method.name);
1783 JUnitTestCase.assertNull(method.operatorKeyword);
1784 JUnitTestCase.assertNotNull(method.body);
1785 }
1786
1787 void test_parseClassMember_method_external() {
1788 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "external m();");
1789 JUnitTestCase.assertNotNull(method.body);
1790 JUnitTestCase.assertNull(method.documentationComment);
1791 JUnitTestCase.assertNotNull(method.externalKeyword);
1792 JUnitTestCase.assertNull(method.modifierKeyword);
1793 JUnitTestCase.assertNotNull(method.name);
1794 JUnitTestCase.assertNull(method.operatorKeyword);
1795 JUnitTestCase.assertNotNull(method.parameters);
1796 JUnitTestCase.assertNull(method.propertyKeyword);
1797 JUnitTestCase.assertNull(method.returnType);
1798 }
1799
1800 void test_parseClassMember_method_external_withTypeAndArgs() {
1801 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "external int m(int a);");
1802 JUnitTestCase.assertNotNull(method.body);
1803 JUnitTestCase.assertNull(method.documentationComment);
1804 JUnitTestCase.assertNotNull(method.externalKeyword);
1805 JUnitTestCase.assertNull(method.modifierKeyword);
1806 JUnitTestCase.assertNotNull(method.name);
1807 JUnitTestCase.assertNull(method.operatorKeyword);
1808 JUnitTestCase.assertNotNull(method.parameters);
1809 JUnitTestCase.assertNull(method.propertyKeyword);
1810 JUnitTestCase.assertNotNull(method.returnType);
1811 }
1812
1813 void test_parseClassMember_method_get_noType() {
1814 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "get() {}");
1815 JUnitTestCase.assertNull(method.documentationComment);
1816 JUnitTestCase.assertNull(method.externalKeyword);
1817 JUnitTestCase.assertNull(method.modifierKeyword);
1818 JUnitTestCase.assertNull(method.propertyKeyword);
1819 JUnitTestCase.assertNull(method.returnType);
1820 JUnitTestCase.assertNotNull(method.name);
1821 JUnitTestCase.assertNull(method.operatorKeyword);
1822 JUnitTestCase.assertNotNull(method.parameters);
1823 JUnitTestCase.assertNotNull(method.body);
1824 }
1825
1826 void test_parseClassMember_method_get_type() {
1827 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "int get() {}");
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.assertNull(method.operatorKeyword);
1835 JUnitTestCase.assertNotNull(method.parameters);
1836 JUnitTestCase.assertNotNull(method.body);
1837 }
1838
1839 void test_parseClassMember_method_get_void() {
1840 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "void get() {}");
1841 JUnitTestCase.assertNull(method.documentationComment);
1842 JUnitTestCase.assertNull(method.externalKeyword);
1843 JUnitTestCase.assertNull(method.modifierKeyword);
1844 JUnitTestCase.assertNull(method.propertyKeyword);
1845 JUnitTestCase.assertNotNull(method.returnType);
1846 JUnitTestCase.assertNotNull(method.name);
1847 JUnitTestCase.assertNull(method.operatorKeyword);
1848 JUnitTestCase.assertNotNull(method.parameters);
1849 JUnitTestCase.assertNotNull(method.body);
1850 }
1851
1852 void test_parseClassMember_method_operator_noType() {
1853 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "operator() {}");
1854 JUnitTestCase.assertNull(method.documentationComment);
1855 JUnitTestCase.assertNull(method.externalKeyword);
1856 JUnitTestCase.assertNull(method.modifierKeyword);
1857 JUnitTestCase.assertNull(method.propertyKeyword);
1858 JUnitTestCase.assertNull(method.returnType);
1859 JUnitTestCase.assertNotNull(method.name);
1860 JUnitTestCase.assertNull(method.operatorKeyword);
1861 JUnitTestCase.assertNotNull(method.parameters);
1862 JUnitTestCase.assertNotNull(method.body);
1863 }
1864
1865 void test_parseClassMember_method_operator_type() {
1866 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "int operator() {}");
1867 JUnitTestCase.assertNull(method.documentationComment);
1868 JUnitTestCase.assertNull(method.externalKeyword);
1869 JUnitTestCase.assertNull(method.modifierKeyword);
1870 JUnitTestCase.assertNull(method.propertyKeyword);
1871 JUnitTestCase.assertNotNull(method.returnType);
1872 JUnitTestCase.assertNotNull(method.name);
1873 JUnitTestCase.assertNull(method.operatorKeyword);
1874 JUnitTestCase.assertNotNull(method.parameters);
1875 JUnitTestCase.assertNotNull(method.body);
1876 }
1877
1878 void test_parseClassMember_method_operator_void() {
1879 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "void operator() {}");
1880 JUnitTestCase.assertNull(method.documentationComment);
1881 JUnitTestCase.assertNull(method.externalKeyword);
1882 JUnitTestCase.assertNull(method.modifierKeyword);
1883 JUnitTestCase.assertNull(method.propertyKeyword);
1884 JUnitTestCase.assertNotNull(method.returnType);
1885 JUnitTestCase.assertNotNull(method.name);
1886 JUnitTestCase.assertNull(method.operatorKeyword);
1887 JUnitTestCase.assertNotNull(method.parameters);
1888 JUnitTestCase.assertNotNull(method.body);
1889 }
1890
1891 void test_parseClassMember_method_returnType_parameterized() {
1892 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "p.A m() {}");
1893 JUnitTestCase.assertNull(method.documentationComment);
1894 JUnitTestCase.assertNull(method.externalKeyword);
1895 JUnitTestCase.assertNull(method.modifierKeyword);
1896 JUnitTestCase.assertNull(method.propertyKeyword);
1897 JUnitTestCase.assertNotNull(method.returnType);
1898 JUnitTestCase.assertNotNull(method.name);
1899 JUnitTestCase.assertNull(method.operatorKeyword);
1900 JUnitTestCase.assertNotNull(method.parameters);
1901 JUnitTestCase.assertNotNull(method.body);
1902 }
1903
1904 void test_parseClassMember_method_set_noType() {
1905 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "set() {}");
1906 JUnitTestCase.assertNull(method.documentationComment);
1907 JUnitTestCase.assertNull(method.externalKeyword);
1908 JUnitTestCase.assertNull(method.modifierKeyword);
1909 JUnitTestCase.assertNull(method.propertyKeyword);
1910 JUnitTestCase.assertNull(method.returnType);
1911 JUnitTestCase.assertNotNull(method.name);
1912 JUnitTestCase.assertNull(method.operatorKeyword);
1913 JUnitTestCase.assertNotNull(method.parameters);
1914 JUnitTestCase.assertNotNull(method.body);
1915 }
1916
1917 void test_parseClassMember_method_set_type() {
1918 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "int set() {}");
1919 JUnitTestCase.assertNull(method.documentationComment);
1920 JUnitTestCase.assertNull(method.externalKeyword);
1921 JUnitTestCase.assertNull(method.modifierKeyword);
1922 JUnitTestCase.assertNull(method.propertyKeyword);
1923 JUnitTestCase.assertNotNull(method.returnType);
1924 JUnitTestCase.assertNotNull(method.name);
1925 JUnitTestCase.assertNull(method.operatorKeyword);
1926 JUnitTestCase.assertNotNull(method.parameters);
1927 JUnitTestCase.assertNotNull(method.body);
1928 }
1929
1930 void test_parseClassMember_method_set_void() {
1931 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "void set() {}");
1932 JUnitTestCase.assertNull(method.documentationComment);
1933 JUnitTestCase.assertNull(method.externalKeyword);
1934 JUnitTestCase.assertNull(method.modifierKeyword);
1935 JUnitTestCase.assertNull(method.propertyKeyword);
1936 JUnitTestCase.assertNotNull(method.returnType);
1937 JUnitTestCase.assertNotNull(method.name);
1938 JUnitTestCase.assertNull(method.operatorKeyword);
1939 JUnitTestCase.assertNotNull(method.parameters);
1940 JUnitTestCase.assertNotNull(method.body);
1941 }
1942
1943 void test_parseClassMember_operator_index() {
1944 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "int operator [](int i) {}");
1945 JUnitTestCase.assertNull(method.documentationComment);
1946 JUnitTestCase.assertNull(method.externalKeyword);
1947 JUnitTestCase.assertNull(method.modifierKeyword);
1948 JUnitTestCase.assertNull(method.propertyKeyword);
1949 JUnitTestCase.assertNotNull(method.returnType);
1950 JUnitTestCase.assertNotNull(method.name);
1951 JUnitTestCase.assertNotNull(method.operatorKeyword);
1952 JUnitTestCase.assertNotNull(method.parameters);
1953 JUnitTestCase.assertNotNull(method.body);
1954 }
1955
1956 void test_parseClassMember_operator_indexAssign() {
1957 MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], "int operator []=(int i) {}");
1958 JUnitTestCase.assertNull(method.documentationComment);
1959 JUnitTestCase.assertNull(method.externalKeyword);
1960 JUnitTestCase.assertNull(method.modifierKeyword);
1961 JUnitTestCase.assertNull(method.propertyKeyword);
1962 JUnitTestCase.assertNotNull(method.returnType);
1963 JUnitTestCase.assertNotNull(method.name);
1964 JUnitTestCase.assertNotNull(method.operatorKeyword);
1965 JUnitTestCase.assertNotNull(method.parameters);
1966 JUnitTestCase.assertNotNull(method.body);
1967 }
1968
1969 void test_parseClassMember_redirectingFactory_const() {
1970 ConstructorDeclaration constructor = ParserTestCase.parse("parseClassMember" , <Object> ["C"], "const factory C() = B;");
1971 JUnitTestCase.assertNull(constructor.externalKeyword);
1972 JUnitTestCase.assertNotNull(constructor.constKeyword);
1973 JUnitTestCase.assertNotNull(constructor.factoryKeyword);
1974 JUnitTestCase.assertNotNull(constructor.returnType);
1975 JUnitTestCase.assertNull(constructor.period);
1976 JUnitTestCase.assertNull(constructor.name);
1977 JUnitTestCase.assertNotNull(constructor.parameters);
1978 JUnitTestCase.assertNotNull(constructor.separator);
1979 EngineTestCase.assertSizeOfList(0, constructor.initializers);
1980 JUnitTestCase.assertNotNull(constructor.redirectedConstructor);
1981 JUnitTestCase.assertNotNull(constructor.body);
1982 }
1983
1984 void test_parseClassMember_redirectingFactory_nonConst() {
1985 ConstructorDeclaration constructor = ParserTestCase.parse("parseClassMember" , <Object> ["C"], "factory C() = B;");
1986 JUnitTestCase.assertNull(constructor.externalKeyword);
1987 JUnitTestCase.assertNull(constructor.constKeyword);
1988 JUnitTestCase.assertNotNull(constructor.factoryKeyword);
1989 JUnitTestCase.assertNotNull(constructor.returnType);
1990 JUnitTestCase.assertNull(constructor.period);
1991 JUnitTestCase.assertNull(constructor.name);
1992 JUnitTestCase.assertNotNull(constructor.parameters);
1993 JUnitTestCase.assertNotNull(constructor.separator);
1994 EngineTestCase.assertSizeOfList(0, constructor.initializers);
1995 JUnitTestCase.assertNotNull(constructor.redirectedConstructor);
1996 JUnitTestCase.assertNotNull(constructor.body);
1997 }
1998
1999 void test_parseClassTypeAlias_abstract() {
2000 Token classToken = TokenFactory.tokenFromKeyword(Keyword.CLASS);
2001 Token abstractToken = TokenFactory.tokenFromKeyword(Keyword.ABSTRACT);
2002 ClassTypeAlias classTypeAlias = ParserTestCase.parse("parseClassTypeAlias", <Object> [emptyCommentAndMetadata(), abstractToken, classToken], "A = B with C;" );
2003 JUnitTestCase.assertNotNull(classTypeAlias.keyword);
2004 JUnitTestCase.assertEquals("A", classTypeAlias.name.name);
2005 JUnitTestCase.assertNotNull(classTypeAlias.equals);
2006 JUnitTestCase.assertNotNull(classTypeAlias.abstractKeyword);
2007 JUnitTestCase.assertNotNullMsg("B", classTypeAlias.superclass.name.name);
2008 JUnitTestCase.assertNotNull(classTypeAlias.withClause);
2009 JUnitTestCase.assertNull(classTypeAlias.implementsClause);
2010 JUnitTestCase.assertNotNull(classTypeAlias.semicolon);
2011 }
2012
2013 void test_parseClassTypeAlias_implements() {
2014 Token token = TokenFactory.tokenFromKeyword(Keyword.CLASS);
2015 ClassTypeAlias classTypeAlias = ParserTestCase.parse("parseClassTypeAlias", <Object> [emptyCommentAndMetadata(), null, token], "A = B with C implements D;") ;
2016 JUnitTestCase.assertNotNull(classTypeAlias.keyword);
2017 JUnitTestCase.assertEquals("A", classTypeAlias.name.name);
2018 JUnitTestCase.assertNotNull(classTypeAlias.equals);
2019 JUnitTestCase.assertNull(classTypeAlias.abstractKeyword);
2020 JUnitTestCase.assertNotNullMsg("B", classTypeAlias.superclass.name.name);
2021 JUnitTestCase.assertNotNull(classTypeAlias.withClause);
2022 JUnitTestCase.assertNotNull(classTypeAlias.implementsClause);
2023 JUnitTestCase.assertNotNull(classTypeAlias.semicolon);
2024 }
2025
2026 void test_parseClassTypeAlias_with() {
2027 Token token = TokenFactory.tokenFromKeyword(Keyword.CLASS);
2028 ClassTypeAlias classTypeAlias = ParserTestCase.parse("parseClassTypeAlias", <Object> [emptyCommentAndMetadata(), null, token], "A = B with C;");
2029 JUnitTestCase.assertNotNull(classTypeAlias.keyword);
2030 JUnitTestCase.assertEquals("A", classTypeAlias.name.name);
2031 JUnitTestCase.assertNotNull(classTypeAlias.equals);
2032 JUnitTestCase.assertNull(classTypeAlias.abstractKeyword);
2033 JUnitTestCase.assertNotNullMsg("B", classTypeAlias.superclass.name.name);
2034 JUnitTestCase.assertNotNull(classTypeAlias.withClause);
2035 JUnitTestCase.assertNull(classTypeAlias.implementsClause);
2036 JUnitTestCase.assertNotNull(classTypeAlias.semicolon);
2037 }
2038
2039 void test_parseClassTypeAlias_with_implements() {
2040 Token token = TokenFactory.tokenFromKeyword(Keyword.CLASS);
2041 ClassTypeAlias classTypeAlias = ParserTestCase.parse("parseClassTypeAlias", <Object> [emptyCommentAndMetadata(), null, token], "A = B with C implements D;") ;
2042 JUnitTestCase.assertNotNull(classTypeAlias.keyword);
2043 JUnitTestCase.assertEquals("A", classTypeAlias.name.name);
2044 JUnitTestCase.assertNotNull(classTypeAlias.equals);
2045 JUnitTestCase.assertNull(classTypeAlias.abstractKeyword);
2046 JUnitTestCase.assertNotNullMsg("B", classTypeAlias.superclass.name.name);
2047 JUnitTestCase.assertNotNull(classTypeAlias.withClause);
2048 JUnitTestCase.assertNotNull(classTypeAlias.implementsClause);
2049 JUnitTestCase.assertNotNull(classTypeAlias.semicolon);
2050 }
2051
2052 void test_parseCombinators_h() {
2053 List<Combinator> combinators = ParserTestCase.parse4("parseCombinators", "hi de a;", []);
2054 EngineTestCase.assertSizeOfList(1, combinators);
2055 HideCombinator combinator = combinators[0] as HideCombinator;
2056 JUnitTestCase.assertNotNull(combinator);
2057 JUnitTestCase.assertNotNull(combinator.keyword);
2058 EngineTestCase.assertSizeOfList(1, combinator.hiddenNames);
2059 }
2060
2061 void test_parseCombinators_hs() {
2062 List<Combinator> combinators = ParserTestCase.parse4("parseCombinators", "hi de a show b;", []);
2063 EngineTestCase.assertSizeOfList(2, combinators);
2064 HideCombinator hideCombinator = combinators[0] as HideCombinator;
2065 JUnitTestCase.assertNotNull(hideCombinator);
2066 JUnitTestCase.assertNotNull(hideCombinator.keyword);
2067 EngineTestCase.assertSizeOfList(1, hideCombinator.hiddenNames);
2068 ShowCombinator showCombinator = combinators[1] as ShowCombinator;
2069 JUnitTestCase.assertNotNull(showCombinator);
2070 JUnitTestCase.assertNotNull(showCombinator.keyword);
2071 EngineTestCase.assertSizeOfList(1, showCombinator.shownNames);
2072 }
2073
2074 void test_parseCombinators_hshs() {
2075 List<Combinator> combinators = ParserTestCase.parse4("parseCombinators", "hi de a show b hide c show d;", []);
2076 EngineTestCase.assertSizeOfList(4, combinators);
2077 }
2078
2079 void test_parseCombinators_s() {
2080 List<Combinator> combinators = ParserTestCase.parse4("parseCombinators", "sh ow a;", []);
2081 EngineTestCase.assertSizeOfList(1, combinators);
2082 ShowCombinator combinator = combinators[0] as ShowCombinator;
2083 JUnitTestCase.assertNotNull(combinator);
2084 JUnitTestCase.assertNotNull(combinator.keyword);
2085 EngineTestCase.assertSizeOfList(1, combinator.shownNames);
2086 }
2087
2088 void test_parseCommentAndMetadata_c() {
2089 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "/** 1 */ void", []);
2090 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
2091 EngineTestCase.assertSizeOfList(0, commentAndMetadata.metadata);
2092 }
2093
2094 void test_parseCommentAndMetadata_cmc() {
2095 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "/** 1 */ @A /** 2 */ void", []);
2096 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
2097 EngineTestCase.assertSizeOfList(1, commentAndMetadata.metadata);
2098 }
2099
2100 void test_parseCommentAndMetadata_cmcm() {
2101 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "/** 1 */ @A /** 2 */ @B void", []);
2102 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
2103 EngineTestCase.assertSizeOfList(2, commentAndMetadata.metadata);
2104 }
2105
2106 void test_parseCommentAndMetadata_cmm() {
2107 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "/** 1 */ @A @B void", []);
2108 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
2109 EngineTestCase.assertSizeOfList(2, commentAndMetadata.metadata);
2110 }
2111
2112 void test_parseCommentAndMetadata_m() {
2113 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "@A void", []);
2114 JUnitTestCase.assertNull(commentAndMetadata.comment);
2115 EngineTestCase.assertSizeOfList(1, commentAndMetadata.metadata);
2116 }
2117
2118 void test_parseCommentAndMetadata_mcm() {
2119 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "@A /** 1 */ @B void", []);
2120 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
2121 EngineTestCase.assertSizeOfList(2, commentAndMetadata.metadata);
2122 }
2123
2124 void test_parseCommentAndMetadata_mcmc() {
2125 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "@A /** 1 */ @B /** 2 */ void", []);
2126 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
2127 EngineTestCase.assertSizeOfList(2, commentAndMetadata.metadata);
2128 }
2129
2130 void test_parseCommentAndMetadata_mm() {
2131 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "@A @B(x) void", []);
2132 JUnitTestCase.assertNull(commentAndMetadata.comment);
2133 EngineTestCase.assertSizeOfList(2, commentAndMetadata.metadata);
2134 }
2135
2136 void test_parseCommentAndMetadata_none() {
2137 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", "void", []);
2138 JUnitTestCase.assertNull(commentAndMetadata.comment);
2139 EngineTestCase.assertSizeOfList(0, commentAndMetadata.metadata);
2140 }
2141
2142 void test_parseCommentAndMetadata_singleLine() {
2143 CommentAndMetadata commentAndMetadata = ParserTestCase.parse4("parseCommentA ndMetadata", EngineTestCase.createSource(["/// 1", "/// 2", "void"]), []);
2144 JUnitTestCase.assertNotNull(commentAndMetadata.comment);
2145 EngineTestCase.assertSizeOfList(0, commentAndMetadata.metadata);
2146 }
2147
2148 void test_parseCommentReference_new_prefixed() {
2149 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["new a.b", 7], "");
2150 PrefixedIdentifier prefixedIdentifier = EngineTestCase.assertInstanceOf((obj ) => obj is PrefixedIdentifier, PrefixedIdentifier, reference.identifier);
2151 SimpleIdentifier prefix = prefixedIdentifier.prefix;
2152 JUnitTestCase.assertNotNull(prefix.token);
2153 JUnitTestCase.assertEquals("a", prefix.name);
2154 JUnitTestCase.assertEquals(11, prefix.offset);
2155 JUnitTestCase.assertNotNull(prefixedIdentifier.period);
2156 SimpleIdentifier identifier = prefixedIdentifier.identifier;
2157 JUnitTestCase.assertNotNull(identifier.token);
2158 JUnitTestCase.assertEquals("b", identifier.name);
2159 JUnitTestCase.assertEquals(13, identifier.offset);
2160 }
2161
2162 void test_parseCommentReference_new_simple() {
2163 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["new a", 5], "");
2164 SimpleIdentifier identifier = EngineTestCase.assertInstanceOf((obj) => obj i s SimpleIdentifier, SimpleIdentifier, reference.identifier);
2165 JUnitTestCase.assertNotNull(identifier.token);
2166 JUnitTestCase.assertEquals("a", identifier.name);
2167 JUnitTestCase.assertEquals(9, identifier.offset);
2168 }
2169
2170 void test_parseCommentReference_prefixed() {
2171 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["a.b", 7], "");
2172 PrefixedIdentifier prefixedIdentifier = EngineTestCase.assertInstanceOf((obj ) => obj is PrefixedIdentifier, PrefixedIdentifier, reference.identifier);
2173 SimpleIdentifier prefix = prefixedIdentifier.prefix;
2174 JUnitTestCase.assertNotNull(prefix.token);
2175 JUnitTestCase.assertEquals("a", prefix.name);
2176 JUnitTestCase.assertEquals(7, prefix.offset);
2177 JUnitTestCase.assertNotNull(prefixedIdentifier.period);
2178 SimpleIdentifier identifier = prefixedIdentifier.identifier;
2179 JUnitTestCase.assertNotNull(identifier.token);
2180 JUnitTestCase.assertEquals("b", identifier.name);
2181 JUnitTestCase.assertEquals(9, identifier.offset);
2182 }
2183
2184 void test_parseCommentReference_simple() {
2185 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["a", 5], "");
2186 SimpleIdentifier identifier = EngineTestCase.assertInstanceOf((obj) => obj i s SimpleIdentifier, SimpleIdentifier, reference.identifier);
2187 JUnitTestCase.assertNotNull(identifier.token);
2188 JUnitTestCase.assertEquals("a", identifier.name);
2189 JUnitTestCase.assertEquals(5, identifier.offset);
2190 }
2191
2192 void test_parseCommentReference_synthetic() {
2193 CommentReference reference = ParserTestCase.parse("parseCommentReference", < Object> ["", 5], "");
2194 SimpleIdentifier identifier = EngineTestCase.assertInstanceOf((obj) => obj i s SimpleIdentifier, SimpleIdentifier, reference.identifier);
2195 JUnitTestCase.assertNotNull(identifier);
2196 JUnitTestCase.assertTrue(identifier.isSynthetic);
2197 JUnitTestCase.assertNotNull(identifier.token);
2198 JUnitTestCase.assertEquals("", identifier.name);
2199 JUnitTestCase.assertEquals(5, identifier.offset);
2200 }
2201
2202 void test_parseCommentReferences_multiLine() {
2203 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/** xxx [a] yyy [b] zzz */", 3)];
2204 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
2205 EngineTestCase.assertSizeOfList(2, references);
2206 CommentReference reference = references[0];
2207 JUnitTestCase.assertNotNull(reference);
2208 JUnitTestCase.assertNotNull(reference.identifier);
2209 JUnitTestCase.assertEquals(12, reference.offset);
2210 reference = references[1];
2211 JUnitTestCase.assertNotNull(reference);
2212 JUnitTestCase.assertNotNull(reference.identifier);
2213 JUnitTestCase.assertEquals(20, reference.offset);
2214 }
2215
2216 void test_parseCommentReferences_notClosed_noIdentifier() {
2217 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/** [ some text", 5)];
2218 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
2219 EngineTestCase.assertSizeOfList(1, references);
2220 CommentReference reference = references[0];
2221 JUnitTestCase.assertNotNull(reference);
2222 JUnitTestCase.assertNotNull(reference.identifier);
2223 JUnitTestCase.assertTrue(reference.identifier.isSynthetic);
2224 JUnitTestCase.assertEquals("", reference.identifier.name);
2225 }
2226
2227 void test_parseCommentReferences_notClosed_withIdentifier() {
2228 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/** [namePrefix some text", 5)];
2229 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
2230 EngineTestCase.assertSizeOfList(1, references);
2231 CommentReference reference = references[0];
2232 JUnitTestCase.assertNotNull(reference);
2233 JUnitTestCase.assertNotNull(reference.identifier);
2234 JUnitTestCase.assertFalse(reference.identifier.isSynthetic);
2235 JUnitTestCase.assertEquals("namePrefix", reference.identifier.name);
2236 }
2237
2238 void test_parseCommentReferences_singleLine() {
2239 List<Token> tokens = <Token> [
2240 new StringToken(TokenType.SINGLE_LINE_COMMENT, "/// xxx [a] yyy [b] zzz" , 3),
2241 new StringToken(TokenType.SINGLE_LINE_COMMENT, "/// x [c]", 28)];
2242 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
2243 EngineTestCase.assertSizeOfList(3, references);
2244 CommentReference reference = references[0];
2245 JUnitTestCase.assertNotNull(reference);
2246 JUnitTestCase.assertNotNull(reference.identifier);
2247 JUnitTestCase.assertEquals(12, reference.offset);
2248 reference = references[1];
2249 JUnitTestCase.assertNotNull(reference);
2250 JUnitTestCase.assertNotNull(reference.identifier);
2251 JUnitTestCase.assertEquals(20, reference.offset);
2252 reference = references[2];
2253 JUnitTestCase.assertNotNull(reference);
2254 JUnitTestCase.assertNotNull(reference.identifier);
2255 JUnitTestCase.assertEquals(35, reference.offset);
2256 }
2257
2258 void test_parseCommentReferences_skipCodeBlock_bracketed() {
2259 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/** [:xxx [a] yyy:] [b] zzz */", 3)];
2260 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
2261 EngineTestCase.assertSizeOfList(1, references);
2262 CommentReference reference = references[0];
2263 JUnitTestCase.assertNotNull(reference);
2264 JUnitTestCase.assertNotNull(reference.identifier);
2265 JUnitTestCase.assertEquals(24, reference.offset);
2266 }
2267
2268 void test_parseCommentReferences_skipCodeBlock_spaces() {
2269 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/**\n * a[i]\n * xxx [i] zzz\n */", 3)];
2270 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
2271 EngineTestCase.assertSizeOfList(1, references);
2272 CommentReference reference = references[0];
2273 JUnitTestCase.assertNotNull(reference);
2274 JUnitTestCase.assertNotNull(reference.identifier);
2275 JUnitTestCase.assertEquals(27, reference.offset);
2276 }
2277
2278 void test_parseCommentReferences_skipLinkDefinition() {
2279 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/** [a]: http://www.google.com (Google) [b] zzz */", 3)];
2280 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
2281 EngineTestCase.assertSizeOfList(1, references);
2282 CommentReference reference = references[0];
2283 JUnitTestCase.assertNotNull(reference);
2284 JUnitTestCase.assertNotNull(reference.identifier);
2285 JUnitTestCase.assertEquals(44, reference.offset);
2286 }
2287
2288 void test_parseCommentReferences_skipLinked() {
2289 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/** [a](http://www.google.com) [b] zzz */", 3)];
2290 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
2291 EngineTestCase.assertSizeOfList(1, references);
2292 CommentReference reference = references[0];
2293 JUnitTestCase.assertNotNull(reference);
2294 JUnitTestCase.assertNotNull(reference.identifier);
2295 JUnitTestCase.assertEquals(35, reference.offset);
2296 }
2297
2298 void test_parseCommentReferences_skipReferenceLink() {
2299 List<Token> tokens = <Token> [new StringToken(TokenType.MULTI_LINE_COMMENT, "/** [a][c] [b] zzz */", 3)];
2300 List<CommentReference> references = ParserTestCase.parse("parseCommentRefere nces", <Object> [tokens], "");
2301 EngineTestCase.assertSizeOfList(1, references);
2302 CommentReference reference = references[0];
2303 JUnitTestCase.assertNotNull(reference);
2304 JUnitTestCase.assertNotNull(reference.identifier);
2305 JUnitTestCase.assertEquals(15, reference.offset);
2306 }
2307
2308 void test_parseCompilationUnit_abstractAsPrefix_parameterized() {
2309 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "abstra ct<dynamic> _abstract = new abstract.A();", []);
2310 JUnitTestCase.assertNull(unit.scriptTag);
2311 EngineTestCase.assertSizeOfList(0, unit.directives);
2312 EngineTestCase.assertSizeOfList(1, unit.declarations);
2313 }
2314
2315 void test_parseCompilationUnit_builtIn_asFunctionName() {
2316 ParserTestCase.parse4("parseCompilationUnit", "abstract(x) => 0;", []);
2317 ParserTestCase.parse4("parseCompilationUnit", "as(x) => 0;", []);
2318 ParserTestCase.parse4("parseCompilationUnit", "dynamic(x) => 0;", []);
2319 ParserTestCase.parse4("parseCompilationUnit", "export(x) => 0;", []);
2320 ParserTestCase.parse4("parseCompilationUnit", "external(x) => 0;", []);
2321 ParserTestCase.parse4("parseCompilationUnit", "factory(x) => 0;", []);
2322 ParserTestCase.parse4("parseCompilationUnit", "get(x) => 0;", []);
2323 ParserTestCase.parse4("parseCompilationUnit", "implements(x) => 0;", []);
2324 ParserTestCase.parse4("parseCompilationUnit", "import(x) => 0;", []);
2325 ParserTestCase.parse4("parseCompilationUnit", "library(x) => 0;", []);
2326 ParserTestCase.parse4("parseCompilationUnit", "operator(x) => 0;", []);
2327 ParserTestCase.parse4("parseCompilationUnit", "part(x) => 0;", []);
2328 ParserTestCase.parse4("parseCompilationUnit", "set(x) => 0;", []);
2329 ParserTestCase.parse4("parseCompilationUnit", "static(x) => 0;", []);
2330 ParserTestCase.parse4("parseCompilationUnit", "typedef(x) => 0;", []);
2331 }
2332
2333 void test_parseCompilationUnit_directives_multiple() {
2334 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "librar y l;\npart 'a.dart';", []);
2335 JUnitTestCase.assertNull(unit.scriptTag);
2336 EngineTestCase.assertSizeOfList(2, unit.directives);
2337 EngineTestCase.assertSizeOfList(0, unit.declarations);
2338 }
2339
2340 void test_parseCompilationUnit_directives_single() {
2341 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "librar y l;", []);
2342 JUnitTestCase.assertNull(unit.scriptTag);
2343 EngineTestCase.assertSizeOfList(1, unit.directives);
2344 EngineTestCase.assertSizeOfList(0, unit.declarations);
2345 }
2346
2347 void test_parseCompilationUnit_empty() {
2348 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "", []) ;
2349 JUnitTestCase.assertNull(unit.scriptTag);
2350 EngineTestCase.assertSizeOfList(0, unit.directives);
2351 EngineTestCase.assertSizeOfList(0, unit.declarations);
2352 }
2353
2354 void test_parseCompilationUnit_exportAsPrefix() {
2355 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "export .A _export = new export.A();", []);
2356 JUnitTestCase.assertNull(unit.scriptTag);
2357 EngineTestCase.assertSizeOfList(0, unit.directives);
2358 EngineTestCase.assertSizeOfList(1, unit.declarations);
2359 }
2360
2361 void test_parseCompilationUnit_exportAsPrefix_parameterized() {
2362 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "export <dynamic> _export = new export.A();", []);
2363 JUnitTestCase.assertNull(unit.scriptTag);
2364 EngineTestCase.assertSizeOfList(0, unit.directives);
2365 EngineTestCase.assertSizeOfList(1, unit.declarations);
2366 }
2367
2368 void test_parseCompilationUnit_operatorAsPrefix_parameterized() {
2369 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "operat or<dynamic> _operator = new operator.A();", []);
2370 JUnitTestCase.assertNull(unit.scriptTag);
2371 EngineTestCase.assertSizeOfList(0, unit.directives);
2372 EngineTestCase.assertSizeOfList(1, unit.declarations);
2373 }
2374
2375 void test_parseCompilationUnit_script() {
2376 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "#! /bi n/dart", []);
2377 JUnitTestCase.assertNotNull(unit.scriptTag);
2378 EngineTestCase.assertSizeOfList(0, unit.directives);
2379 EngineTestCase.assertSizeOfList(0, unit.declarations);
2380 }
2381
2382 void test_parseCompilationUnit_skipFunctionBody_withInterpolation() {
2383 ParserTestCase.parseFunctionBodies = false;
2384 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "f() { '\${n}'; }", []);
2385 JUnitTestCase.assertNull(unit.scriptTag);
2386 EngineTestCase.assertSizeOfList(1, unit.declarations);
2387 }
2388
2389 void test_parseCompilationUnit_topLevelDeclaration() {
2390 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "class A {}", []);
2391 JUnitTestCase.assertNull(unit.scriptTag);
2392 EngineTestCase.assertSizeOfList(0, unit.directives);
2393 EngineTestCase.assertSizeOfList(1, unit.declarations);
2394 }
2395
2396 void test_parseCompilationUnit_typedefAsPrefix() {
2397 CompilationUnit unit = ParserTestCase.parse4("parseCompilationUnit", "typede f.A _typedef = new typedef.A();", []);
2398 JUnitTestCase.assertNull(unit.scriptTag);
2399 EngineTestCase.assertSizeOfList(0, unit.directives);
2400 EngineTestCase.assertSizeOfList(1, unit.declarations);
2401 }
2402
2403 void test_parseCompilationUnitMember_abstractAsPrefix() {
2404 TopLevelVariableDeclaration declaration = ParserTestCase.parse("parseCompila tionUnitMember", <Object> [emptyCommentAndMetadata()], "abstract.A _abstract = n ew abstract.A();");
2405 JUnitTestCase.assertNotNull(declaration.semicolon);
2406 JUnitTestCase.assertNotNull(declaration.variables);
2407 }
2408
2409 void test_parseCompilationUnitMember_class() {
2410 ClassDeclaration declaration = ParserTestCase.parse("parseCompilationUnitMem ber", <Object> [emptyCommentAndMetadata()], "class A {}");
2411 JUnitTestCase.assertEquals("A", declaration.name.name);
2412 EngineTestCase.assertSizeOfList(0, declaration.members);
2413 }
2414
2415 void test_parseCompilationUnitMember_classTypeAlias() {
2416 ClassTypeAlias alias = ParserTestCase.parse("parseCompilationUnitMember", <O bject> [emptyCommentAndMetadata()], "abstract class A = B with C;");
2417 JUnitTestCase.assertEquals("A", alias.name.name);
2418 JUnitTestCase.assertNotNull(alias.abstractKeyword);
2419 }
2420
2421 void test_parseCompilationUnitMember_constVariable() {
2422 TopLevelVariableDeclaration declaration = ParserTestCase.parse("parseCompila tionUnitMember", <Object> [emptyCommentAndMetadata()], "const int x = 0;");
2423 JUnitTestCase.assertNotNull(declaration.semicolon);
2424 JUnitTestCase.assertNotNull(declaration.variables);
2425 }
2426
2427 void test_parseCompilationUnitMember_finalVariable() {
2428 TopLevelVariableDeclaration declaration = ParserTestCase.parse("parseCompila tionUnitMember", <Object> [emptyCommentAndMetadata()], "final x = 0;");
2429 JUnitTestCase.assertNotNull(declaration.semicolon);
2430 JUnitTestCase.assertNotNull(declaration.variables);
2431 }
2432
2433 void test_parseCompilationUnitMember_function_external_noType() {
2434 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external f();");
2435 JUnitTestCase.assertNotNull(declaration.externalKeyword);
2436 JUnitTestCase.assertNotNull(declaration.functionExpression);
2437 JUnitTestCase.assertNull(declaration.propertyKeyword);
2438 }
2439
2440 void test_parseCompilationUnitMember_function_external_type() {
2441 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external int f();");
2442 JUnitTestCase.assertNotNull(declaration.externalKeyword);
2443 JUnitTestCase.assertNotNull(declaration.functionExpression);
2444 JUnitTestCase.assertNull(declaration.propertyKeyword);
2445 }
2446
2447 void test_parseCompilationUnitMember_function_noType() {
2448 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "f() {}");
2449 JUnitTestCase.assertNotNull(declaration.functionExpression);
2450 JUnitTestCase.assertNull(declaration.propertyKeyword);
2451 }
2452
2453 void test_parseCompilationUnitMember_function_type() {
2454 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "int f() {}");
2455 JUnitTestCase.assertNotNull(declaration.functionExpression);
2456 JUnitTestCase.assertNull(declaration.propertyKeyword);
2457 }
2458
2459 void test_parseCompilationUnitMember_function_void() {
2460 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "void f() {}");
2461 JUnitTestCase.assertNotNull(declaration.returnType);
2462 }
2463
2464 void test_parseCompilationUnitMember_getter_external_noType() {
2465 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external get p;");
2466 JUnitTestCase.assertNotNull(declaration.externalKeyword);
2467 JUnitTestCase.assertNotNull(declaration.functionExpression);
2468 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2469 }
2470
2471 void test_parseCompilationUnitMember_getter_external_type() {
2472 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external int get p;");
2473 JUnitTestCase.assertNotNull(declaration.externalKeyword);
2474 JUnitTestCase.assertNotNull(declaration.functionExpression);
2475 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2476 }
2477
2478 void test_parseCompilationUnitMember_getter_noType() {
2479 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "get p => 0;");
2480 JUnitTestCase.assertNotNull(declaration.functionExpression);
2481 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2482 }
2483
2484 void test_parseCompilationUnitMember_getter_type() {
2485 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "int get p => 0;");
2486 JUnitTestCase.assertNotNull(declaration.functionExpression);
2487 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2488 }
2489
2490 void test_parseCompilationUnitMember_setter_external_noType() {
2491 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external set p(v);");
2492 JUnitTestCase.assertNotNull(declaration.externalKeyword);
2493 JUnitTestCase.assertNotNull(declaration.functionExpression);
2494 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2495 }
2496
2497 void test_parseCompilationUnitMember_setter_external_type() {
2498 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "external void set p(int v);");
2499 JUnitTestCase.assertNotNull(declaration.externalKeyword);
2500 JUnitTestCase.assertNotNull(declaration.functionExpression);
2501 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2502 }
2503
2504 void test_parseCompilationUnitMember_setter_noType() {
2505 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "set p(v) {}");
2506 JUnitTestCase.assertNotNull(declaration.functionExpression);
2507 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2508 }
2509
2510 void test_parseCompilationUnitMember_setter_type() {
2511 FunctionDeclaration declaration = ParserTestCase.parse("parseCompilationUnit Member", <Object> [emptyCommentAndMetadata()], "void set p(int v) {}");
2512 JUnitTestCase.assertNotNull(declaration.functionExpression);
2513 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
2514 JUnitTestCase.assertNotNull(declaration.returnType);
2515 }
2516
2517 void test_parseCompilationUnitMember_typeAlias_abstract() {
2518 ClassTypeAlias typeAlias = ParserTestCase.parse("parseCompilationUnitMember" , <Object> [emptyCommentAndMetadata()], "abstract class C = S with M;");
2519 JUnitTestCase.assertNotNull(typeAlias.keyword);
2520 JUnitTestCase.assertEquals("C", typeAlias.name.name);
2521 JUnitTestCase.assertNull(typeAlias.typeParameters);
2522 JUnitTestCase.assertNotNull(typeAlias.equals);
2523 JUnitTestCase.assertNotNull(typeAlias.abstractKeyword);
2524 JUnitTestCase.assertEquals("S", typeAlias.superclass.name.name);
2525 JUnitTestCase.assertNotNull(typeAlias.withClause);
2526 JUnitTestCase.assertNull(typeAlias.implementsClause);
2527 JUnitTestCase.assertNotNull(typeAlias.semicolon);
2528 }
2529
2530 void test_parseCompilationUnitMember_typeAlias_generic() {
2531 ClassTypeAlias typeAlias = ParserTestCase.parse("parseCompilationUnitMember" , <Object> [emptyCommentAndMetadata()], "class C<E> = S<E> with M<E> implements I<E>;");
2532 JUnitTestCase.assertNotNull(typeAlias.keyword);
2533 JUnitTestCase.assertEquals("C", typeAlias.name.name);
2534 EngineTestCase.assertSizeOfList(1, typeAlias.typeParameters.typeParameters);
2535 JUnitTestCase.assertNotNull(typeAlias.equals);
2536 JUnitTestCase.assertNull(typeAlias.abstractKeyword);
2537 JUnitTestCase.assertEquals("S", typeAlias.superclass.name.name);
2538 JUnitTestCase.assertNotNull(typeAlias.withClause);
2539 JUnitTestCase.assertNotNull(typeAlias.implementsClause);
2540 JUnitTestCase.assertNotNull(typeAlias.semicolon);
2541 }
2542
2543 void test_parseCompilationUnitMember_typeAlias_implements() {
2544 ClassTypeAlias typeAlias = ParserTestCase.parse("parseCompilationUnitMember" , <Object> [emptyCommentAndMetadata()], "class C = S with M implements I;");
2545 JUnitTestCase.assertNotNull(typeAlias.keyword);
2546 JUnitTestCase.assertEquals("C", typeAlias.name.name);
2547 JUnitTestCase.assertNull(typeAlias.typeParameters);
2548 JUnitTestCase.assertNotNull(typeAlias.equals);
2549 JUnitTestCase.assertNull(typeAlias.abstractKeyword);
2550 JUnitTestCase.assertEquals("S", typeAlias.superclass.name.name);
2551 JUnitTestCase.assertNotNull(typeAlias.withClause);
2552 JUnitTestCase.assertNotNull(typeAlias.implementsClause);
2553 JUnitTestCase.assertNotNull(typeAlias.semicolon);
2554 }
2555
2556 void test_parseCompilationUnitMember_typeAlias_noImplements() {
2557 ClassTypeAlias typeAlias = ParserTestCase.parse("parseCompilationUnitMember" , <Object> [emptyCommentAndMetadata()], "class C = S with M;");
2558 JUnitTestCase.assertNotNull(typeAlias.keyword);
2559 JUnitTestCase.assertEquals("C", typeAlias.name.name);
2560 JUnitTestCase.assertNull(typeAlias.typeParameters);
2561 JUnitTestCase.assertNotNull(typeAlias.equals);
2562 JUnitTestCase.assertNull(typeAlias.abstractKeyword);
2563 JUnitTestCase.assertEquals("S", typeAlias.superclass.name.name);
2564 JUnitTestCase.assertNotNull(typeAlias.withClause);
2565 JUnitTestCase.assertNull(typeAlias.implementsClause);
2566 JUnitTestCase.assertNotNull(typeAlias.semicolon);
2567 }
2568
2569 void test_parseCompilationUnitMember_typedef() {
2570 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseCompilationUnitMemb er", <Object> [emptyCommentAndMetadata()], "typedef F();");
2571 JUnitTestCase.assertEquals("F", typeAlias.name.name);
2572 EngineTestCase.assertSizeOfList(0, typeAlias.parameters.parameters);
2573 }
2574
2575 void test_parseCompilationUnitMember_variable() {
2576 TopLevelVariableDeclaration declaration = ParserTestCase.parse("parseCompila tionUnitMember", <Object> [emptyCommentAndMetadata()], "var x = 0;");
2577 JUnitTestCase.assertNotNull(declaration.semicolon);
2578 JUnitTestCase.assertNotNull(declaration.variables);
2579 }
2580
2581 void test_parseCompilationUnitMember_variableGet() {
2582 TopLevelVariableDeclaration declaration = ParserTestCase.parse("parseCompila tionUnitMember", <Object> [emptyCommentAndMetadata()], "String get = null;");
2583 JUnitTestCase.assertNotNull(declaration.semicolon);
2584 JUnitTestCase.assertNotNull(declaration.variables);
2585 }
2586
2587 void test_parseCompilationUnitMember_variableSet() {
2588 TopLevelVariableDeclaration declaration = ParserTestCase.parse("parseCompila tionUnitMember", <Object> [emptyCommentAndMetadata()], "String set = null;");
2589 JUnitTestCase.assertNotNull(declaration.semicolon);
2590 JUnitTestCase.assertNotNull(declaration.variables);
2591 }
2592
2593 void test_parseConditionalExpression() {
2594 ConditionalExpression expression = ParserTestCase.parse4("parseConditionalEx pression", "x ? y : z", []);
2595 JUnitTestCase.assertNotNull(expression.condition);
2596 JUnitTestCase.assertNotNull(expression.question);
2597 JUnitTestCase.assertNotNull(expression.thenExpression);
2598 JUnitTestCase.assertNotNull(expression.colon);
2599 JUnitTestCase.assertNotNull(expression.elseExpression);
2600 }
2601
2602 void test_parseConstExpression_instanceCreation() {
2603 InstanceCreationExpression expression = ParserTestCase.parse4("parseConstExp ression", "const A()", []);
2604 JUnitTestCase.assertNotNull(expression.keyword);
2605 ConstructorName name = expression.constructorName;
2606 JUnitTestCase.assertNotNull(name);
2607 JUnitTestCase.assertNotNull(name.type);
2608 JUnitTestCase.assertNull(name.period);
2609 JUnitTestCase.assertNull(name.name);
2610 JUnitTestCase.assertNotNull(expression.argumentList);
2611 }
2612
2613 void test_parseConstExpression_listLiteral_typed() {
2614 ListLiteral literal = ParserTestCase.parse4("parseConstExpression", "const < A> []", []);
2615 JUnitTestCase.assertNotNull(literal.constKeyword);
2616 JUnitTestCase.assertNotNull(literal.typeArguments);
2617 JUnitTestCase.assertNotNull(literal.leftBracket);
2618 EngineTestCase.assertSizeOfList(0, literal.elements);
2619 JUnitTestCase.assertNotNull(literal.rightBracket);
2620 }
2621
2622 void test_parseConstExpression_listLiteral_untyped() {
2623 ListLiteral literal = ParserTestCase.parse4("parseConstExpression", "const [ ]", []);
2624 JUnitTestCase.assertNotNull(literal.constKeyword);
2625 JUnitTestCase.assertNull(literal.typeArguments);
2626 JUnitTestCase.assertNotNull(literal.leftBracket);
2627 EngineTestCase.assertSizeOfList(0, literal.elements);
2628 JUnitTestCase.assertNotNull(literal.rightBracket);
2629 }
2630
2631 void test_parseConstExpression_mapLiteral_typed() {
2632 MapLiteral literal = ParserTestCase.parse4("parseConstExpression", "const <A , B> {}", []);
2633 JUnitTestCase.assertNotNull(literal.leftBracket);
2634 EngineTestCase.assertSizeOfList(0, literal.entries);
2635 JUnitTestCase.assertNotNull(literal.rightBracket);
2636 JUnitTestCase.assertNotNull(literal.typeArguments);
2637 }
2638
2639 void test_parseConstExpression_mapLiteral_untyped() {
2640 MapLiteral literal = ParserTestCase.parse4("parseConstExpression", "const {} ", []);
2641 JUnitTestCase.assertNotNull(literal.leftBracket);
2642 EngineTestCase.assertSizeOfList(0, literal.entries);
2643 JUnitTestCase.assertNotNull(literal.rightBracket);
2644 JUnitTestCase.assertNull(literal.typeArguments);
2645 }
2646
2647 void test_parseConstructor() {
2648 }
2649
2650 void test_parseConstructor_with_pseudo_function_literal() {
2651 // "(b) {}" should not be misinterpreted as a function literal even though i t looks like one.
2652 ClassMember classMember = ParserTestCase.parse("parseClassMember", <Object> ["C"], "C() : a = (b) {}");
2653 EngineTestCase.assertInstanceOf((obj) => obj is ConstructorDeclaration, Cons tructorDeclaration, classMember);
2654 ConstructorDeclaration constructor = classMember as ConstructorDeclaration;
2655 NodeList<ConstructorInitializer> initializers = constructor.initializers;
2656 EngineTestCase.assertSizeOfList(1, initializers);
2657 ConstructorInitializer initializer = initializers[0];
2658 EngineTestCase.assertInstanceOf((obj) => obj is ConstructorFieldInitializer, ConstructorFieldInitializer, initializer);
2659 EngineTestCase.assertInstanceOf((obj) => obj is ParenthesizedExpression, Par enthesizedExpression, (initializer as ConstructorFieldInitializer).expression);
2660 EngineTestCase.assertInstanceOf((obj) => obj is BlockFunctionBody, BlockFunc tionBody, constructor.body);
2661 }
2662
2663 void test_parseConstructorFieldInitializer_qualified() {
2664 ConstructorFieldInitializer invocation = ParserTestCase.parse4("parseConstru ctorFieldInitializer", "this.a = b", []);
2665 JUnitTestCase.assertNotNull(invocation.equals);
2666 JUnitTestCase.assertNotNull(invocation.expression);
2667 JUnitTestCase.assertNotNull(invocation.fieldName);
2668 JUnitTestCase.assertNotNull(invocation.keyword);
2669 JUnitTestCase.assertNotNull(invocation.period);
2670 }
2671
2672 void test_parseConstructorFieldInitializer_unqualified() {
2673 ConstructorFieldInitializer invocation = ParserTestCase.parse4("parseConstru ctorFieldInitializer", "a = b", []);
2674 JUnitTestCase.assertNotNull(invocation.equals);
2675 JUnitTestCase.assertNotNull(invocation.expression);
2676 JUnitTestCase.assertNotNull(invocation.fieldName);
2677 JUnitTestCase.assertNull(invocation.keyword);
2678 JUnitTestCase.assertNull(invocation.period);
2679 }
2680
2681 void test_parseConstructorName_named_noPrefix() {
2682 ConstructorName name = ParserTestCase.parse4("parseConstructorName", "A.n;", []);
2683 JUnitTestCase.assertNotNull(name.type);
2684 JUnitTestCase.assertNull(name.period);
2685 JUnitTestCase.assertNull(name.name);
2686 }
2687
2688 void test_parseConstructorName_named_prefixed() {
2689 ConstructorName name = ParserTestCase.parse4("parseConstructorName", "p.A.n; ", []);
2690 JUnitTestCase.assertNotNull(name.type);
2691 JUnitTestCase.assertNotNull(name.period);
2692 JUnitTestCase.assertNotNull(name.name);
2693 }
2694
2695 void test_parseConstructorName_unnamed_noPrefix() {
2696 ConstructorName name = ParserTestCase.parse4("parseConstructorName", "A;", [ ]);
2697 JUnitTestCase.assertNotNull(name.type);
2698 JUnitTestCase.assertNull(name.period);
2699 JUnitTestCase.assertNull(name.name);
2700 }
2701
2702 void test_parseConstructorName_unnamed_prefixed() {
2703 ConstructorName name = ParserTestCase.parse4("parseConstructorName", "p.A;", []);
2704 JUnitTestCase.assertNotNull(name.type);
2705 JUnitTestCase.assertNull(name.period);
2706 JUnitTestCase.assertNull(name.name);
2707 }
2708
2709 void test_parseContinueStatement_label() {
2710 ContinueStatement statement = ParserTestCase.parse4("parseContinueStatement" , "continue foo;", [ParserErrorCode.CONTINUE_OUTSIDE_OF_LOOP]);
2711 JUnitTestCase.assertNotNull(statement.keyword);
2712 JUnitTestCase.assertNotNull(statement.label);
2713 JUnitTestCase.assertNotNull(statement.semicolon);
2714 }
2715
2716 void test_parseContinueStatement_noLabel() {
2717 ContinueStatement statement = ParserTestCase.parse4("parseContinueStatement" , "continue;", [ParserErrorCode.CONTINUE_OUTSIDE_OF_LOOP]);
2718 JUnitTestCase.assertNotNull(statement.keyword);
2719 JUnitTestCase.assertNull(statement.label);
2720 JUnitTestCase.assertNotNull(statement.semicolon);
2721 }
2722
2723 void test_parseDirective_export() {
2724 ExportDirective directive = ParserTestCase.parse("parseDirective", <Object> [emptyCommentAndMetadata()], "export 'lib/lib.dart';");
2725 JUnitTestCase.assertNotNull(directive.keyword);
2726 JUnitTestCase.assertNotNull(directive.uri);
2727 EngineTestCase.assertSizeOfList(0, directive.combinators);
2728 JUnitTestCase.assertNotNull(directive.semicolon);
2729 }
2730
2731 void test_parseDirective_import() {
2732 ImportDirective directive = ParserTestCase.parse("parseDirective", <Object> [emptyCommentAndMetadata()], "import 'lib/lib.dart';");
2733 JUnitTestCase.assertNotNull(directive.keyword);
2734 JUnitTestCase.assertNotNull(directive.uri);
2735 JUnitTestCase.assertNull(directive.asToken);
2736 JUnitTestCase.assertNull(directive.prefix);
2737 EngineTestCase.assertSizeOfList(0, directive.combinators);
2738 JUnitTestCase.assertNotNull(directive.semicolon);
2739 }
2740
2741 void test_parseDirective_library() {
2742 LibraryDirective directive = ParserTestCase.parse("parseDirective", <Object> [emptyCommentAndMetadata()], "library l;");
2743 JUnitTestCase.assertNotNull(directive.libraryToken);
2744 JUnitTestCase.assertNotNull(directive.name);
2745 JUnitTestCase.assertNotNull(directive.semicolon);
2746 }
2747
2748 void test_parseDirective_part() {
2749 PartDirective directive = ParserTestCase.parse("parseDirective", <Object> [e mptyCommentAndMetadata()], "part 'lib/lib.dart';");
2750 JUnitTestCase.assertNotNull(directive.partToken);
2751 JUnitTestCase.assertNotNull(directive.uri);
2752 JUnitTestCase.assertNotNull(directive.semicolon);
2753 }
2754
2755 void test_parseDirective_partOf() {
2756 PartOfDirective directive = ParserTestCase.parse("parseDirective", <Object> [emptyCommentAndMetadata()], "part of l;");
2757 JUnitTestCase.assertNotNull(directive.partToken);
2758 JUnitTestCase.assertNotNull(directive.ofToken);
2759 JUnitTestCase.assertNotNull(directive.libraryName);
2760 JUnitTestCase.assertNotNull(directive.semicolon);
2761 }
2762
2763 void test_parseDirectives_complete() {
2764 CompilationUnit unit = _parseDirectives("#! /bin/dart\nlibrary l;\nclass A { }", []);
2765 JUnitTestCase.assertNotNull(unit.scriptTag);
2766 EngineTestCase.assertSizeOfList(1, unit.directives);
2767 }
2768
2769 void test_parseDirectives_empty() {
2770 CompilationUnit unit = _parseDirectives("", []);
2771 JUnitTestCase.assertNull(unit.scriptTag);
2772 EngineTestCase.assertSizeOfList(0, unit.directives);
2773 }
2774
2775 void test_parseDirectives_mixed() {
2776 CompilationUnit unit = _parseDirectives("library l; class A {} part 'foo.dar t';", []);
2777 JUnitTestCase.assertNull(unit.scriptTag);
2778 EngineTestCase.assertSizeOfList(1, unit.directives);
2779 }
2780
2781 void test_parseDirectives_multiple() {
2782 CompilationUnit unit = _parseDirectives("library l;\npart 'a.dart';", []);
2783 JUnitTestCase.assertNull(unit.scriptTag);
2784 EngineTestCase.assertSizeOfList(2, unit.directives);
2785 }
2786
2787 void test_parseDirectives_script() {
2788 CompilationUnit unit = _parseDirectives("#! /bin/dart", []);
2789 JUnitTestCase.assertNotNull(unit.scriptTag);
2790 EngineTestCase.assertSizeOfList(0, unit.directives);
2791 }
2792
2793 void test_parseDirectives_single() {
2794 CompilationUnit unit = _parseDirectives("library l;", []);
2795 JUnitTestCase.assertNull(unit.scriptTag);
2796 EngineTestCase.assertSizeOfList(1, unit.directives);
2797 }
2798
2799 void test_parseDirectives_topLevelDeclaration() {
2800 CompilationUnit unit = _parseDirectives("class A {}", []);
2801 JUnitTestCase.assertNull(unit.scriptTag);
2802 EngineTestCase.assertSizeOfList(0, unit.directives);
2803 }
2804
2805 void test_parseDocumentationComment_block() {
2806 Comment comment = ParserTestCase.parse4("parseDocumentationComment", "/** */ class", []);
2807 JUnitTestCase.assertFalse(comment.isBlock);
2808 JUnitTestCase.assertTrue(comment.isDocumentation);
2809 JUnitTestCase.assertFalse(comment.isEndOfLine);
2810 }
2811
2812 void test_parseDocumentationComment_block_withReference() {
2813 Comment comment = ParserTestCase.parse4("parseDocumentationComment", "/** [a ] */ class", []);
2814 JUnitTestCase.assertFalse(comment.isBlock);
2815 JUnitTestCase.assertTrue(comment.isDocumentation);
2816 JUnitTestCase.assertFalse(comment.isEndOfLine);
2817 NodeList<CommentReference> references = comment.references;
2818 EngineTestCase.assertSizeOfList(1, references);
2819 CommentReference reference = references[0];
2820 JUnitTestCase.assertNotNull(reference);
2821 JUnitTestCase.assertEquals(5, reference.offset);
2822 }
2823
2824 void test_parseDocumentationComment_endOfLine() {
2825 Comment comment = ParserTestCase.parse4("parseDocumentationComment", "/// \n /// \n class", []);
2826 JUnitTestCase.assertFalse(comment.isBlock);
2827 JUnitTestCase.assertTrue(comment.isDocumentation);
2828 JUnitTestCase.assertFalse(comment.isEndOfLine);
2829 }
2830
2831 void test_parseDoStatement() {
2832 DoStatement statement = ParserTestCase.parse4("parseDoStatement", "do {} whi le (x);", []);
2833 JUnitTestCase.assertNotNull(statement.doKeyword);
2834 JUnitTestCase.assertNotNull(statement.body);
2835 JUnitTestCase.assertNotNull(statement.whileKeyword);
2836 JUnitTestCase.assertNotNull(statement.leftParenthesis);
2837 JUnitTestCase.assertNotNull(statement.condition);
2838 JUnitTestCase.assertNotNull(statement.rightParenthesis);
2839 JUnitTestCase.assertNotNull(statement.semicolon);
2840 }
2841
2842 void test_parseEmptyStatement() {
2843 EmptyStatement statement = ParserTestCase.parse4("parseEmptyStatement", ";", []);
2844 JUnitTestCase.assertNotNull(statement.semicolon);
2845 }
2846
2847 void test_parseEqualityExpression_normal() {
2848 BinaryExpression expression = ParserTestCase.parse4("parseEqualityExpression ", "x == y", []);
2849 JUnitTestCase.assertNotNull(expression.leftOperand);
2850 JUnitTestCase.assertNotNull(expression.operator);
2851 JUnitTestCase.assertEquals(TokenType.EQ_EQ, expression.operator.type);
2852 JUnitTestCase.assertNotNull(expression.rightOperand);
2853 }
2854
2855 void test_parseEqualityExpression_super() {
2856 BinaryExpression expression = ParserTestCase.parse4("parseEqualityExpression ", "super == y", []);
2857 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, expression.leftOperand);
2858 JUnitTestCase.assertNotNull(expression.operator);
2859 JUnitTestCase.assertEquals(TokenType.EQ_EQ, expression.operator.type);
2860 JUnitTestCase.assertNotNull(expression.rightOperand);
2861 }
2862
2863 void test_parseExportDirective_hide() {
2864 ExportDirective directive = ParserTestCase.parse("parseExportDirective", <Ob ject> [emptyCommentAndMetadata()], "export 'lib/lib.dart' hide A, B;");
2865 JUnitTestCase.assertNotNull(directive.keyword);
2866 JUnitTestCase.assertNotNull(directive.uri);
2867 EngineTestCase.assertSizeOfList(1, directive.combinators);
2868 JUnitTestCase.assertNotNull(directive.semicolon);
2869 }
2870
2871 void test_parseExportDirective_hide_show() {
2872 ExportDirective directive = ParserTestCase.parse("parseExportDirective", <Ob ject> [emptyCommentAndMetadata()], "export 'lib/lib.dart' hide A show B;");
2873 JUnitTestCase.assertNotNull(directive.keyword);
2874 JUnitTestCase.assertNotNull(directive.uri);
2875 EngineTestCase.assertSizeOfList(2, directive.combinators);
2876 JUnitTestCase.assertNotNull(directive.semicolon);
2877 }
2878
2879 void test_parseExportDirective_noCombinator() {
2880 ExportDirective directive = ParserTestCase.parse("parseExportDirective", <Ob ject> [emptyCommentAndMetadata()], "export 'lib/lib.dart';");
2881 JUnitTestCase.assertNotNull(directive.keyword);
2882 JUnitTestCase.assertNotNull(directive.uri);
2883 EngineTestCase.assertSizeOfList(0, directive.combinators);
2884 JUnitTestCase.assertNotNull(directive.semicolon);
2885 }
2886
2887 void test_parseExportDirective_show() {
2888 ExportDirective directive = ParserTestCase.parse("parseExportDirective", <Ob ject> [emptyCommentAndMetadata()], "export 'lib/lib.dart' show A, B;");
2889 JUnitTestCase.assertNotNull(directive.keyword);
2890 JUnitTestCase.assertNotNull(directive.uri);
2891 EngineTestCase.assertSizeOfList(1, directive.combinators);
2892 JUnitTestCase.assertNotNull(directive.semicolon);
2893 }
2894
2895 void test_parseExportDirective_show_hide() {
2896 ExportDirective directive = ParserTestCase.parse("parseExportDirective", <Ob ject> [emptyCommentAndMetadata()], "export 'lib/lib.dart' show B hide A;");
2897 JUnitTestCase.assertNotNull(directive.keyword);
2898 JUnitTestCase.assertNotNull(directive.uri);
2899 EngineTestCase.assertSizeOfList(2, directive.combinators);
2900 JUnitTestCase.assertNotNull(directive.semicolon);
2901 }
2902
2903 void test_parseExpression_assign() {
2904 // TODO(brianwilkerson) Implement more tests for this method.
2905 AssignmentExpression expression = ParserTestCase.parse4("parseExpression", " x = y", []);
2906 JUnitTestCase.assertNotNull(expression.leftHandSide);
2907 JUnitTestCase.assertNotNull(expression.operator);
2908 JUnitTestCase.assertEquals(TokenType.EQ, expression.operator.type);
2909 JUnitTestCase.assertNotNull(expression.rightHandSide);
2910 }
2911
2912 void test_parseExpression_comparison() {
2913 BinaryExpression expression = ParserTestCase.parse4("parseExpression", "--a. b == c", []);
2914 JUnitTestCase.assertNotNull(expression.leftOperand);
2915 JUnitTestCase.assertNotNull(expression.operator);
2916 JUnitTestCase.assertEquals(TokenType.EQ_EQ, expression.operator.type);
2917 JUnitTestCase.assertNotNull(expression.rightOperand);
2918 }
2919
2920 void test_parseExpression_invokeFunctionExpression() {
2921 FunctionExpressionInvocation invocation = ParserTestCase.parse4("parseExpres sion", "(a) {return a + a;} (3)", []);
2922 EngineTestCase.assertInstanceOf((obj) => obj is FunctionExpression, Function Expression, invocation.function);
2923 FunctionExpression expression = invocation.function as FunctionExpression;
2924 JUnitTestCase.assertNotNull(expression.parameters);
2925 JUnitTestCase.assertNotNull(expression.body);
2926 ArgumentList list = invocation.argumentList;
2927 JUnitTestCase.assertNotNull(list);
2928 EngineTestCase.assertSizeOfList(1, list.arguments);
2929 }
2930
2931 void test_parseExpression_superMethodInvocation() {
2932 MethodInvocation invocation = ParserTestCase.parse4("parseExpression", "supe r.m()", []);
2933 JUnitTestCase.assertNotNull(invocation.target);
2934 JUnitTestCase.assertNotNull(invocation.methodName);
2935 JUnitTestCase.assertNotNull(invocation.argumentList);
2936 }
2937
2938 void test_parseExpressionList_multiple() {
2939 List<Expression> result = ParserTestCase.parse4("parseExpressionList", "1, 2 , 3", []);
2940 EngineTestCase.assertSizeOfList(3, result);
2941 }
2942
2943 void test_parseExpressionList_single() {
2944 List<Expression> result = ParserTestCase.parse4("parseExpressionList", "1", []);
2945 EngineTestCase.assertSizeOfList(1, result);
2946 }
2947
2948 void test_parseExpressionWithoutCascade_assign() {
2949 // TODO(brianwilkerson) Implement more tests for this method.
2950 AssignmentExpression expression = ParserTestCase.parse4("parseExpressionWith outCascade", "x = y", []);
2951 JUnitTestCase.assertNotNull(expression.leftHandSide);
2952 JUnitTestCase.assertNotNull(expression.operator);
2953 JUnitTestCase.assertEquals(TokenType.EQ, expression.operator.type);
2954 JUnitTestCase.assertNotNull(expression.rightHandSide);
2955 }
2956
2957 void test_parseExpressionWithoutCascade_comparison() {
2958 BinaryExpression expression = ParserTestCase.parse4("parseExpressionWithoutC ascade", "--a.b == c", []);
2959 JUnitTestCase.assertNotNull(expression.leftOperand);
2960 JUnitTestCase.assertNotNull(expression.operator);
2961 JUnitTestCase.assertEquals(TokenType.EQ_EQ, expression.operator.type);
2962 JUnitTestCase.assertNotNull(expression.rightOperand);
2963 }
2964
2965 void test_parseExpressionWithoutCascade_superMethodInvocation() {
2966 MethodInvocation invocation = ParserTestCase.parse4("parseExpressionWithoutC ascade", "super.m()", []);
2967 JUnitTestCase.assertNotNull(invocation.target);
2968 JUnitTestCase.assertNotNull(invocation.methodName);
2969 JUnitTestCase.assertNotNull(invocation.argumentList);
2970 }
2971
2972 void test_parseExtendsClause() {
2973 ExtendsClause clause = ParserTestCase.parse4("parseExtendsClause", "extends B", []);
2974 JUnitTestCase.assertNotNull(clause.keyword);
2975 JUnitTestCase.assertNotNull(clause.superclass);
2976 EngineTestCase.assertInstanceOf((obj) => obj is TypeName, TypeName, clause.s uperclass);
2977 }
2978
2979 void test_parseFinalConstVarOrType_const_noType() {
2980 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "const");
2981 Token keyword = result.keyword;
2982 JUnitTestCase.assertNotNull(keyword);
2983 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword.type);
2984 JUnitTestCase.assertEquals(Keyword.CONST, (keyword as KeywordToken).keyword) ;
2985 JUnitTestCase.assertNull(result.type);
2986 }
2987
2988 void test_parseFinalConstVarOrType_const_type() {
2989 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "const A a");
2990 Token keyword = result.keyword;
2991 JUnitTestCase.assertNotNull(keyword);
2992 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword.type);
2993 JUnitTestCase.assertEquals(Keyword.CONST, (keyword as KeywordToken).keyword) ;
2994 JUnitTestCase.assertNotNull(result.type);
2995 }
2996
2997 void test_parseFinalConstVarOrType_final_noType() {
2998 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "final");
2999 Token keyword = result.keyword;
3000 JUnitTestCase.assertNotNull(keyword);
3001 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword.type);
3002 JUnitTestCase.assertEquals(Keyword.FINAL, (keyword as KeywordToken).keyword) ;
3003 JUnitTestCase.assertNull(result.type);
3004 }
3005
3006 void test_parseFinalConstVarOrType_final_prefixedType() {
3007 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "final p.A a");
3008 Token keyword = result.keyword;
3009 JUnitTestCase.assertNotNull(keyword);
3010 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword.type);
3011 JUnitTestCase.assertEquals(Keyword.FINAL, (keyword as KeywordToken).keyword) ;
3012 JUnitTestCase.assertNotNull(result.type);
3013 }
3014
3015 void test_parseFinalConstVarOrType_final_type() {
3016 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "final A a");
3017 Token keyword = result.keyword;
3018 JUnitTestCase.assertNotNull(keyword);
3019 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword.type);
3020 JUnitTestCase.assertEquals(Keyword.FINAL, (keyword as KeywordToken).keyword) ;
3021 JUnitTestCase.assertNotNull(result.type);
3022 }
3023
3024 void test_parseFinalConstVarOrType_type_parameterized() {
3025 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "A<B> a");
3026 JUnitTestCase.assertNull(result.keyword);
3027 JUnitTestCase.assertNotNull(result.type);
3028 }
3029
3030 void test_parseFinalConstVarOrType_type_prefixed() {
3031 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "p.A a");
3032 JUnitTestCase.assertNull(result.keyword);
3033 JUnitTestCase.assertNotNull(result.type);
3034 }
3035
3036 void test_parseFinalConstVarOrType_type_prefixedAndParameterized() {
3037 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "p.A<B> a");
3038 JUnitTestCase.assertNull(result.keyword);
3039 JUnitTestCase.assertNotNull(result.type);
3040 }
3041
3042 void test_parseFinalConstVarOrType_type_simple() {
3043 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "A a");
3044 JUnitTestCase.assertNull(result.keyword);
3045 JUnitTestCase.assertNotNull(result.type);
3046 }
3047
3048 void test_parseFinalConstVarOrType_var() {
3049 FinalConstVarOrType result = ParserTestCase.parse("parseFinalConstVarOrType" , <Object> [false], "var");
3050 Token keyword = result.keyword;
3051 JUnitTestCase.assertNotNull(keyword);
3052 JUnitTestCase.assertEquals(TokenType.KEYWORD, keyword.type);
3053 JUnitTestCase.assertEquals(Keyword.VAR, (keyword as KeywordToken).keyword);
3054 JUnitTestCase.assertNull(result.type);
3055 }
3056
3057 void test_parseFormalParameter_final_withType_named() {
3058 ParameterKind kind = ParameterKind.NAMED;
3059 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "final A a : null");
3060 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
3061 JUnitTestCase.assertNotNull(simpleParameter.identifier);
3062 JUnitTestCase.assertNotNull(simpleParameter.keyword);
3063 JUnitTestCase.assertNotNull(simpleParameter.type);
3064 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
3065 JUnitTestCase.assertNotNull(parameter.separator);
3066 JUnitTestCase.assertNotNull(parameter.defaultValue);
3067 JUnitTestCase.assertEquals(kind, parameter.kind);
3068 }
3069
3070 void test_parseFormalParameter_final_withType_normal() {
3071 ParameterKind kind = ParameterKind.REQUIRED;
3072 SimpleFormalParameter parameter = ParserTestCase.parse("parseFormalParameter ", <Object> [kind], "final A a");
3073 JUnitTestCase.assertNotNull(parameter.identifier);
3074 JUnitTestCase.assertNotNull(parameter.keyword);
3075 JUnitTestCase.assertNotNull(parameter.type);
3076 JUnitTestCase.assertEquals(kind, parameter.kind);
3077 }
3078
3079 void test_parseFormalParameter_final_withType_positional() {
3080 ParameterKind kind = ParameterKind.POSITIONAL;
3081 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "final A a = null");
3082 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
3083 JUnitTestCase.assertNotNull(simpleParameter.identifier);
3084 JUnitTestCase.assertNotNull(simpleParameter.keyword);
3085 JUnitTestCase.assertNotNull(simpleParameter.type);
3086 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
3087 JUnitTestCase.assertNotNull(parameter.separator);
3088 JUnitTestCase.assertNotNull(parameter.defaultValue);
3089 JUnitTestCase.assertEquals(kind, parameter.kind);
3090 }
3091
3092 void test_parseFormalParameter_nonFinal_withType_named() {
3093 ParameterKind kind = ParameterKind.NAMED;
3094 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "A a : null");
3095 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
3096 JUnitTestCase.assertNotNull(simpleParameter.identifier);
3097 JUnitTestCase.assertNull(simpleParameter.keyword);
3098 JUnitTestCase.assertNotNull(simpleParameter.type);
3099 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
3100 JUnitTestCase.assertNotNull(parameter.separator);
3101 JUnitTestCase.assertNotNull(parameter.defaultValue);
3102 JUnitTestCase.assertEquals(kind, parameter.kind);
3103 }
3104
3105 void test_parseFormalParameter_nonFinal_withType_normal() {
3106 ParameterKind kind = ParameterKind.REQUIRED;
3107 SimpleFormalParameter parameter = ParserTestCase.parse("parseFormalParameter ", <Object> [kind], "A a");
3108 JUnitTestCase.assertNotNull(parameter.identifier);
3109 JUnitTestCase.assertNull(parameter.keyword);
3110 JUnitTestCase.assertNotNull(parameter.type);
3111 JUnitTestCase.assertEquals(kind, parameter.kind);
3112 }
3113
3114 void test_parseFormalParameter_nonFinal_withType_positional() {
3115 ParameterKind kind = ParameterKind.POSITIONAL;
3116 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "A a = null");
3117 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
3118 JUnitTestCase.assertNotNull(simpleParameter.identifier);
3119 JUnitTestCase.assertNull(simpleParameter.keyword);
3120 JUnitTestCase.assertNotNull(simpleParameter.type);
3121 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
3122 JUnitTestCase.assertNotNull(parameter.separator);
3123 JUnitTestCase.assertNotNull(parameter.defaultValue);
3124 JUnitTestCase.assertEquals(kind, parameter.kind);
3125 }
3126
3127 void test_parseFormalParameter_var() {
3128 ParameterKind kind = ParameterKind.REQUIRED;
3129 SimpleFormalParameter parameter = ParserTestCase.parse("parseFormalParameter ", <Object> [kind], "var a");
3130 JUnitTestCase.assertNotNull(parameter.identifier);
3131 JUnitTestCase.assertNotNull(parameter.keyword);
3132 JUnitTestCase.assertNull(parameter.type);
3133 JUnitTestCase.assertEquals(kind, parameter.kind);
3134 }
3135
3136 void test_parseFormalParameter_var_named() {
3137 ParameterKind kind = ParameterKind.NAMED;
3138 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "var a : null");
3139 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
3140 JUnitTestCase.assertNotNull(simpleParameter.identifier);
3141 JUnitTestCase.assertNotNull(simpleParameter.keyword);
3142 JUnitTestCase.assertNull(simpleParameter.type);
3143 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
3144 JUnitTestCase.assertNotNull(parameter.separator);
3145 JUnitTestCase.assertNotNull(parameter.defaultValue);
3146 JUnitTestCase.assertEquals(kind, parameter.kind);
3147 }
3148
3149 void test_parseFormalParameter_var_positional() {
3150 ParameterKind kind = ParameterKind.POSITIONAL;
3151 DefaultFormalParameter parameter = ParserTestCase.parse("parseFormalParamete r", <Object> [kind], "var a = null");
3152 SimpleFormalParameter simpleParameter = parameter.parameter as SimpleFormalP arameter;
3153 JUnitTestCase.assertNotNull(simpleParameter.identifier);
3154 JUnitTestCase.assertNotNull(simpleParameter.keyword);
3155 JUnitTestCase.assertNull(simpleParameter.type);
3156 JUnitTestCase.assertEquals(kind, simpleParameter.kind);
3157 JUnitTestCase.assertNotNull(parameter.separator);
3158 JUnitTestCase.assertNotNull(parameter.defaultValue);
3159 JUnitTestCase.assertEquals(kind, parameter.kind);
3160 }
3161
3162 void test_parseFormalParameterList_empty() {
3163 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "()", []);
3164 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
3165 JUnitTestCase.assertNull(parameterList.leftDelimiter);
3166 EngineTestCase.assertSizeOfList(0, parameterList.parameters);
3167 JUnitTestCase.assertNull(parameterList.rightDelimiter);
3168 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
3169 }
3170
3171 void test_parseFormalParameterList_named_multiple() {
3172 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "({A a : 1, B b, C c : 3})", []);
3173 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
3174 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
3175 EngineTestCase.assertSizeOfList(3, parameterList.parameters);
3176 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
3177 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
3178 }
3179
3180 void test_parseFormalParameterList_named_single() {
3181 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "({A a})", []);
3182 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
3183 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
3184 EngineTestCase.assertSizeOfList(1, parameterList.parameters);
3185 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
3186 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
3187 }
3188
3189 void test_parseFormalParameterList_normal_multiple() {
3190 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "(A a, B b, C c)", []);
3191 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
3192 JUnitTestCase.assertNull(parameterList.leftDelimiter);
3193 EngineTestCase.assertSizeOfList(3, parameterList.parameters);
3194 JUnitTestCase.assertNull(parameterList.rightDelimiter);
3195 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
3196 }
3197
3198 void test_parseFormalParameterList_normal_named() {
3199 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "(A a, {B b})", []);
3200 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
3201 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
3202 EngineTestCase.assertSizeOfList(2, parameterList.parameters);
3203 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
3204 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
3205 }
3206
3207 void test_parseFormalParameterList_normal_positional() {
3208 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "(A a, [B b])", []);
3209 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
3210 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
3211 EngineTestCase.assertSizeOfList(2, parameterList.parameters);
3212 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
3213 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
3214 }
3215
3216 void test_parseFormalParameterList_normal_single() {
3217 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "(A a)", []);
3218 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
3219 JUnitTestCase.assertNull(parameterList.leftDelimiter);
3220 EngineTestCase.assertSizeOfList(1, parameterList.parameters);
3221 JUnitTestCase.assertNull(parameterList.rightDelimiter);
3222 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
3223 }
3224
3225 void test_parseFormalParameterList_positional_multiple() {
3226 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "([A a = null, B b, C c = null])", []);
3227 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
3228 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
3229 EngineTestCase.assertSizeOfList(3, parameterList.parameters);
3230 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
3231 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
3232 }
3233
3234 void test_parseFormalParameterList_positional_single() {
3235 FormalParameterList parameterList = ParserTestCase.parse4("parseFormalParame terList", "([A a = null])", []);
3236 JUnitTestCase.assertNotNull(parameterList.leftParenthesis);
3237 JUnitTestCase.assertNotNull(parameterList.leftDelimiter);
3238 EngineTestCase.assertSizeOfList(1, parameterList.parameters);
3239 JUnitTestCase.assertNotNull(parameterList.rightDelimiter);
3240 JUnitTestCase.assertNotNull(parameterList.rightParenthesis);
3241 }
3242
3243 void test_parseForStatement_each_identifier() {
3244 ForEachStatement statement = ParserTestCase.parse4("parseForStatement", "for (element in list) {}", []);
3245 JUnitTestCase.assertNotNull(statement.forKeyword);
3246 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3247 JUnitTestCase.assertNull(statement.loopVariable);
3248 JUnitTestCase.assertNotNull(statement.identifier);
3249 JUnitTestCase.assertNotNull(statement.inKeyword);
3250 JUnitTestCase.assertNotNull(statement.iterator);
3251 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3252 JUnitTestCase.assertNotNull(statement.body);
3253 }
3254
3255 void test_parseForStatement_each_noType_metadata() {
3256 ForEachStatement statement = ParserTestCase.parse4("parseForStatement", "for (@A var element in list) {}", []);
3257 JUnitTestCase.assertNotNull(statement.forKeyword);
3258 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3259 JUnitTestCase.assertNotNull(statement.loopVariable);
3260 EngineTestCase.assertSizeOfList(1, statement.loopVariable.metadata);
3261 JUnitTestCase.assertNull(statement.identifier);
3262 JUnitTestCase.assertNotNull(statement.inKeyword);
3263 JUnitTestCase.assertNotNull(statement.iterator);
3264 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3265 JUnitTestCase.assertNotNull(statement.body);
3266 }
3267
3268 void test_parseForStatement_each_type() {
3269 ForEachStatement statement = ParserTestCase.parse4("parseForStatement", "for (A element in list) {}", []);
3270 JUnitTestCase.assertNotNull(statement.forKeyword);
3271 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3272 JUnitTestCase.assertNotNull(statement.loopVariable);
3273 JUnitTestCase.assertNull(statement.identifier);
3274 JUnitTestCase.assertNotNull(statement.inKeyword);
3275 JUnitTestCase.assertNotNull(statement.iterator);
3276 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3277 JUnitTestCase.assertNotNull(statement.body);
3278 }
3279
3280 void test_parseForStatement_each_var() {
3281 ForEachStatement statement = ParserTestCase.parse4("parseForStatement", "for (var element in list) {}", []);
3282 JUnitTestCase.assertNotNull(statement.forKeyword);
3283 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3284 JUnitTestCase.assertNotNull(statement.loopVariable);
3285 JUnitTestCase.assertNull(statement.identifier);
3286 JUnitTestCase.assertNotNull(statement.inKeyword);
3287 JUnitTestCase.assertNotNull(statement.iterator);
3288 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3289 JUnitTestCase.assertNotNull(statement.body);
3290 }
3291
3292 void test_parseForStatement_loop_c() {
3293 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (; i < count;) {}", []);
3294 JUnitTestCase.assertNotNull(statement.forKeyword);
3295 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3296 JUnitTestCase.assertNull(statement.variables);
3297 JUnitTestCase.assertNull(statement.initialization);
3298 JUnitTestCase.assertNotNull(statement.leftSeparator);
3299 JUnitTestCase.assertNotNull(statement.condition);
3300 JUnitTestCase.assertNotNull(statement.rightSeparator);
3301 EngineTestCase.assertSizeOfList(0, statement.updaters);
3302 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3303 JUnitTestCase.assertNotNull(statement.body);
3304 }
3305
3306 void test_parseForStatement_loop_cu() {
3307 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (; i < count; i++) {}", []);
3308 JUnitTestCase.assertNotNull(statement.forKeyword);
3309 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3310 JUnitTestCase.assertNull(statement.variables);
3311 JUnitTestCase.assertNull(statement.initialization);
3312 JUnitTestCase.assertNotNull(statement.leftSeparator);
3313 JUnitTestCase.assertNotNull(statement.condition);
3314 JUnitTestCase.assertNotNull(statement.rightSeparator);
3315 EngineTestCase.assertSizeOfList(1, statement.updaters);
3316 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3317 JUnitTestCase.assertNotNull(statement.body);
3318 }
3319
3320 void test_parseForStatement_loop_ecu() {
3321 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (i- -; i < count; i++) {}", []);
3322 JUnitTestCase.assertNotNull(statement.forKeyword);
3323 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3324 JUnitTestCase.assertNull(statement.variables);
3325 JUnitTestCase.assertNotNull(statement.initialization);
3326 JUnitTestCase.assertNotNull(statement.leftSeparator);
3327 JUnitTestCase.assertNotNull(statement.condition);
3328 JUnitTestCase.assertNotNull(statement.rightSeparator);
3329 EngineTestCase.assertSizeOfList(1, statement.updaters);
3330 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3331 JUnitTestCase.assertNotNull(statement.body);
3332 }
3333
3334 void test_parseForStatement_loop_i() {
3335 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (va r i = 0;;) {}", []);
3336 JUnitTestCase.assertNotNull(statement.forKeyword);
3337 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3338 VariableDeclarationList variables = statement.variables;
3339 JUnitTestCase.assertNotNull(variables);
3340 EngineTestCase.assertSizeOfList(0, variables.metadata);
3341 EngineTestCase.assertSizeOfList(1, variables.variables);
3342 JUnitTestCase.assertNull(statement.initialization);
3343 JUnitTestCase.assertNotNull(statement.leftSeparator);
3344 JUnitTestCase.assertNull(statement.condition);
3345 JUnitTestCase.assertNotNull(statement.rightSeparator);
3346 EngineTestCase.assertSizeOfList(0, statement.updaters);
3347 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3348 JUnitTestCase.assertNotNull(statement.body);
3349 }
3350
3351 void test_parseForStatement_loop_i_withMetadata() {
3352 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (@A var i = 0;;) {}", []);
3353 JUnitTestCase.assertNotNull(statement.forKeyword);
3354 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3355 VariableDeclarationList variables = statement.variables;
3356 JUnitTestCase.assertNotNull(variables);
3357 EngineTestCase.assertSizeOfList(1, variables.metadata);
3358 EngineTestCase.assertSizeOfList(1, variables.variables);
3359 JUnitTestCase.assertNull(statement.initialization);
3360 JUnitTestCase.assertNotNull(statement.leftSeparator);
3361 JUnitTestCase.assertNull(statement.condition);
3362 JUnitTestCase.assertNotNull(statement.rightSeparator);
3363 EngineTestCase.assertSizeOfList(0, statement.updaters);
3364 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3365 JUnitTestCase.assertNotNull(statement.body);
3366 }
3367
3368 void test_parseForStatement_loop_ic() {
3369 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (va r i = 0; i < count;) {}", []);
3370 JUnitTestCase.assertNotNull(statement.forKeyword);
3371 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3372 VariableDeclarationList variables = statement.variables;
3373 JUnitTestCase.assertNotNull(variables);
3374 EngineTestCase.assertSizeOfList(1, variables.variables);
3375 JUnitTestCase.assertNull(statement.initialization);
3376 JUnitTestCase.assertNotNull(statement.leftSeparator);
3377 JUnitTestCase.assertNotNull(statement.condition);
3378 JUnitTestCase.assertNotNull(statement.rightSeparator);
3379 EngineTestCase.assertSizeOfList(0, statement.updaters);
3380 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3381 JUnitTestCase.assertNotNull(statement.body);
3382 }
3383
3384 void test_parseForStatement_loop_icu() {
3385 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (va r i = 0; i < count; i++) {}", []);
3386 JUnitTestCase.assertNotNull(statement.forKeyword);
3387 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3388 VariableDeclarationList variables = statement.variables;
3389 JUnitTestCase.assertNotNull(variables);
3390 EngineTestCase.assertSizeOfList(1, variables.variables);
3391 JUnitTestCase.assertNull(statement.initialization);
3392 JUnitTestCase.assertNotNull(statement.leftSeparator);
3393 JUnitTestCase.assertNotNull(statement.condition);
3394 JUnitTestCase.assertNotNull(statement.rightSeparator);
3395 EngineTestCase.assertSizeOfList(1, statement.updaters);
3396 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3397 JUnitTestCase.assertNotNull(statement.body);
3398 }
3399
3400 void test_parseForStatement_loop_iicuu() {
3401 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (in t i = 0, j = count; i < j; i++, j--) {}", []);
3402 JUnitTestCase.assertNotNull(statement.forKeyword);
3403 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3404 VariableDeclarationList variables = statement.variables;
3405 JUnitTestCase.assertNotNull(variables);
3406 EngineTestCase.assertSizeOfList(2, variables.variables);
3407 JUnitTestCase.assertNull(statement.initialization);
3408 JUnitTestCase.assertNotNull(statement.leftSeparator);
3409 JUnitTestCase.assertNotNull(statement.condition);
3410 JUnitTestCase.assertNotNull(statement.rightSeparator);
3411 EngineTestCase.assertSizeOfList(2, statement.updaters);
3412 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3413 JUnitTestCase.assertNotNull(statement.body);
3414 }
3415
3416 void test_parseForStatement_loop_iu() {
3417 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (va r i = 0;; i++) {}", []);
3418 JUnitTestCase.assertNotNull(statement.forKeyword);
3419 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3420 VariableDeclarationList variables = statement.variables;
3421 JUnitTestCase.assertNotNull(variables);
3422 EngineTestCase.assertSizeOfList(1, variables.variables);
3423 JUnitTestCase.assertNull(statement.initialization);
3424 JUnitTestCase.assertNotNull(statement.leftSeparator);
3425 JUnitTestCase.assertNull(statement.condition);
3426 JUnitTestCase.assertNotNull(statement.rightSeparator);
3427 EngineTestCase.assertSizeOfList(1, statement.updaters);
3428 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3429 JUnitTestCase.assertNotNull(statement.body);
3430 }
3431
3432 void test_parseForStatement_loop_u() {
3433 ForStatement statement = ParserTestCase.parse4("parseForStatement", "for (;; i++) {}", []);
3434 JUnitTestCase.assertNotNull(statement.forKeyword);
3435 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3436 JUnitTestCase.assertNull(statement.variables);
3437 JUnitTestCase.assertNull(statement.initialization);
3438 JUnitTestCase.assertNotNull(statement.leftSeparator);
3439 JUnitTestCase.assertNull(statement.condition);
3440 JUnitTestCase.assertNotNull(statement.rightSeparator);
3441 EngineTestCase.assertSizeOfList(1, statement.updaters);
3442 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3443 JUnitTestCase.assertNotNull(statement.body);
3444 }
3445
3446 void test_parseFunctionBody_block() {
3447 BlockFunctionBody functionBody = ParserTestCase.parse("parseFunctionBody", < Object> [false, null, false], "{}");
3448 JUnitTestCase.assertNotNull(functionBody.block);
3449 }
3450
3451 void test_parseFunctionBody_empty() {
3452 EmptyFunctionBody functionBody = ParserTestCase.parse("parseFunctionBody", < Object> [true, null, false], ";");
3453 JUnitTestCase.assertNotNull(functionBody.semicolon);
3454 }
3455
3456 void test_parseFunctionBody_expression() {
3457 ExpressionFunctionBody functionBody = ParserTestCase.parse("parseFunctionBod y", <Object> [false, null, false], "=> y;");
3458 JUnitTestCase.assertNotNull(functionBody.functionDefinition);
3459 JUnitTestCase.assertNotNull(functionBody.expression);
3460 JUnitTestCase.assertNotNull(functionBody.semicolon);
3461 }
3462
3463 void test_parseFunctionBody_nativeFunctionBody() {
3464 NativeFunctionBody functionBody = ParserTestCase.parse("parseFunctionBody", <Object> [false, null, false], "native 'str';");
3465 JUnitTestCase.assertNotNull(functionBody.nativeToken);
3466 JUnitTestCase.assertNotNull(functionBody.stringLiteral);
3467 JUnitTestCase.assertNotNull(functionBody.semicolon);
3468 }
3469
3470 void test_parseFunctionBody_skip_block() {
3471 ParserTestCase.parseFunctionBodies = false;
3472 FunctionBody functionBody = ParserTestCase.parse("parseFunctionBody", <Objec t> [false, null, false], "{}");
3473 EngineTestCase.assertInstanceOf((obj) => obj is EmptyFunctionBody, EmptyFunc tionBody, functionBody);
3474 }
3475
3476 void test_parseFunctionBody_skip_blocks() {
3477 ParserTestCase.parseFunctionBodies = false;
3478 FunctionBody functionBody = ParserTestCase.parse("parseFunctionBody", <Objec t> [false, null, false], "{ {} }");
3479 EngineTestCase.assertInstanceOf((obj) => obj is EmptyFunctionBody, EmptyFunc tionBody, functionBody);
3480 }
3481
3482 void test_parseFunctionBody_skip_expression() {
3483 ParserTestCase.parseFunctionBodies = false;
3484 FunctionBody functionBody = ParserTestCase.parse("parseFunctionBody", <Objec t> [false, null, false], "=> y;");
3485 EngineTestCase.assertInstanceOf((obj) => obj is EmptyFunctionBody, EmptyFunc tionBody, functionBody);
3486 }
3487
3488 void test_parseFunctionDeclaration_function() {
3489 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
3490 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
3491 FunctionDeclaration declaration = ParserTestCase.parse("parseFunctionDeclara tion", <Object> [commentAndMetadata(comment, []), null, returnType], "f() {}");
3492 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
3493 JUnitTestCase.assertEquals(returnType, declaration.returnType);
3494 JUnitTestCase.assertNotNull(declaration.name);
3495 FunctionExpression expression = declaration.functionExpression;
3496 JUnitTestCase.assertNotNull(expression);
3497 JUnitTestCase.assertNotNull(expression.body);
3498 JUnitTestCase.assertNotNull(expression.parameters);
3499 JUnitTestCase.assertNull(declaration.propertyKeyword);
3500 }
3501
3502 void test_parseFunctionDeclaration_getter() {
3503 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
3504 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
3505 FunctionDeclaration declaration = ParserTestCase.parse("parseFunctionDeclara tion", <Object> [commentAndMetadata(comment, []), null, returnType], "get p => 0 ;");
3506 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
3507 JUnitTestCase.assertEquals(returnType, declaration.returnType);
3508 JUnitTestCase.assertNotNull(declaration.name);
3509 FunctionExpression expression = declaration.functionExpression;
3510 JUnitTestCase.assertNotNull(expression);
3511 JUnitTestCase.assertNotNull(expression.body);
3512 JUnitTestCase.assertNull(expression.parameters);
3513 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
3514 }
3515
3516 void test_parseFunctionDeclaration_setter() {
3517 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
3518 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
3519 FunctionDeclaration declaration = ParserTestCase.parse("parseFunctionDeclara tion", <Object> [commentAndMetadata(comment, []), null, returnType], "set p(v) { }");
3520 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
3521 JUnitTestCase.assertEquals(returnType, declaration.returnType);
3522 JUnitTestCase.assertNotNull(declaration.name);
3523 FunctionExpression expression = declaration.functionExpression;
3524 JUnitTestCase.assertNotNull(expression);
3525 JUnitTestCase.assertNotNull(expression.body);
3526 JUnitTestCase.assertNotNull(expression.parameters);
3527 JUnitTestCase.assertNotNull(declaration.propertyKeyword);
3528 }
3529
3530 void test_parseFunctionDeclarationStatement() {
3531 FunctionDeclarationStatement statement = ParserTestCase.parse4("parseFunctio nDeclarationStatement", "void f(int p) => p * 2;", []);
3532 JUnitTestCase.assertNotNull(statement.functionDeclaration);
3533 }
3534
3535 void test_parseFunctionExpression_body_inExpression() {
3536 FunctionExpression expression = ParserTestCase.parse4("parseFunctionExpressi on", "(int i) => i++", []);
3537 JUnitTestCase.assertNotNull(expression.body);
3538 JUnitTestCase.assertNotNull(expression.parameters);
3539 JUnitTestCase.assertNull((expression.body as ExpressionFunctionBody).semicol on);
3540 }
3541
3542 void test_parseFunctionExpression_minimal() {
3543 FunctionExpression expression = ParserTestCase.parse4("parseFunctionExpressi on", "() {}", []);
3544 JUnitTestCase.assertNotNull(expression.body);
3545 JUnitTestCase.assertNotNull(expression.parameters);
3546 }
3547
3548 void test_parseGetter_nonStatic() {
3549 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
3550 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
3551 MethodDeclaration method = ParserTestCase.parse("parseGetter", <Object> [com mentAndMetadata(comment, []), null, null, returnType], "get a;");
3552 JUnitTestCase.assertNotNull(method.body);
3553 JUnitTestCase.assertEquals(comment, method.documentationComment);
3554 JUnitTestCase.assertNull(method.externalKeyword);
3555 JUnitTestCase.assertNull(method.modifierKeyword);
3556 JUnitTestCase.assertNotNull(method.name);
3557 JUnitTestCase.assertNull(method.operatorKeyword);
3558 JUnitTestCase.assertNull(method.parameters);
3559 JUnitTestCase.assertNotNull(method.propertyKeyword);
3560 JUnitTestCase.assertEquals(returnType, method.returnType);
3561 }
3562
3563 void test_parseGetter_static() {
3564 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
3565 Token staticKeyword = TokenFactory.tokenFromKeyword(Keyword.STATIC);
3566 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
3567 MethodDeclaration method = ParserTestCase.parse("parseGetter", <Object> [
3568 commentAndMetadata(comment, []),
3569 null,
3570 staticKeyword,
3571 returnType], "get a => 42;");
3572 JUnitTestCase.assertNotNull(method.body);
3573 JUnitTestCase.assertEquals(comment, method.documentationComment);
3574 JUnitTestCase.assertNull(method.externalKeyword);
3575 JUnitTestCase.assertEquals(staticKeyword, method.modifierKeyword);
3576 JUnitTestCase.assertNotNull(method.name);
3577 JUnitTestCase.assertNull(method.operatorKeyword);
3578 JUnitTestCase.assertNull(method.parameters);
3579 JUnitTestCase.assertNotNull(method.propertyKeyword);
3580 JUnitTestCase.assertEquals(returnType, method.returnType);
3581 }
3582
3583 void test_parseIdentifierList_multiple() {
3584 List<SimpleIdentifier> list = ParserTestCase.parse4("parseIdentifierList", " a, b, c", []);
3585 EngineTestCase.assertSizeOfList(3, list);
3586 }
3587
3588 void test_parseIdentifierList_single() {
3589 List<SimpleIdentifier> list = ParserTestCase.parse4("parseIdentifierList", " a", []);
3590 EngineTestCase.assertSizeOfList(1, list);
3591 }
3592
3593 void test_parseIfStatement_else_block() {
3594 IfStatement statement = ParserTestCase.parse4("parseIfStatement", "if (x) {} else {}", []);
3595 JUnitTestCase.assertNotNull(statement.ifKeyword);
3596 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3597 JUnitTestCase.assertNotNull(statement.condition);
3598 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3599 JUnitTestCase.assertNotNull(statement.thenStatement);
3600 JUnitTestCase.assertNotNull(statement.elseKeyword);
3601 JUnitTestCase.assertNotNull(statement.elseStatement);
3602 }
3603
3604 void test_parseIfStatement_else_statement() {
3605 IfStatement statement = ParserTestCase.parse4("parseIfStatement", "if (x) f( x); else f(y);", []);
3606 JUnitTestCase.assertNotNull(statement.ifKeyword);
3607 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3608 JUnitTestCase.assertNotNull(statement.condition);
3609 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3610 JUnitTestCase.assertNotNull(statement.thenStatement);
3611 JUnitTestCase.assertNotNull(statement.elseKeyword);
3612 JUnitTestCase.assertNotNull(statement.elseStatement);
3613 }
3614
3615 void test_parseIfStatement_noElse_block() {
3616 IfStatement statement = ParserTestCase.parse4("parseIfStatement", "if (x) {} ", []);
3617 JUnitTestCase.assertNotNull(statement.ifKeyword);
3618 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3619 JUnitTestCase.assertNotNull(statement.condition);
3620 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3621 JUnitTestCase.assertNotNull(statement.thenStatement);
3622 JUnitTestCase.assertNull(statement.elseKeyword);
3623 JUnitTestCase.assertNull(statement.elseStatement);
3624 }
3625
3626 void test_parseIfStatement_noElse_statement() {
3627 IfStatement statement = ParserTestCase.parse4("parseIfStatement", "if (x) f( x);", []);
3628 JUnitTestCase.assertNotNull(statement.ifKeyword);
3629 JUnitTestCase.assertNotNull(statement.leftParenthesis);
3630 JUnitTestCase.assertNotNull(statement.condition);
3631 JUnitTestCase.assertNotNull(statement.rightParenthesis);
3632 JUnitTestCase.assertNotNull(statement.thenStatement);
3633 JUnitTestCase.assertNull(statement.elseKeyword);
3634 JUnitTestCase.assertNull(statement.elseStatement);
3635 }
3636
3637 void test_parseImplementsClause_multiple() {
3638 ImplementsClause clause = ParserTestCase.parse4("parseImplementsClause", "im plements A, B, C", []);
3639 EngineTestCase.assertSizeOfList(3, clause.interfaces);
3640 JUnitTestCase.assertNotNull(clause.keyword);
3641 }
3642
3643 void test_parseImplementsClause_single() {
3644 ImplementsClause clause = ParserTestCase.parse4("parseImplementsClause", "im plements A", []);
3645 EngineTestCase.assertSizeOfList(1, clause.interfaces);
3646 JUnitTestCase.assertNotNull(clause.keyword);
3647 }
3648
3649 void test_parseImportDirective_deferred() {
3650 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' deferred as a;");
3651 JUnitTestCase.assertNotNull(directive.keyword);
3652 JUnitTestCase.assertNotNull(directive.uri);
3653 JUnitTestCase.assertNotNull(directive.deferredToken);
3654 JUnitTestCase.assertNotNull(directive.asToken);
3655 JUnitTestCase.assertNotNull(directive.prefix);
3656 EngineTestCase.assertSizeOfList(0, directive.combinators);
3657 JUnitTestCase.assertNotNull(directive.semicolon);
3658 }
3659
3660 void test_parseImportDirective_hide() {
3661 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' hide A, B;");
3662 JUnitTestCase.assertNotNull(directive.keyword);
3663 JUnitTestCase.assertNotNull(directive.uri);
3664 JUnitTestCase.assertNull(directive.deferredToken);
3665 JUnitTestCase.assertNull(directive.asToken);
3666 JUnitTestCase.assertNull(directive.prefix);
3667 EngineTestCase.assertSizeOfList(1, directive.combinators);
3668 JUnitTestCase.assertNotNull(directive.semicolon);
3669 }
3670
3671 void test_parseImportDirective_noCombinator() {
3672 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart';");
3673 JUnitTestCase.assertNotNull(directive.keyword);
3674 JUnitTestCase.assertNotNull(directive.uri);
3675 JUnitTestCase.assertNull(directive.deferredToken);
3676 JUnitTestCase.assertNull(directive.asToken);
3677 JUnitTestCase.assertNull(directive.prefix);
3678 EngineTestCase.assertSizeOfList(0, directive.combinators);
3679 JUnitTestCase.assertNotNull(directive.semicolon);
3680 }
3681
3682 void test_parseImportDirective_prefix() {
3683 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' as a;");
3684 JUnitTestCase.assertNotNull(directive.keyword);
3685 JUnitTestCase.assertNotNull(directive.uri);
3686 JUnitTestCase.assertNull(directive.deferredToken);
3687 JUnitTestCase.assertNotNull(directive.asToken);
3688 JUnitTestCase.assertNotNull(directive.prefix);
3689 EngineTestCase.assertSizeOfList(0, directive.combinators);
3690 JUnitTestCase.assertNotNull(directive.semicolon);
3691 }
3692
3693 void test_parseImportDirective_prefix_hide_show() {
3694 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' as a hide A show B;");
3695 JUnitTestCase.assertNotNull(directive.keyword);
3696 JUnitTestCase.assertNotNull(directive.uri);
3697 JUnitTestCase.assertNull(directive.deferredToken);
3698 JUnitTestCase.assertNotNull(directive.asToken);
3699 JUnitTestCase.assertNotNull(directive.prefix);
3700 EngineTestCase.assertSizeOfList(2, directive.combinators);
3701 JUnitTestCase.assertNotNull(directive.semicolon);
3702 }
3703
3704 void test_parseImportDirective_prefix_show_hide() {
3705 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' as a show B hide A;");
3706 JUnitTestCase.assertNotNull(directive.keyword);
3707 JUnitTestCase.assertNotNull(directive.uri);
3708 JUnitTestCase.assertNull(directive.deferredToken);
3709 JUnitTestCase.assertNotNull(directive.asToken);
3710 JUnitTestCase.assertNotNull(directive.prefix);
3711 EngineTestCase.assertSizeOfList(2, directive.combinators);
3712 JUnitTestCase.assertNotNull(directive.semicolon);
3713 }
3714
3715 void test_parseImportDirective_show() {
3716 ImportDirective directive = ParserTestCase.parse("parseImportDirective", <Ob ject> [emptyCommentAndMetadata()], "import 'lib/lib.dart' show A, B;");
3717 JUnitTestCase.assertNotNull(directive.keyword);
3718 JUnitTestCase.assertNotNull(directive.uri);
3719 JUnitTestCase.assertNull(directive.deferredToken);
3720 JUnitTestCase.assertNull(directive.asToken);
3721 JUnitTestCase.assertNull(directive.prefix);
3722 EngineTestCase.assertSizeOfList(1, directive.combinators);
3723 JUnitTestCase.assertNotNull(directive.semicolon);
3724 }
3725
3726 void test_parseInitializedIdentifierList_type() {
3727 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
3728 Token staticKeyword = TokenFactory.tokenFromKeyword(Keyword.STATIC);
3729 TypeName type = new TypeName(new SimpleIdentifier(null), null);
3730 FieldDeclaration declaration = ParserTestCase.parse("parseInitializedIdentif ierList", <Object> [
3731 commentAndMetadata(comment, []),
3732 staticKeyword,
3733 null,
3734 type], "a = 1, b, c = 3;");
3735 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
3736 VariableDeclarationList fields = declaration.fields;
3737 JUnitTestCase.assertNotNull(fields);
3738 JUnitTestCase.assertNull(fields.keyword);
3739 JUnitTestCase.assertEquals(type, fields.type);
3740 EngineTestCase.assertSizeOfList(3, fields.variables);
3741 JUnitTestCase.assertEquals(staticKeyword, declaration.staticKeyword);
3742 JUnitTestCase.assertNotNull(declaration.semicolon);
3743 }
3744
3745 void test_parseInitializedIdentifierList_var() {
3746 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
3747 Token staticKeyword = TokenFactory.tokenFromKeyword(Keyword.STATIC);
3748 Token varKeyword = TokenFactory.tokenFromKeyword(Keyword.VAR);
3749 FieldDeclaration declaration = ParserTestCase.parse("parseInitializedIdentif ierList", <Object> [
3750 commentAndMetadata(comment, []),
3751 staticKeyword,
3752 varKeyword,
3753 null], "a = 1, b, c = 3;");
3754 JUnitTestCase.assertEquals(comment, declaration.documentationComment);
3755 VariableDeclarationList fields = declaration.fields;
3756 JUnitTestCase.assertNotNull(fields);
3757 JUnitTestCase.assertEquals(varKeyword, fields.keyword);
3758 JUnitTestCase.assertNull(fields.type);
3759 EngineTestCase.assertSizeOfList(3, fields.variables);
3760 JUnitTestCase.assertEquals(staticKeyword, declaration.staticKeyword);
3761 JUnitTestCase.assertNotNull(declaration.semicolon);
3762 }
3763
3764 void test_parseInstanceCreationExpression_qualifiedType() {
3765 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
3766 InstanceCreationExpression expression = ParserTestCase.parse("parseInstanceC reationExpression", <Object> [token], "A.B()");
3767 JUnitTestCase.assertEquals(token, expression.keyword);
3768 ConstructorName name = expression.constructorName;
3769 JUnitTestCase.assertNotNull(name);
3770 JUnitTestCase.assertNotNull(name.type);
3771 JUnitTestCase.assertNull(name.period);
3772 JUnitTestCase.assertNull(name.name);
3773 JUnitTestCase.assertNotNull(expression.argumentList);
3774 }
3775
3776 void test_parseInstanceCreationExpression_qualifiedType_named() {
3777 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
3778 InstanceCreationExpression expression = ParserTestCase.parse("parseInstanceC reationExpression", <Object> [token], "A.B.c()");
3779 JUnitTestCase.assertEquals(token, expression.keyword);
3780 ConstructorName name = expression.constructorName;
3781 JUnitTestCase.assertNotNull(name);
3782 JUnitTestCase.assertNotNull(name.type);
3783 JUnitTestCase.assertNotNull(name.period);
3784 JUnitTestCase.assertNotNull(name.name);
3785 JUnitTestCase.assertNotNull(expression.argumentList);
3786 }
3787
3788 void test_parseInstanceCreationExpression_type() {
3789 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
3790 InstanceCreationExpression expression = ParserTestCase.parse("parseInstanceC reationExpression", <Object> [token], "A()");
3791 JUnitTestCase.assertEquals(token, expression.keyword);
3792 ConstructorName name = expression.constructorName;
3793 JUnitTestCase.assertNotNull(name);
3794 JUnitTestCase.assertNotNull(name.type);
3795 JUnitTestCase.assertNull(name.period);
3796 JUnitTestCase.assertNull(name.name);
3797 JUnitTestCase.assertNotNull(expression.argumentList);
3798 }
3799
3800 void test_parseInstanceCreationExpression_type_named() {
3801 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
3802 InstanceCreationExpression expression = ParserTestCase.parse("parseInstanceC reationExpression", <Object> [token], "A<B>.c()");
3803 JUnitTestCase.assertEquals(token, expression.keyword);
3804 ConstructorName name = expression.constructorName;
3805 JUnitTestCase.assertNotNull(name);
3806 JUnitTestCase.assertNotNull(name.type);
3807 JUnitTestCase.assertNotNull(name.period);
3808 JUnitTestCase.assertNotNull(name.name);
3809 JUnitTestCase.assertNotNull(expression.argumentList);
3810 }
3811
3812 void test_parseLibraryDirective() {
3813 LibraryDirective directive = ParserTestCase.parse("parseLibraryDirective", < Object> [emptyCommentAndMetadata()], "library l;");
3814 JUnitTestCase.assertNotNull(directive.libraryToken);
3815 JUnitTestCase.assertNotNull(directive.name);
3816 JUnitTestCase.assertNotNull(directive.semicolon);
3817 }
3818
3819 void test_parseLibraryIdentifier_multiple() {
3820 String name = "a.b.c";
3821 LibraryIdentifier identifier = ParserTestCase.parse4("parseLibraryIdentifier ", name, []);
3822 JUnitTestCase.assertEquals(name, identifier.name);
3823 }
3824
3825 void test_parseLibraryIdentifier_single() {
3826 String name = "a";
3827 LibraryIdentifier identifier = ParserTestCase.parse4("parseLibraryIdentifier ", name, []);
3828 JUnitTestCase.assertEquals(name, identifier.name);
3829 }
3830
3831 void test_parseListLiteral_empty_oneToken() {
3832 Token token = TokenFactory.tokenFromKeyword(Keyword.CONST);
3833 TypeArgumentList typeArguments = null;
3834 ListLiteral literal = ParserTestCase.parse("parseListLiteral", <Object> [tok en, typeArguments], "[]");
3835 JUnitTestCase.assertEquals(token, literal.constKeyword);
3836 JUnitTestCase.assertEquals(typeArguments, literal.typeArguments);
3837 JUnitTestCase.assertNotNull(literal.leftBracket);
3838 EngineTestCase.assertSizeOfList(0, literal.elements);
3839 JUnitTestCase.assertNotNull(literal.rightBracket);
3840 }
3841
3842 void test_parseListLiteral_empty_twoTokens() {
3843 Token token = TokenFactory.tokenFromKeyword(Keyword.CONST);
3844 TypeArgumentList typeArguments = null;
3845 ListLiteral literal = ParserTestCase.parse("parseListLiteral", <Object> [tok en, typeArguments], "[ ]");
3846 JUnitTestCase.assertEquals(token, literal.constKeyword);
3847 JUnitTestCase.assertEquals(typeArguments, literal.typeArguments);
3848 JUnitTestCase.assertNotNull(literal.leftBracket);
3849 EngineTestCase.assertSizeOfList(0, literal.elements);
3850 JUnitTestCase.assertNotNull(literal.rightBracket);
3851 }
3852
3853 void test_parseListLiteral_multiple() {
3854 ListLiteral literal = ParserTestCase.parse("parseListLiteral", <Object> [nul l, null], "[1, 2, 3]");
3855 JUnitTestCase.assertNull(literal.constKeyword);
3856 JUnitTestCase.assertNull(literal.typeArguments);
3857 JUnitTestCase.assertNotNull(literal.leftBracket);
3858 EngineTestCase.assertSizeOfList(3, literal.elements);
3859 JUnitTestCase.assertNotNull(literal.rightBracket);
3860 }
3861
3862 void test_parseListLiteral_single() {
3863 ListLiteral literal = ParserTestCase.parse("parseListLiteral", <Object> [nul l, null], "[1]");
3864 JUnitTestCase.assertNull(literal.constKeyword);
3865 JUnitTestCase.assertNull(literal.typeArguments);
3866 JUnitTestCase.assertNotNull(literal.leftBracket);
3867 EngineTestCase.assertSizeOfList(1, literal.elements);
3868 JUnitTestCase.assertNotNull(literal.rightBracket);
3869 }
3870
3871 void test_parseListOrMapLiteral_list_noType() {
3872 ListLiteral literal = ParserTestCase.parse("parseListOrMapLiteral", <Object> [null], "[1]");
3873 JUnitTestCase.assertNull(literal.constKeyword);
3874 JUnitTestCase.assertNull(literal.typeArguments);
3875 JUnitTestCase.assertNotNull(literal.leftBracket);
3876 EngineTestCase.assertSizeOfList(1, literal.elements);
3877 JUnitTestCase.assertNotNull(literal.rightBracket);
3878 }
3879
3880 void test_parseListOrMapLiteral_list_type() {
3881 ListLiteral literal = ParserTestCase.parse("parseListOrMapLiteral", <Object> [null], "<int> [1]");
3882 JUnitTestCase.assertNull(literal.constKeyword);
3883 JUnitTestCase.assertNotNull(literal.typeArguments);
3884 JUnitTestCase.assertNotNull(literal.leftBracket);
3885 EngineTestCase.assertSizeOfList(1, literal.elements);
3886 JUnitTestCase.assertNotNull(literal.rightBracket);
3887 }
3888
3889 void test_parseListOrMapLiteral_map_noType() {
3890 MapLiteral literal = ParserTestCase.parse("parseListOrMapLiteral", <Object> [null], "{'1' : 1}");
3891 JUnitTestCase.assertNull(literal.constKeyword);
3892 JUnitTestCase.assertNull(literal.typeArguments);
3893 JUnitTestCase.assertNotNull(literal.leftBracket);
3894 EngineTestCase.assertSizeOfList(1, literal.entries);
3895 JUnitTestCase.assertNotNull(literal.rightBracket);
3896 }
3897
3898 void test_parseListOrMapLiteral_map_type() {
3899 MapLiteral literal = ParserTestCase.parse("parseListOrMapLiteral", <Object> [null], "<String, int> {'1' : 1}");
3900 JUnitTestCase.assertNull(literal.constKeyword);
3901 JUnitTestCase.assertNotNull(literal.typeArguments);
3902 JUnitTestCase.assertNotNull(literal.leftBracket);
3903 EngineTestCase.assertSizeOfList(1, literal.entries);
3904 JUnitTestCase.assertNotNull(literal.rightBracket);
3905 }
3906
3907 void test_parseLogicalAndExpression() {
3908 BinaryExpression expression = ParserTestCase.parse4("parseLogicalAndExpressi on", "x && y", []);
3909 JUnitTestCase.assertNotNull(expression.leftOperand);
3910 JUnitTestCase.assertNotNull(expression.operator);
3911 JUnitTestCase.assertEquals(TokenType.AMPERSAND_AMPERSAND, expression.operato r.type);
3912 JUnitTestCase.assertNotNull(expression.rightOperand);
3913 }
3914
3915 void test_parseLogicalOrExpression() {
3916 BinaryExpression expression = ParserTestCase.parse4("parseLogicalOrExpressio n", "x || y", []);
3917 JUnitTestCase.assertNotNull(expression.leftOperand);
3918 JUnitTestCase.assertNotNull(expression.operator);
3919 JUnitTestCase.assertEquals(TokenType.BAR_BAR, expression.operator.type);
3920 JUnitTestCase.assertNotNull(expression.rightOperand);
3921 }
3922
3923 void test_parseMapLiteral_empty() {
3924 Token token = TokenFactory.tokenFromKeyword(Keyword.CONST);
3925 TypeArgumentList typeArguments = AstFactory.typeArgumentList([
3926 AstFactory.typeName4("String", []),
3927 AstFactory.typeName4("int", [])]);
3928 MapLiteral literal = ParserTestCase.parse("parseMapLiteral", <Object> [token , typeArguments], "{}");
3929 JUnitTestCase.assertEquals(token, literal.constKeyword);
3930 JUnitTestCase.assertEquals(typeArguments, literal.typeArguments);
3931 JUnitTestCase.assertNotNull(literal.leftBracket);
3932 EngineTestCase.assertSizeOfList(0, literal.entries);
3933 JUnitTestCase.assertNotNull(literal.rightBracket);
3934 }
3935
3936 void test_parseMapLiteral_multiple() {
3937 MapLiteral literal = ParserTestCase.parse("parseMapLiteral", <Object> [null, null], "{'a' : b, 'x' : y}");
3938 JUnitTestCase.assertNotNull(literal.leftBracket);
3939 EngineTestCase.assertSizeOfList(2, literal.entries);
3940 JUnitTestCase.assertNotNull(literal.rightBracket);
3941 }
3942
3943 void test_parseMapLiteral_single() {
3944 MapLiteral literal = ParserTestCase.parse("parseMapLiteral", <Object> [null, null], "{'x' : y}");
3945 JUnitTestCase.assertNotNull(literal.leftBracket);
3946 EngineTestCase.assertSizeOfList(1, literal.entries);
3947 JUnitTestCase.assertNotNull(literal.rightBracket);
3948 }
3949
3950 void test_parseMapLiteralEntry_complex() {
3951 MapLiteralEntry entry = ParserTestCase.parse4("parseMapLiteralEntry", "2 + 2 : y", []);
3952 JUnitTestCase.assertNotNull(entry.key);
3953 JUnitTestCase.assertNotNull(entry.separator);
3954 JUnitTestCase.assertNotNull(entry.value);
3955 }
3956
3957 void test_parseMapLiteralEntry_int() {
3958 MapLiteralEntry entry = ParserTestCase.parse4("parseMapLiteralEntry", "0 : y ", []);
3959 JUnitTestCase.assertNotNull(entry.key);
3960 JUnitTestCase.assertNotNull(entry.separator);
3961 JUnitTestCase.assertNotNull(entry.value);
3962 }
3963
3964 void test_parseMapLiteralEntry_string() {
3965 MapLiteralEntry entry = ParserTestCase.parse4("parseMapLiteralEntry", "'x' : y", []);
3966 JUnitTestCase.assertNotNull(entry.key);
3967 JUnitTestCase.assertNotNull(entry.separator);
3968 JUnitTestCase.assertNotNull(entry.value);
3969 }
3970
3971 void test_parseModifiers_abstract() {
3972 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "abstract A", []);
3973 JUnitTestCase.assertNotNull(modifiers.abstractKeyword);
3974 }
3975
3976 void test_parseModifiers_const() {
3977 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "const A", []) ;
3978 JUnitTestCase.assertNotNull(modifiers.constKeyword);
3979 }
3980
3981 void test_parseModifiers_external() {
3982 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "external A", []);
3983 JUnitTestCase.assertNotNull(modifiers.externalKeyword);
3984 }
3985
3986 void test_parseModifiers_factory() {
3987 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "factory A", [ ]);
3988 JUnitTestCase.assertNotNull(modifiers.factoryKeyword);
3989 }
3990
3991 void test_parseModifiers_final() {
3992 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "final A", []) ;
3993 JUnitTestCase.assertNotNull(modifiers.finalKeyword);
3994 }
3995
3996 void test_parseModifiers_static() {
3997 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "static A", [] );
3998 JUnitTestCase.assertNotNull(modifiers.staticKeyword);
3999 }
4000
4001 void test_parseModifiers_var() {
4002 Modifiers modifiers = ParserTestCase.parse4("parseModifiers", "var A", []);
4003 JUnitTestCase.assertNotNull(modifiers.varKeyword);
4004 }
4005
4006 void test_parseMultiplicativeExpression_normal() {
4007 BinaryExpression expression = ParserTestCase.parse4("parseMultiplicativeExpr ession", "x * y", []);
4008 JUnitTestCase.assertNotNull(expression.leftOperand);
4009 JUnitTestCase.assertNotNull(expression.operator);
4010 JUnitTestCase.assertEquals(TokenType.STAR, expression.operator.type);
4011 JUnitTestCase.assertNotNull(expression.rightOperand);
4012 }
4013
4014 void test_parseMultiplicativeExpression_super() {
4015 BinaryExpression expression = ParserTestCase.parse4("parseMultiplicativeExpr ession", "super * y", []);
4016 EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression, SuperExpres sion, expression.leftOperand);
4017 JUnitTestCase.assertNotNull(expression.operator);
4018 JUnitTestCase.assertEquals(TokenType.STAR, expression.operator.type);
4019 JUnitTestCase.assertNotNull(expression.rightOperand);
4020 }
4021
4022 void test_parseNewExpression() {
4023 InstanceCreationExpression expression = ParserTestCase.parse4("parseNewExpre ssion", "new A()", []);
4024 JUnitTestCase.assertNotNull(expression.keyword);
4025 ConstructorName name = expression.constructorName;
4026 JUnitTestCase.assertNotNull(name);
4027 JUnitTestCase.assertNotNull(name.type);
4028 JUnitTestCase.assertNull(name.period);
4029 JUnitTestCase.assertNull(name.name);
4030 JUnitTestCase.assertNotNull(expression.argumentList);
4031 }
4032
4033 void test_parseNonLabeledStatement_const_list_empty() {
4034 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const [];", []);
4035 JUnitTestCase.assertNotNull(statement.expression);
4036 }
4037
4038 void test_parseNonLabeledStatement_const_list_nonEmpty() {
4039 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const [1, 2];", []);
4040 JUnitTestCase.assertNotNull(statement.expression);
4041 }
4042
4043 void test_parseNonLabeledStatement_const_map_empty() {
4044 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const {};", []);
4045 JUnitTestCase.assertNotNull(statement.expression);
4046 }
4047
4048 void test_parseNonLabeledStatement_const_map_nonEmpty() {
4049 // TODO(brianwilkerson) Implement more tests for this method.
4050 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const {'a' : 1};", []);
4051 JUnitTestCase.assertNotNull(statement.expression);
4052 }
4053
4054 void test_parseNonLabeledStatement_const_object() {
4055 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const A();", []);
4056 JUnitTestCase.assertNotNull(statement.expression);
4057 }
4058
4059 void test_parseNonLabeledStatement_const_object_named_typeParameters() {
4060 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "const A<B>.c();", []);
4061 JUnitTestCase.assertNotNull(statement.expression);
4062 }
4063
4064 void test_parseNonLabeledStatement_constructorInvocation() {
4065 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "new C().m();", []);
4066 JUnitTestCase.assertNotNull(statement.expression);
4067 }
4068
4069 void test_parseNonLabeledStatement_false() {
4070 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "false;", []);
4071 JUnitTestCase.assertNotNull(statement.expression);
4072 }
4073
4074 void test_parseNonLabeledStatement_functionDeclaration() {
4075 ParserTestCase.parse4("parseNonLabeledStatement", "f() {};", []);
4076 }
4077
4078 void test_parseNonLabeledStatement_functionDeclaration_arguments() {
4079 ParserTestCase.parse4("parseNonLabeledStatement", "f(void g()) {};", []);
4080 }
4081
4082 void test_parseNonLabeledStatement_functionExpressionIndex() {
4083 ParserTestCase.parse4("parseNonLabeledStatement", "() {}[0] = null;", []);
4084 }
4085
4086 void test_parseNonLabeledStatement_functionInvocation() {
4087 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "f();", []);
4088 JUnitTestCase.assertNotNull(statement.expression);
4089 }
4090
4091 void test_parseNonLabeledStatement_invokeFunctionExpression() {
4092 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "(a) {return a + a;} (3);", []);
4093 EngineTestCase.assertInstanceOf((obj) => obj is FunctionExpressionInvocation , FunctionExpressionInvocation, statement.expression);
4094 FunctionExpressionInvocation invocation = statement.expression as FunctionEx pressionInvocation;
4095 EngineTestCase.assertInstanceOf((obj) => obj is FunctionExpression, Function Expression, invocation.function);
4096 FunctionExpression expression = invocation.function as FunctionExpression;
4097 JUnitTestCase.assertNotNull(expression.parameters);
4098 JUnitTestCase.assertNotNull(expression.body);
4099 ArgumentList list = invocation.argumentList;
4100 JUnitTestCase.assertNotNull(list);
4101 EngineTestCase.assertSizeOfList(1, list.arguments);
4102 }
4103
4104 void test_parseNonLabeledStatement_null() {
4105 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "null;", []);
4106 JUnitTestCase.assertNotNull(statement.expression);
4107 }
4108
4109 void test_parseNonLabeledStatement_startingWithBuiltInIdentifier() {
4110 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "library.getName();", []);
4111 JUnitTestCase.assertNotNull(statement.expression);
4112 }
4113
4114 void test_parseNonLabeledStatement_true() {
4115 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "true;", []);
4116 JUnitTestCase.assertNotNull(statement.expression);
4117 }
4118
4119 void test_parseNonLabeledStatement_typeCast() {
4120 ExpressionStatement statement = ParserTestCase.parse4("parseNonLabeledStatem ent", "double.NAN as num;", []);
4121 JUnitTestCase.assertNotNull(statement.expression);
4122 }
4123
4124 void test_parseNormalFormalParameter_field_const_noType() {
4125 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "const this.a)", []);
4126 JUnitTestCase.assertNotNull(parameter.keyword);
4127 JUnitTestCase.assertNull(parameter.type);
4128 JUnitTestCase.assertNotNull(parameter.identifier);
4129 JUnitTestCase.assertNull(parameter.parameters);
4130 }
4131
4132 void test_parseNormalFormalParameter_field_const_type() {
4133 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "const A this.a)", []);
4134 JUnitTestCase.assertNotNull(parameter.keyword);
4135 JUnitTestCase.assertNotNull(parameter.type);
4136 JUnitTestCase.assertNotNull(parameter.identifier);
4137 JUnitTestCase.assertNull(parameter.parameters);
4138 }
4139
4140 void test_parseNormalFormalParameter_field_final_noType() {
4141 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "final this.a)", []);
4142 JUnitTestCase.assertNotNull(parameter.keyword);
4143 JUnitTestCase.assertNull(parameter.type);
4144 JUnitTestCase.assertNotNull(parameter.identifier);
4145 JUnitTestCase.assertNull(parameter.parameters);
4146 }
4147
4148 void test_parseNormalFormalParameter_field_final_type() {
4149 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "final A this.a)", []);
4150 JUnitTestCase.assertNotNull(parameter.keyword);
4151 JUnitTestCase.assertNotNull(parameter.type);
4152 JUnitTestCase.assertNotNull(parameter.identifier);
4153 JUnitTestCase.assertNull(parameter.parameters);
4154 }
4155
4156 void test_parseNormalFormalParameter_field_function_nested() {
4157 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "this.a(B b))", []);
4158 JUnitTestCase.assertNull(parameter.keyword);
4159 JUnitTestCase.assertNull(parameter.type);
4160 JUnitTestCase.assertNotNull(parameter.identifier);
4161 FormalParameterList parameterList = parameter.parameters;
4162 JUnitTestCase.assertNotNull(parameterList);
4163 EngineTestCase.assertSizeOfList(1, parameterList.parameters);
4164 }
4165
4166 void test_parseNormalFormalParameter_field_function_noNested() {
4167 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "this.a())", []);
4168 JUnitTestCase.assertNull(parameter.keyword);
4169 JUnitTestCase.assertNull(parameter.type);
4170 JUnitTestCase.assertNotNull(parameter.identifier);
4171 FormalParameterList parameterList = parameter.parameters;
4172 JUnitTestCase.assertNotNull(parameterList);
4173 EngineTestCase.assertSizeOfList(0, parameterList.parameters);
4174 }
4175
4176 void test_parseNormalFormalParameter_field_noType() {
4177 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "this.a)", []);
4178 JUnitTestCase.assertNull(parameter.keyword);
4179 JUnitTestCase.assertNull(parameter.type);
4180 JUnitTestCase.assertNotNull(parameter.identifier);
4181 JUnitTestCase.assertNull(parameter.parameters);
4182 }
4183
4184 void test_parseNormalFormalParameter_field_type() {
4185 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "A this.a)", []);
4186 JUnitTestCase.assertNull(parameter.keyword);
4187 JUnitTestCase.assertNotNull(parameter.type);
4188 JUnitTestCase.assertNotNull(parameter.identifier);
4189 JUnitTestCase.assertNull(parameter.parameters);
4190 }
4191
4192 void test_parseNormalFormalParameter_field_var() {
4193 FieldFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPar ameter", "var this.a)", []);
4194 JUnitTestCase.assertNotNull(parameter.keyword);
4195 JUnitTestCase.assertNull(parameter.type);
4196 JUnitTestCase.assertNotNull(parameter.identifier);
4197 JUnitTestCase.assertNull(parameter.parameters);
4198 }
4199
4200 void test_parseNormalFormalParameter_function_noType() {
4201 FunctionTypedFormalParameter parameter = ParserTestCase.parse4("parseNormalF ormalParameter", "a())", []);
4202 JUnitTestCase.assertNull(parameter.returnType);
4203 JUnitTestCase.assertNotNull(parameter.identifier);
4204 JUnitTestCase.assertNotNull(parameter.parameters);
4205 }
4206
4207 void test_parseNormalFormalParameter_function_type() {
4208 FunctionTypedFormalParameter parameter = ParserTestCase.parse4("parseNormalF ormalParameter", "A a())", []);
4209 JUnitTestCase.assertNotNull(parameter.returnType);
4210 JUnitTestCase.assertNotNull(parameter.identifier);
4211 JUnitTestCase.assertNotNull(parameter.parameters);
4212 }
4213
4214 void test_parseNormalFormalParameter_function_void() {
4215 FunctionTypedFormalParameter parameter = ParserTestCase.parse4("parseNormalF ormalParameter", "void a())", []);
4216 JUnitTestCase.assertNotNull(parameter.returnType);
4217 JUnitTestCase.assertNotNull(parameter.identifier);
4218 JUnitTestCase.assertNotNull(parameter.parameters);
4219 }
4220
4221 void test_parseNormalFormalParameter_simple_const_noType() {
4222 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "const a)", []);
4223 JUnitTestCase.assertNotNull(parameter.keyword);
4224 JUnitTestCase.assertNull(parameter.type);
4225 JUnitTestCase.assertNotNull(parameter.identifier);
4226 }
4227
4228 void test_parseNormalFormalParameter_simple_const_type() {
4229 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "const A a)", []);
4230 JUnitTestCase.assertNotNull(parameter.keyword);
4231 JUnitTestCase.assertNotNull(parameter.type);
4232 JUnitTestCase.assertNotNull(parameter.identifier);
4233 }
4234
4235 void test_parseNormalFormalParameter_simple_final_noType() {
4236 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "final a)", []);
4237 JUnitTestCase.assertNotNull(parameter.keyword);
4238 JUnitTestCase.assertNull(parameter.type);
4239 JUnitTestCase.assertNotNull(parameter.identifier);
4240 }
4241
4242 void test_parseNormalFormalParameter_simple_final_type() {
4243 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "final A a)", []);
4244 JUnitTestCase.assertNotNull(parameter.keyword);
4245 JUnitTestCase.assertNotNull(parameter.type);
4246 JUnitTestCase.assertNotNull(parameter.identifier);
4247 }
4248
4249 void test_parseNormalFormalParameter_simple_noType() {
4250 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "a)", []);
4251 JUnitTestCase.assertNull(parameter.keyword);
4252 JUnitTestCase.assertNull(parameter.type);
4253 JUnitTestCase.assertNotNull(parameter.identifier);
4254 }
4255
4256 void test_parseNormalFormalParameter_simple_type() {
4257 SimpleFormalParameter parameter = ParserTestCase.parse4("parseNormalFormalPa rameter", "A a)", []);
4258 JUnitTestCase.assertNull(parameter.keyword);
4259 JUnitTestCase.assertNotNull(parameter.type);
4260 JUnitTestCase.assertNotNull(parameter.identifier);
4261 }
4262
4263 void test_parseOperator() {
4264 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
4265 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
4266 MethodDeclaration method = ParserTestCase.parse("parseOperator", <Object> [c ommentAndMetadata(comment, []), null, returnType], "operator +(A a);");
4267 JUnitTestCase.assertNotNull(method.body);
4268 JUnitTestCase.assertEquals(comment, method.documentationComment);
4269 JUnitTestCase.assertNull(method.externalKeyword);
4270 JUnitTestCase.assertNull(method.modifierKeyword);
4271 JUnitTestCase.assertNotNull(method.name);
4272 JUnitTestCase.assertNotNull(method.operatorKeyword);
4273 JUnitTestCase.assertNotNull(method.parameters);
4274 JUnitTestCase.assertNull(method.propertyKeyword);
4275 JUnitTestCase.assertEquals(returnType, method.returnType);
4276 }
4277
4278 void test_parseOptionalReturnType() {
4279 }
4280
4281 void test_parsePartDirective_part() {
4282 PartDirective directive = ParserTestCase.parse("parsePartDirective", <Object > [emptyCommentAndMetadata()], "part 'lib/lib.dart';");
4283 JUnitTestCase.assertNotNull(directive.partToken);
4284 JUnitTestCase.assertNotNull(directive.uri);
4285 JUnitTestCase.assertNotNull(directive.semicolon);
4286 }
4287
4288 void test_parsePartDirective_partOf() {
4289 PartOfDirective directive = ParserTestCase.parse("parsePartDirective", <Obje ct> [emptyCommentAndMetadata()], "part of l;");
4290 JUnitTestCase.assertNotNull(directive.partToken);
4291 JUnitTestCase.assertNotNull(directive.ofToken);
4292 JUnitTestCase.assertNotNull(directive.libraryName);
4293 JUnitTestCase.assertNotNull(directive.semicolon);
4294 }
4295
4296 void test_parsePostfixExpression_decrement() {
4297 PostfixExpression expression = ParserTestCase.parse4("parsePostfixExpression ", "i--", []);
4298 JUnitTestCase.assertNotNull(expression.operand);
4299 JUnitTestCase.assertNotNull(expression.operator);
4300 JUnitTestCase.assertEquals(TokenType.MINUS_MINUS, expression.operator.type);
4301 }
4302
4303 void test_parsePostfixExpression_increment() {
4304 PostfixExpression expression = ParserTestCase.parse4("parsePostfixExpression ", "i++", []);
4305 JUnitTestCase.assertNotNull(expression.operand);
4306 JUnitTestCase.assertNotNull(expression.operator);
4307 JUnitTestCase.assertEquals(TokenType.PLUS_PLUS, expression.operator.type);
4308 }
4309
4310 void test_parsePostfixExpression_none_indexExpression() {
4311 IndexExpression expression = ParserTestCase.parse4("parsePostfixExpression", "a[0]", []);
4312 JUnitTestCase.assertNotNull(expression.target);
4313 JUnitTestCase.assertNotNull(expression.index);
4314 }
4315
4316 void test_parsePostfixExpression_none_methodInvocation() {
4317 MethodInvocation expression = ParserTestCase.parse4("parsePostfixExpression" , "a.m()", []);
4318 JUnitTestCase.assertNotNull(expression.target);
4319 JUnitTestCase.assertNotNull(expression.methodName);
4320 JUnitTestCase.assertNotNull(expression.argumentList);
4321 }
4322
4323 void test_parsePostfixExpression_none_propertyAccess() {
4324 PrefixedIdentifier expression = ParserTestCase.parse4("parsePostfixExpressio n", "a.b", []);
4325 JUnitTestCase.assertNotNull(expression.prefix);
4326 JUnitTestCase.assertNotNull(expression.identifier);
4327 }
4328
4329 void test_parsePrefixedIdentifier_noPrefix() {
4330 String lexeme = "bar";
4331 SimpleIdentifier identifier = ParserTestCase.parse4("parsePrefixedIdentifier ", lexeme, []);
4332 JUnitTestCase.assertNotNull(identifier.token);
4333 JUnitTestCase.assertEquals(lexeme, identifier.name);
4334 }
4335
4336 void test_parsePrefixedIdentifier_prefix() {
4337 String lexeme = "foo.bar";
4338 PrefixedIdentifier identifier = ParserTestCase.parse4("parsePrefixedIdentifi er", lexeme, []);
4339 JUnitTestCase.assertEquals("foo", identifier.prefix.name);
4340 JUnitTestCase.assertNotNull(identifier.period);
4341 JUnitTestCase.assertEquals("bar", identifier.identifier.name);
4342 }
4343
4344 void test_parsePrimaryExpression_const() {
4345 InstanceCreationExpression expression = ParserTestCase.parse4("parsePrimaryE xpression", "const A()", []);
4346 JUnitTestCase.assertNotNull(expression);
4347 }
4348
4349 void test_parsePrimaryExpression_double() {
4350 String doubleLiteral = "3.2e4";
4351 DoubleLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", doub leLiteral, []);
4352 JUnitTestCase.assertNotNull(literal.literal);
4353 JUnitTestCase.assertEquals(double.parse(doubleLiteral), literal.value);
4354 }
4355
4356 void test_parsePrimaryExpression_false() {
4357 BooleanLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "fa lse", []);
4358 JUnitTestCase.assertNotNull(literal.literal);
4359 JUnitTestCase.assertFalse(literal.value);
4360 }
4361
4362 void test_parsePrimaryExpression_function_arguments() {
4363 FunctionExpression expression = ParserTestCase.parse4("parsePrimaryExpressio n", "(int i) => i + 1", []);
4364 JUnitTestCase.assertNotNull(expression.parameters);
4365 JUnitTestCase.assertNotNull(expression.body);
4366 }
4367
4368 void test_parsePrimaryExpression_function_noArguments() {
4369 FunctionExpression expression = ParserTestCase.parse4("parsePrimaryExpressio n", "() => 42", []);
4370 JUnitTestCase.assertNotNull(expression.parameters);
4371 JUnitTestCase.assertNotNull(expression.body);
4372 }
4373
4374 void test_parsePrimaryExpression_hex() {
4375 String hexLiteral = "3F";
4376 IntegerLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "0x ${hexLiteral}", []);
4377 JUnitTestCase.assertNotNull(literal.literal);
4378 JUnitTestCase.assertEquals(int.parse(hexLiteral, radix: 16), literal.value);
4379 }
4380
4381 void test_parsePrimaryExpression_identifier() {
4382 SimpleIdentifier identifier = ParserTestCase.parse4("parsePrimaryExpression" , "a", []);
4383 JUnitTestCase.assertNotNull(identifier);
4384 }
4385
4386 void test_parsePrimaryExpression_int() {
4387 String intLiteral = "472";
4388 IntegerLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", int Literal, []);
4389 JUnitTestCase.assertNotNull(literal.literal);
4390 JUnitTestCase.assertEquals(int.parse(intLiteral), literal.value);
4391 }
4392
4393 void test_parsePrimaryExpression_listLiteral() {
4394 ListLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "[ ]", []);
4395 JUnitTestCase.assertNotNull(literal);
4396 }
4397
4398 void test_parsePrimaryExpression_listLiteral_index() {
4399 ListLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "[]", []);
4400 JUnitTestCase.assertNotNull(literal);
4401 }
4402
4403 void test_parsePrimaryExpression_listLiteral_typed() {
4404 ListLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "<A>[ ]", []);
4405 JUnitTestCase.assertNotNull(literal.typeArguments);
4406 EngineTestCase.assertSizeOfList(1, literal.typeArguments.arguments);
4407 }
4408
4409 void test_parsePrimaryExpression_mapLiteral() {
4410 MapLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "{}", [ ]);
4411 JUnitTestCase.assertNotNull(literal);
4412 }
4413
4414 void test_parsePrimaryExpression_mapLiteral_typed() {
4415 MapLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "<A, B> {}", []);
4416 JUnitTestCase.assertNotNull(literal.typeArguments);
4417 EngineTestCase.assertSizeOfList(2, literal.typeArguments.arguments);
4418 }
4419
4420 void test_parsePrimaryExpression_new() {
4421 InstanceCreationExpression expression = ParserTestCase.parse4("parsePrimaryE xpression", "new A()", []);
4422 JUnitTestCase.assertNotNull(expression);
4423 }
4424
4425 void test_parsePrimaryExpression_null() {
4426 NullLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "null" , []);
4427 JUnitTestCase.assertNotNull(literal.literal);
4428 }
4429
4430 void test_parsePrimaryExpression_parenthesized() {
4431 ParenthesizedExpression expression = ParserTestCase.parse4("parsePrimaryExpr ession", "(x)", []);
4432 JUnitTestCase.assertNotNull(expression);
4433 }
4434
4435 void test_parsePrimaryExpression_string() {
4436 SimpleStringLiteral literal = ParserTestCase.parse4("parsePrimaryExpression" , "\"string\"", []);
4437 JUnitTestCase.assertFalse(literal.isMultiline);
4438 JUnitTestCase.assertFalse(literal.isRaw);
4439 JUnitTestCase.assertEquals("string", literal.value);
4440 }
4441
4442 void test_parsePrimaryExpression_string_multiline() {
4443 SimpleStringLiteral literal = ParserTestCase.parse4("parsePrimaryExpression" , "'''string'''", []);
4444 JUnitTestCase.assertTrue(literal.isMultiline);
4445 JUnitTestCase.assertFalse(literal.isRaw);
4446 JUnitTestCase.assertEquals("string", literal.value);
4447 }
4448
4449 void test_parsePrimaryExpression_string_raw() {
4450 SimpleStringLiteral literal = ParserTestCase.parse4("parsePrimaryExpression" , "r'string'", []);
4451 JUnitTestCase.assertFalse(literal.isMultiline);
4452 JUnitTestCase.assertTrue(literal.isRaw);
4453 JUnitTestCase.assertEquals("string", literal.value);
4454 }
4455
4456 void test_parsePrimaryExpression_super() {
4457 PropertyAccess propertyAccess = ParserTestCase.parse4("parsePrimaryExpressio n", "super.x", []);
4458 JUnitTestCase.assertTrue(propertyAccess.target is SuperExpression);
4459 JUnitTestCase.assertNotNull(propertyAccess.operator);
4460 JUnitTestCase.assertEquals(TokenType.PERIOD, propertyAccess.operator.type);
4461 JUnitTestCase.assertNotNull(propertyAccess.propertyName);
4462 }
4463
4464 void test_parsePrimaryExpression_this() {
4465 ThisExpression expression = ParserTestCase.parse4("parsePrimaryExpression", "this", []);
4466 JUnitTestCase.assertNotNull(expression.keyword);
4467 }
4468
4469 void test_parsePrimaryExpression_true() {
4470 BooleanLiteral literal = ParserTestCase.parse4("parsePrimaryExpression", "tr ue", []);
4471 JUnitTestCase.assertNotNull(literal.literal);
4472 JUnitTestCase.assertTrue(literal.value);
4473 }
4474
4475 void test_Parser() {
4476 JUnitTestCase.assertNotNull(new Parser(null, null));
4477 }
4478
4479 void test_parseRedirectingConstructorInvocation_named() {
4480 RedirectingConstructorInvocation invocation = ParserTestCase.parse4("parseRe directingConstructorInvocation", "this.a()", []);
4481 JUnitTestCase.assertNotNull(invocation.argumentList);
4482 JUnitTestCase.assertNotNull(invocation.constructorName);
4483 JUnitTestCase.assertNotNull(invocation.keyword);
4484 JUnitTestCase.assertNotNull(invocation.period);
4485 }
4486
4487 void test_parseRedirectingConstructorInvocation_unnamed() {
4488 RedirectingConstructorInvocation invocation = ParserTestCase.parse4("parseRe directingConstructorInvocation", "this()", []);
4489 JUnitTestCase.assertNotNull(invocation.argumentList);
4490 JUnitTestCase.assertNull(invocation.constructorName);
4491 JUnitTestCase.assertNotNull(invocation.keyword);
4492 JUnitTestCase.assertNull(invocation.period);
4493 }
4494
4495 void test_parseRelationalExpression_as() {
4496 AsExpression expression = ParserTestCase.parse4("parseRelationalExpression", "x as Y", []);
4497 JUnitTestCase.assertNotNull(expression.expression);
4498 JUnitTestCase.assertNotNull(expression.asOperator);
4499 JUnitTestCase.assertNotNull(expression.type);
4500 }
4501
4502 void test_parseRelationalExpression_is() {
4503 IsExpression expression = ParserTestCase.parse4("parseRelationalExpression", "x is y", []);
4504 JUnitTestCase.assertNotNull(expression.expression);
4505 JUnitTestCase.assertNotNull(expression.isOperator);
4506 JUnitTestCase.assertNull(expression.notOperator);
4507 JUnitTestCase.assertNotNull(expression.type);
4508 }
4509
4510 void test_parseRelationalExpression_isNot() {
4511 IsExpression expression = ParserTestCase.parse4("parseRelationalExpression", "x is! y", []);
4512 JUnitTestCase.assertNotNull(expression.expression);
4513 JUnitTestCase.assertNotNull(expression.isOperator);
4514 JUnitTestCase.assertNotNull(expression.notOperator);
4515 JUnitTestCase.assertNotNull(expression.type);
4516 }
4517
4518 void test_parseRelationalExpression_normal() {
4519 BinaryExpression expression = ParserTestCase.parse4("parseRelationalExpressi on", "x < y", []);
4520 JUnitTestCase.assertNotNull(expression.leftOperand);
4521 JUnitTestCase.assertNotNull(expression.operator);
4522 JUnitTestCase.assertEquals(TokenType.LT, expression.operator.type);
4523 JUnitTestCase.assertNotNull(expression.rightOperand);
4524 }
4525
4526 void test_parseRelationalExpression_super() {
4527 BinaryExpression expression = ParserTestCase.parse4("parseRelationalExpressi on", "super < y", []);
4528 JUnitTestCase.assertNotNull(expression.leftOperand);
4529 JUnitTestCase.assertNotNull(expression.operator);
4530 JUnitTestCase.assertEquals(TokenType.LT, expression.operator.type);
4531 JUnitTestCase.assertNotNull(expression.rightOperand);
4532 }
4533
4534 void test_parseRethrowExpression() {
4535 RethrowExpression expression = ParserTestCase.parse4("parseRethrowExpression ", "rethrow;", []);
4536 JUnitTestCase.assertNotNull(expression.keyword);
4537 }
4538
4539 void test_parseReturnStatement_noValue() {
4540 ReturnStatement statement = ParserTestCase.parse4("parseReturnStatement", "r eturn;", []);
4541 JUnitTestCase.assertNotNull(statement.keyword);
4542 JUnitTestCase.assertNull(statement.expression);
4543 JUnitTestCase.assertNotNull(statement.semicolon);
4544 }
4545
4546 void test_parseReturnStatement_value() {
4547 ReturnStatement statement = ParserTestCase.parse4("parseReturnStatement", "r eturn x;", []);
4548 JUnitTestCase.assertNotNull(statement.keyword);
4549 JUnitTestCase.assertNotNull(statement.expression);
4550 JUnitTestCase.assertNotNull(statement.semicolon);
4551 }
4552
4553 void test_parseReturnType_nonVoid() {
4554 TypeName typeName = ParserTestCase.parse4("parseReturnType", "A<B>", []);
4555 JUnitTestCase.assertNotNull(typeName.name);
4556 JUnitTestCase.assertNotNull(typeName.typeArguments);
4557 }
4558
4559 void test_parseReturnType_void() {
4560 TypeName typeName = ParserTestCase.parse4("parseReturnType", "void", []);
4561 JUnitTestCase.assertNotNull(typeName.name);
4562 JUnitTestCase.assertNull(typeName.typeArguments);
4563 }
4564
4565 void test_parseSetter_nonStatic() {
4566 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
4567 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
4568 MethodDeclaration method = ParserTestCase.parse("parseSetter", <Object> [com mentAndMetadata(comment, []), null, null, returnType], "set a(var x);");
4569 JUnitTestCase.assertNotNull(method.body);
4570 JUnitTestCase.assertEquals(comment, method.documentationComment);
4571 JUnitTestCase.assertNull(method.externalKeyword);
4572 JUnitTestCase.assertNull(method.modifierKeyword);
4573 JUnitTestCase.assertNotNull(method.name);
4574 JUnitTestCase.assertNull(method.operatorKeyword);
4575 JUnitTestCase.assertNotNull(method.parameters);
4576 JUnitTestCase.assertNotNull(method.propertyKeyword);
4577 JUnitTestCase.assertEquals(returnType, method.returnType);
4578 }
4579
4580 void test_parseSetter_static() {
4581 Comment comment = Comment.createDocumentationComment(new List<Token>(0));
4582 Token staticKeyword = TokenFactory.tokenFromKeyword(Keyword.STATIC);
4583 TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
4584 MethodDeclaration method = ParserTestCase.parse("parseSetter", <Object> [
4585 commentAndMetadata(comment, []),
4586 null,
4587 staticKeyword,
4588 returnType], "set a(var x) {}");
4589 JUnitTestCase.assertNotNull(method.body);
4590 JUnitTestCase.assertEquals(comment, method.documentationComment);
4591 JUnitTestCase.assertNull(method.externalKeyword);
4592 JUnitTestCase.assertEquals(staticKeyword, method.modifierKeyword);
4593 JUnitTestCase.assertNotNull(method.name);
4594 JUnitTestCase.assertNull(method.operatorKeyword);
4595 JUnitTestCase.assertNotNull(method.parameters);
4596 JUnitTestCase.assertNotNull(method.propertyKeyword);
4597 JUnitTestCase.assertEquals(returnType, method.returnType);
4598 }
4599
4600 void test_parseShiftExpression_normal() {
4601 BinaryExpression expression = ParserTestCase.parse4("parseShiftExpression", "x << y", []);
4602 JUnitTestCase.assertNotNull(expression.leftOperand);
4603 JUnitTestCase.assertNotNull(expression.operator);
4604 JUnitTestCase.assertEquals(TokenType.LT_LT, expression.operator.type);
4605 JUnitTestCase.assertNotNull(expression.rightOperand);
4606 }
4607
4608 void test_parseShiftExpression_super() {
4609 BinaryExpression expression = ParserTestCase.parse4("parseShiftExpression", "super << y", []);
4610 JUnitTestCase.assertNotNull(expression.leftOperand);
4611 JUnitTestCase.assertNotNull(expression.operator);
4612 JUnitTestCase.assertEquals(TokenType.LT_LT, expression.operator.type);
4613 JUnitTestCase.assertNotNull(expression.rightOperand);
4614 }
4615
4616 void test_parseSimpleIdentifier_builtInIdentifier() {
4617 String lexeme = "as";
4618 SimpleIdentifier identifier = ParserTestCase.parse4("parseSimpleIdentifier", lexeme, []);
4619 JUnitTestCase.assertNotNull(identifier.token);
4620 JUnitTestCase.assertEquals(lexeme, identifier.name);
4621 }
4622
4623 void test_parseSimpleIdentifier_normalIdentifier() {
4624 String lexeme = "foo";
4625 SimpleIdentifier identifier = ParserTestCase.parse4("parseSimpleIdentifier", lexeme, []);
4626 JUnitTestCase.assertNotNull(identifier.token);
4627 JUnitTestCase.assertEquals(lexeme, identifier.name);
4628 }
4629
4630 void test_parseSimpleIdentifier1_normalIdentifier() {
4631 }
4632
4633 void test_parseStatement_functionDeclaration() {
4634 // TODO(brianwilkerson) Implement more tests for this method.
4635 FunctionDeclarationStatement statement = ParserTestCase.parse4("parseStateme nt", "int f(a, b) {};", []);
4636 JUnitTestCase.assertNotNull(statement.functionDeclaration);
4637 }
4638
4639 void test_parseStatement_mulipleLabels() {
4640 LabeledStatement statement = ParserTestCase.parse4("parseStatement", "l: m: return x;", []);
4641 EngineTestCase.assertSizeOfList(2, statement.labels);
4642 JUnitTestCase.assertNotNull(statement.statement);
4643 }
4644
4645 void test_parseStatement_noLabels() {
4646 ParserTestCase.parse4("parseStatement", "return x;", []);
4647 }
4648
4649 void test_parseStatement_singleLabel() {
4650 LabeledStatement statement = ParserTestCase.parse4("parseStatement", "l: ret urn x;", []);
4651 EngineTestCase.assertSizeOfList(1, statement.labels);
4652 JUnitTestCase.assertNotNull(statement.statement);
4653 }
4654
4655 void test_parseStatements_multiple() {
4656 List<Statement> statements = ParserTestCase.parseStatements("return; return; ", 2, []);
4657 EngineTestCase.assertSizeOfList(2, statements);
4658 }
4659
4660 void test_parseStatements_single() {
4661 List<Statement> statements = ParserTestCase.parseStatements("return;", 1, [] );
4662 EngineTestCase.assertSizeOfList(1, statements);
4663 }
4664
4665 void test_parseStringLiteral_adjacent() {
4666 AdjacentStrings literal = ParserTestCase.parse4("parseStringLiteral", "'a' ' b'", []);
4667 NodeList<StringLiteral> strings = literal.strings;
4668 EngineTestCase.assertSizeOfList(2, strings);
4669 StringLiteral firstString = strings[0];
4670 StringLiteral secondString = strings[1];
4671 JUnitTestCase.assertEquals("a", (firstString as SimpleStringLiteral).value);
4672 JUnitTestCase.assertEquals("b", (secondString as SimpleStringLiteral).value) ;
4673 }
4674
4675 void test_parseStringLiteral_interpolated() {
4676 StringInterpolation literal = ParserTestCase.parse4("parseStringLiteral", "' a \${b} c \$this d'", []);
4677 NodeList<InterpolationElement> elements = literal.elements;
4678 EngineTestCase.assertSizeOfList(5, elements);
4679 JUnitTestCase.assertTrue(elements[0] is InterpolationString);
4680 JUnitTestCase.assertTrue(elements[1] is InterpolationExpression);
4681 JUnitTestCase.assertTrue(elements[2] is InterpolationString);
4682 JUnitTestCase.assertTrue(elements[3] is InterpolationExpression);
4683 JUnitTestCase.assertTrue(elements[4] is InterpolationString);
4684 }
4685
4686 void test_parseStringLiteral_single() {
4687 SimpleStringLiteral literal = ParserTestCase.parse4("parseStringLiteral", "' a'", []);
4688 JUnitTestCase.assertNotNull(literal.literal);
4689 JUnitTestCase.assertEquals("a", literal.value);
4690 }
4691
4692 void test_parseSuperConstructorInvocation_named() {
4693 SuperConstructorInvocation invocation = ParserTestCase.parse4("parseSuperCon structorInvocation", "super.a()", []);
4694 JUnitTestCase.assertNotNull(invocation.argumentList);
4695 JUnitTestCase.assertNotNull(invocation.constructorName);
4696 JUnitTestCase.assertNotNull(invocation.keyword);
4697 JUnitTestCase.assertNotNull(invocation.period);
4698 }
4699
4700 void test_parseSuperConstructorInvocation_unnamed() {
4701 SuperConstructorInvocation invocation = ParserTestCase.parse4("parseSuperCon structorInvocation", "super()", []);
4702 JUnitTestCase.assertNotNull(invocation.argumentList);
4703 JUnitTestCase.assertNull(invocation.constructorName);
4704 JUnitTestCase.assertNotNull(invocation.keyword);
4705 JUnitTestCase.assertNull(invocation.period);
4706 }
4707
4708 void test_parseSwitchStatement_case() {
4709 SwitchStatement statement = ParserTestCase.parse4("parseSwitchStatement", "s witch (a) {case 1: return 'I';}", []);
4710 JUnitTestCase.assertNotNull(statement.keyword);
4711 JUnitTestCase.assertNotNull(statement.leftParenthesis);
4712 JUnitTestCase.assertNotNull(statement.expression);
4713 JUnitTestCase.assertNotNull(statement.rightParenthesis);
4714 JUnitTestCase.assertNotNull(statement.leftBracket);
4715 EngineTestCase.assertSizeOfList(1, statement.members);
4716 JUnitTestCase.assertNotNull(statement.rightBracket);
4717 }
4718
4719 void test_parseSwitchStatement_empty() {
4720 SwitchStatement statement = ParserTestCase.parse4("parseSwitchStatement", "s witch (a) {}", []);
4721 JUnitTestCase.assertNotNull(statement.keyword);
4722 JUnitTestCase.assertNotNull(statement.leftParenthesis);
4723 JUnitTestCase.assertNotNull(statement.expression);
4724 JUnitTestCase.assertNotNull(statement.rightParenthesis);
4725 JUnitTestCase.assertNotNull(statement.leftBracket);
4726 EngineTestCase.assertSizeOfList(0, statement.members);
4727 JUnitTestCase.assertNotNull(statement.rightBracket);
4728 }
4729
4730 void test_parseSwitchStatement_labeledCase() {
4731 SwitchStatement statement = ParserTestCase.parse4("parseSwitchStatement", "s witch (a) {l1: l2: l3: case(1):}", []);
4732 JUnitTestCase.assertNotNull(statement.keyword);
4733 JUnitTestCase.assertNotNull(statement.leftParenthesis);
4734 JUnitTestCase.assertNotNull(statement.expression);
4735 JUnitTestCase.assertNotNull(statement.rightParenthesis);
4736 JUnitTestCase.assertNotNull(statement.leftBracket);
4737 EngineTestCase.assertSizeOfList(1, statement.members);
4738 EngineTestCase.assertSizeOfList(3, statement.members[0].labels);
4739 JUnitTestCase.assertNotNull(statement.rightBracket);
4740 }
4741
4742 void test_parseSwitchStatement_labeledStatementInCase() {
4743 SwitchStatement statement = ParserTestCase.parse4("parseSwitchStatement", "s witch (a) {case 0: f(); l1: g(); break;}", []);
4744 JUnitTestCase.assertNotNull(statement.keyword);
4745 JUnitTestCase.assertNotNull(statement.leftParenthesis);
4746 JUnitTestCase.assertNotNull(statement.expression);
4747 JUnitTestCase.assertNotNull(statement.rightParenthesis);
4748 JUnitTestCase.assertNotNull(statement.leftBracket);
4749 EngineTestCase.assertSizeOfList(1, statement.members);
4750 EngineTestCase.assertSizeOfList(3, statement.members[0].statements);
4751 JUnitTestCase.assertNotNull(statement.rightBracket);
4752 }
4753
4754 void test_parseSymbolLiteral_builtInIdentifier() {
4755 SymbolLiteral literal = ParserTestCase.parse4("parseSymbolLiteral", "#dynami c.static.abstract", []);
4756 JUnitTestCase.assertNotNull(literal.poundSign);
4757 List<Token> components = literal.components;
4758 EngineTestCase.assertLength(3, components);
4759 JUnitTestCase.assertEquals("dynamic", components[0].lexeme);
4760 JUnitTestCase.assertEquals("static", components[1].lexeme);
4761 JUnitTestCase.assertEquals("abstract", components[2].lexeme);
4762 }
4763
4764 void test_parseSymbolLiteral_multiple() {
4765 SymbolLiteral literal = ParserTestCase.parse4("parseSymbolLiteral", "#a.b.c" , []);
4766 JUnitTestCase.assertNotNull(literal.poundSign);
4767 List<Token> components = literal.components;
4768 EngineTestCase.assertLength(3, components);
4769 JUnitTestCase.assertEquals("a", components[0].lexeme);
4770 JUnitTestCase.assertEquals("b", components[1].lexeme);
4771 JUnitTestCase.assertEquals("c", components[2].lexeme);
4772 }
4773
4774 void test_parseSymbolLiteral_operator() {
4775 SymbolLiteral literal = ParserTestCase.parse4("parseSymbolLiteral", "#==", [ ]);
4776 JUnitTestCase.assertNotNull(literal.poundSign);
4777 List<Token> components = literal.components;
4778 EngineTestCase.assertLength(1, components);
4779 JUnitTestCase.assertEquals("==", components[0].lexeme);
4780 }
4781
4782 void test_parseSymbolLiteral_single() {
4783 SymbolLiteral literal = ParserTestCase.parse4("parseSymbolLiteral", "#a", [] );
4784 JUnitTestCase.assertNotNull(literal.poundSign);
4785 List<Token> components = literal.components;
4786 EngineTestCase.assertLength(1, components);
4787 JUnitTestCase.assertEquals("a", components[0].lexeme);
4788 }
4789
4790 void test_parseThrowExpression() {
4791 ThrowExpression expression = ParserTestCase.parse4("parseThrowExpression", " throw x;", []);
4792 JUnitTestCase.assertNotNull(expression.keyword);
4793 JUnitTestCase.assertNotNull(expression.expression);
4794 }
4795
4796 void test_parseThrowExpressionWithoutCascade() {
4797 ThrowExpression expression = ParserTestCase.parse4("parseThrowExpressionWith outCascade", "throw x;", []);
4798 JUnitTestCase.assertNotNull(expression.keyword);
4799 JUnitTestCase.assertNotNull(expression.expression);
4800 }
4801
4802 void test_parseTryStatement_catch() {
4803 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} catch (e) {}", []);
4804 JUnitTestCase.assertNotNull(statement.tryKeyword);
4805 JUnitTestCase.assertNotNull(statement.body);
4806 NodeList<CatchClause> catchClauses = statement.catchClauses;
4807 EngineTestCase.assertSizeOfList(1, catchClauses);
4808 CatchClause clause = catchClauses[0];
4809 JUnitTestCase.assertNull(clause.onKeyword);
4810 JUnitTestCase.assertNull(clause.exceptionType);
4811 JUnitTestCase.assertNotNull(clause.catchKeyword);
4812 JUnitTestCase.assertNotNull(clause.exceptionParameter);
4813 JUnitTestCase.assertNull(clause.comma);
4814 JUnitTestCase.assertNull(clause.stackTraceParameter);
4815 JUnitTestCase.assertNotNull(clause.body);
4816 JUnitTestCase.assertNull(statement.finallyKeyword);
4817 JUnitTestCase.assertNull(statement.finallyBlock);
4818 }
4819
4820 void test_parseTryStatement_catch_finally() {
4821 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} catch (e, s) {} finally {}", []);
4822 JUnitTestCase.assertNotNull(statement.tryKeyword);
4823 JUnitTestCase.assertNotNull(statement.body);
4824 NodeList<CatchClause> catchClauses = statement.catchClauses;
4825 EngineTestCase.assertSizeOfList(1, catchClauses);
4826 CatchClause clause = catchClauses[0];
4827 JUnitTestCase.assertNull(clause.onKeyword);
4828 JUnitTestCase.assertNull(clause.exceptionType);
4829 JUnitTestCase.assertNotNull(clause.catchKeyword);
4830 JUnitTestCase.assertNotNull(clause.exceptionParameter);
4831 JUnitTestCase.assertNotNull(clause.comma);
4832 JUnitTestCase.assertNotNull(clause.stackTraceParameter);
4833 JUnitTestCase.assertNotNull(clause.body);
4834 JUnitTestCase.assertNotNull(statement.finallyKeyword);
4835 JUnitTestCase.assertNotNull(statement.finallyBlock);
4836 }
4837
4838 void test_parseTryStatement_finally() {
4839 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} finally {}", []);
4840 JUnitTestCase.assertNotNull(statement.tryKeyword);
4841 JUnitTestCase.assertNotNull(statement.body);
4842 EngineTestCase.assertSizeOfList(0, statement.catchClauses);
4843 JUnitTestCase.assertNotNull(statement.finallyKeyword);
4844 JUnitTestCase.assertNotNull(statement.finallyBlock);
4845 }
4846
4847 void test_parseTryStatement_multiple() {
4848 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} on NPE catch (e) {} on Error {} catch (e) {}", []);
4849 JUnitTestCase.assertNotNull(statement.tryKeyword);
4850 JUnitTestCase.assertNotNull(statement.body);
4851 EngineTestCase.assertSizeOfList(3, statement.catchClauses);
4852 JUnitTestCase.assertNull(statement.finallyKeyword);
4853 JUnitTestCase.assertNull(statement.finallyBlock);
4854 }
4855
4856 void test_parseTryStatement_on() {
4857 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} on Error {}", []);
4858 JUnitTestCase.assertNotNull(statement.tryKeyword);
4859 JUnitTestCase.assertNotNull(statement.body);
4860 NodeList<CatchClause> catchClauses = statement.catchClauses;
4861 EngineTestCase.assertSizeOfList(1, catchClauses);
4862 CatchClause clause = catchClauses[0];
4863 JUnitTestCase.assertNotNull(clause.onKeyword);
4864 JUnitTestCase.assertNotNull(clause.exceptionType);
4865 JUnitTestCase.assertNull(clause.catchKeyword);
4866 JUnitTestCase.assertNull(clause.exceptionParameter);
4867 JUnitTestCase.assertNull(clause.comma);
4868 JUnitTestCase.assertNull(clause.stackTraceParameter);
4869 JUnitTestCase.assertNotNull(clause.body);
4870 JUnitTestCase.assertNull(statement.finallyKeyword);
4871 JUnitTestCase.assertNull(statement.finallyBlock);
4872 }
4873
4874 void test_parseTryStatement_on_catch() {
4875 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} on Error catch (e, s) {}", []);
4876 JUnitTestCase.assertNotNull(statement.tryKeyword);
4877 JUnitTestCase.assertNotNull(statement.body);
4878 NodeList<CatchClause> catchClauses = statement.catchClauses;
4879 EngineTestCase.assertSizeOfList(1, catchClauses);
4880 CatchClause clause = catchClauses[0];
4881 JUnitTestCase.assertNotNull(clause.onKeyword);
4882 JUnitTestCase.assertNotNull(clause.exceptionType);
4883 JUnitTestCase.assertNotNull(clause.catchKeyword);
4884 JUnitTestCase.assertNotNull(clause.exceptionParameter);
4885 JUnitTestCase.assertNotNull(clause.comma);
4886 JUnitTestCase.assertNotNull(clause.stackTraceParameter);
4887 JUnitTestCase.assertNotNull(clause.body);
4888 JUnitTestCase.assertNull(statement.finallyKeyword);
4889 JUnitTestCase.assertNull(statement.finallyBlock);
4890 }
4891
4892 void test_parseTryStatement_on_catch_finally() {
4893 TryStatement statement = ParserTestCase.parse4("parseTryStatement", "try {} on Error catch (e, s) {} finally {}", []);
4894 JUnitTestCase.assertNotNull(statement.tryKeyword);
4895 JUnitTestCase.assertNotNull(statement.body);
4896 NodeList<CatchClause> catchClauses = statement.catchClauses;
4897 EngineTestCase.assertSizeOfList(1, catchClauses);
4898 CatchClause clause = catchClauses[0];
4899 JUnitTestCase.assertNotNull(clause.onKeyword);
4900 JUnitTestCase.assertNotNull(clause.exceptionType);
4901 JUnitTestCase.assertNotNull(clause.catchKeyword);
4902 JUnitTestCase.assertNotNull(clause.exceptionParameter);
4903 JUnitTestCase.assertNotNull(clause.comma);
4904 JUnitTestCase.assertNotNull(clause.stackTraceParameter);
4905 JUnitTestCase.assertNotNull(clause.body);
4906 JUnitTestCase.assertNotNull(statement.finallyKeyword);
4907 JUnitTestCase.assertNotNull(statement.finallyBlock);
4908 }
4909
4910 void test_parseTypeAlias_function_noParameters() {
4911 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef bool F();");
4912 JUnitTestCase.assertNotNull(typeAlias.keyword);
4913 JUnitTestCase.assertNotNull(typeAlias.name);
4914 JUnitTestCase.assertNotNull(typeAlias.parameters);
4915 JUnitTestCase.assertNotNull(typeAlias.returnType);
4916 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4917 JUnitTestCase.assertNull(typeAlias.typeParameters);
4918 }
4919
4920 void test_parseTypeAlias_function_noReturnType() {
4921 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef F();");
4922 JUnitTestCase.assertNotNull(typeAlias.keyword);
4923 JUnitTestCase.assertNotNull(typeAlias.name);
4924 JUnitTestCase.assertNotNull(typeAlias.parameters);
4925 JUnitTestCase.assertNull(typeAlias.returnType);
4926 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4927 JUnitTestCase.assertNull(typeAlias.typeParameters);
4928 }
4929
4930 void test_parseTypeAlias_function_parameterizedReturnType() {
4931 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef A<B> F();");
4932 JUnitTestCase.assertNotNull(typeAlias.keyword);
4933 JUnitTestCase.assertNotNull(typeAlias.name);
4934 JUnitTestCase.assertNotNull(typeAlias.parameters);
4935 JUnitTestCase.assertNotNull(typeAlias.returnType);
4936 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4937 JUnitTestCase.assertNull(typeAlias.typeParameters);
4938 }
4939
4940 void test_parseTypeAlias_function_parameters() {
4941 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef bool F(Object value);");
4942 JUnitTestCase.assertNotNull(typeAlias.keyword);
4943 JUnitTestCase.assertNotNull(typeAlias.name);
4944 JUnitTestCase.assertNotNull(typeAlias.parameters);
4945 JUnitTestCase.assertNotNull(typeAlias.returnType);
4946 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4947 JUnitTestCase.assertNull(typeAlias.typeParameters);
4948 }
4949
4950 void test_parseTypeAlias_function_typeParameters() {
4951 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef bool F<E>();");
4952 JUnitTestCase.assertNotNull(typeAlias.keyword);
4953 JUnitTestCase.assertNotNull(typeAlias.name);
4954 JUnitTestCase.assertNotNull(typeAlias.parameters);
4955 JUnitTestCase.assertNotNull(typeAlias.returnType);
4956 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4957 JUnitTestCase.assertNotNull(typeAlias.typeParameters);
4958 }
4959
4960 void test_parseTypeAlias_function_voidReturnType() {
4961 FunctionTypeAlias typeAlias = ParserTestCase.parse("parseTypeAlias", <Object > [emptyCommentAndMetadata()], "typedef void F();");
4962 JUnitTestCase.assertNotNull(typeAlias.keyword);
4963 JUnitTestCase.assertNotNull(typeAlias.name);
4964 JUnitTestCase.assertNotNull(typeAlias.parameters);
4965 JUnitTestCase.assertNotNull(typeAlias.returnType);
4966 JUnitTestCase.assertNotNull(typeAlias.semicolon);
4967 JUnitTestCase.assertNull(typeAlias.typeParameters);
4968 }
4969
4970 void test_parseTypeArgumentList_multiple() {
4971 TypeArgumentList argumentList = ParserTestCase.parse4("parseTypeArgumentList ", "<int, int, int>", []);
4972 JUnitTestCase.assertNotNull(argumentList.leftBracket);
4973 EngineTestCase.assertSizeOfList(3, argumentList.arguments);
4974 JUnitTestCase.assertNotNull(argumentList.rightBracket);
4975 }
4976
4977 void test_parseTypeArgumentList_nested() {
4978 TypeArgumentList argumentList = ParserTestCase.parse4("parseTypeArgumentList ", "<A<B>>", []);
4979 JUnitTestCase.assertNotNull(argumentList.leftBracket);
4980 EngineTestCase.assertSizeOfList(1, argumentList.arguments);
4981 TypeName argument = argumentList.arguments[0];
4982 JUnitTestCase.assertNotNull(argument);
4983 TypeArgumentList innerList = argument.typeArguments;
4984 JUnitTestCase.assertNotNull(innerList);
4985 EngineTestCase.assertSizeOfList(1, innerList.arguments);
4986 JUnitTestCase.assertNotNull(argumentList.rightBracket);
4987 }
4988
4989 void test_parseTypeArgumentList_single() {
4990 TypeArgumentList argumentList = ParserTestCase.parse4("parseTypeArgumentList ", "<int>", []);
4991 JUnitTestCase.assertNotNull(argumentList.leftBracket);
4992 EngineTestCase.assertSizeOfList(1, argumentList.arguments);
4993 JUnitTestCase.assertNotNull(argumentList.rightBracket);
4994 }
4995
4996 void test_parseTypeName_parameterized() {
4997 TypeName typeName = ParserTestCase.parse4("parseTypeName", "List<int>", []);
4998 JUnitTestCase.assertNotNull(typeName.name);
4999 JUnitTestCase.assertNotNull(typeName.typeArguments);
5000 }
5001
5002 void test_parseTypeName_simple() {
5003 TypeName typeName = ParserTestCase.parse4("parseTypeName", "int", []);
5004 JUnitTestCase.assertNotNull(typeName.name);
5005 JUnitTestCase.assertNull(typeName.typeArguments);
5006 }
5007
5008 void test_parseTypeParameter_bounded() {
5009 TypeParameter parameter = ParserTestCase.parse4("parseTypeParameter", "A ext ends B", []);
5010 JUnitTestCase.assertNotNull(parameter.bound);
5011 JUnitTestCase.assertNotNull(parameter.keyword);
5012 JUnitTestCase.assertNotNull(parameter.name);
5013 }
5014
5015 void test_parseTypeParameter_simple() {
5016 TypeParameter parameter = ParserTestCase.parse4("parseTypeParameter", "A", [ ]);
5017 JUnitTestCase.assertNull(parameter.bound);
5018 JUnitTestCase.assertNull(parameter.keyword);
5019 JUnitTestCase.assertNotNull(parameter.name);
5020 }
5021
5022 void test_parseTypeParameterList_multiple() {
5023 TypeParameterList parameterList = ParserTestCase.parse4("parseTypeParameterL ist", "<A, B extends C, D>", []);
5024 JUnitTestCase.assertNotNull(parameterList.leftBracket);
5025 JUnitTestCase.assertNotNull(parameterList.rightBracket);
5026 EngineTestCase.assertSizeOfList(3, parameterList.typeParameters);
5027 }
5028
5029 void test_parseTypeParameterList_parameterizedWithTrailingEquals() {
5030 TypeParameterList parameterList = ParserTestCase.parse4("parseTypeParameterL ist", "<A extends B<E>>=", []);
5031 JUnitTestCase.assertNotNull(parameterList.leftBracket);
5032 JUnitTestCase.assertNotNull(parameterList.rightBracket);
5033 EngineTestCase.assertSizeOfList(1, parameterList.typeParameters);
5034 }
5035
5036 void test_parseTypeParameterList_single() {
5037 TypeParameterList parameterList = ParserTestCase.parse4("parseTypeParameterL ist", "<A>", []);
5038 JUnitTestCase.assertNotNull(parameterList.leftBracket);
5039 JUnitTestCase.assertNotNull(parameterList.rightBracket);
5040 EngineTestCase.assertSizeOfList(1, parameterList.typeParameters);
5041 }
5042
5043 void test_parseTypeParameterList_withTrailingEquals() {
5044 TypeParameterList parameterList = ParserTestCase.parse4("parseTypeParameterL ist", "<A>=", []);
5045 JUnitTestCase.assertNotNull(parameterList.leftBracket);
5046 JUnitTestCase.assertNotNull(parameterList.rightBracket);
5047 EngineTestCase.assertSizeOfList(1, parameterList.typeParameters);
5048 }
5049
5050 void test_parseUnaryExpression_decrement_normal() {
5051 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "--x", []);
5052 JUnitTestCase.assertNotNull(expression.operator);
5053 JUnitTestCase.assertEquals(TokenType.MINUS_MINUS, expression.operator.type);
5054 JUnitTestCase.assertNotNull(expression.operand);
5055 }
5056
5057 void test_parseUnaryExpression_decrement_super() {
5058 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "--super", []);
5059 JUnitTestCase.assertNotNull(expression.operator);
5060 JUnitTestCase.assertEquals(TokenType.MINUS, expression.operator.type);
5061 Expression innerExpression = expression.operand;
5062 JUnitTestCase.assertNotNull(innerExpression);
5063 JUnitTestCase.assertTrue(innerExpression is PrefixExpression);
5064 PrefixExpression operand = innerExpression as PrefixExpression;
5065 JUnitTestCase.assertNotNull(operand.operator);
5066 JUnitTestCase.assertEquals(TokenType.MINUS, operand.operator.type);
5067 JUnitTestCase.assertNotNull(operand.operand);
5068 }
5069
5070 void test_parseUnaryExpression_decrement_super_propertyAccess() {
5071 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "--super.x", []);
5072 JUnitTestCase.assertNotNull(expression.operator);
5073 JUnitTestCase.assertEquals(TokenType.MINUS_MINUS, expression.operator.type);
5074 JUnitTestCase.assertNotNull(expression.operand);
5075 PropertyAccess operand = expression.operand as PropertyAccess;
5076 JUnitTestCase.assertTrue(operand.target is SuperExpression);
5077 JUnitTestCase.assertEquals("x", operand.propertyName.name);
5078 }
5079
5080 void test_parseUnaryExpression_increment_normal() {
5081 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "++x", []);
5082 JUnitTestCase.assertNotNull(expression.operator);
5083 JUnitTestCase.assertEquals(TokenType.PLUS_PLUS, expression.operator.type);
5084 JUnitTestCase.assertNotNull(expression.operand);
5085 }
5086
5087 void test_parseUnaryExpression_increment_super_index() {
5088 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "++super[0]", []);
5089 JUnitTestCase.assertNotNull(expression.operator);
5090 JUnitTestCase.assertEquals(TokenType.PLUS_PLUS, expression.operator.type);
5091 JUnitTestCase.assertNotNull(expression.operand);
5092 IndexExpression operand = expression.operand as IndexExpression;
5093 JUnitTestCase.assertTrue(operand.realTarget is SuperExpression);
5094 JUnitTestCase.assertTrue(operand.index is IntegerLiteral);
5095 }
5096
5097 void test_parseUnaryExpression_increment_super_propertyAccess() {
5098 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "++super.x", []);
5099 JUnitTestCase.assertNotNull(expression.operator);
5100 JUnitTestCase.assertEquals(TokenType.PLUS_PLUS, expression.operator.type);
5101 JUnitTestCase.assertNotNull(expression.operand);
5102 PropertyAccess operand = expression.operand as PropertyAccess;
5103 JUnitTestCase.assertTrue(operand.target is SuperExpression);
5104 JUnitTestCase.assertEquals("x", operand.propertyName.name);
5105 }
5106
5107 void test_parseUnaryExpression_minus_normal() {
5108 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "-x", []);
5109 JUnitTestCase.assertNotNull(expression.operator);
5110 JUnitTestCase.assertEquals(TokenType.MINUS, expression.operator.type);
5111 JUnitTestCase.assertNotNull(expression.operand);
5112 }
5113
5114 void test_parseUnaryExpression_minus_super() {
5115 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "-super", []);
5116 JUnitTestCase.assertNotNull(expression.operator);
5117 JUnitTestCase.assertEquals(TokenType.MINUS, expression.operator.type);
5118 JUnitTestCase.assertNotNull(expression.operand);
5119 }
5120
5121 void test_parseUnaryExpression_not_normal() {
5122 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "!x", []);
5123 JUnitTestCase.assertNotNull(expression.operator);
5124 JUnitTestCase.assertEquals(TokenType.BANG, expression.operator.type);
5125 JUnitTestCase.assertNotNull(expression.operand);
5126 }
5127
5128 void test_parseUnaryExpression_not_super() {
5129 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "!super", []);
5130 JUnitTestCase.assertNotNull(expression.operator);
5131 JUnitTestCase.assertEquals(TokenType.BANG, expression.operator.type);
5132 JUnitTestCase.assertNotNull(expression.operand);
5133 }
5134
5135 void test_parseUnaryExpression_tilda_normal() {
5136 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "~x", []);
5137 JUnitTestCase.assertNotNull(expression.operator);
5138 JUnitTestCase.assertEquals(TokenType.TILDE, expression.operator.type);
5139 JUnitTestCase.assertNotNull(expression.operand);
5140 }
5141
5142 void test_parseUnaryExpression_tilda_super() {
5143 PrefixExpression expression = ParserTestCase.parse4("parseUnaryExpression", "~super", []);
5144 JUnitTestCase.assertNotNull(expression.operator);
5145 JUnitTestCase.assertEquals(TokenType.TILDE, expression.operator.type);
5146 JUnitTestCase.assertNotNull(expression.operand);
5147 }
5148
5149 void test_parseVariableDeclaration_equals() {
5150 VariableDeclaration declaration = ParserTestCase.parse4("parseVariableDeclar ation", "a = b", []);
5151 JUnitTestCase.assertNotNull(declaration.name);
5152 JUnitTestCase.assertNotNull(declaration.equals);
5153 JUnitTestCase.assertNotNull(declaration.initializer);
5154 }
5155
5156 void test_parseVariableDeclaration_noEquals() {
5157 VariableDeclaration declaration = ParserTestCase.parse4("parseVariableDeclar ation", "a", []);
5158 JUnitTestCase.assertNotNull(declaration.name);
5159 JUnitTestCase.assertNull(declaration.equals);
5160 JUnitTestCase.assertNull(declaration.initializer);
5161 }
5162
5163 void test_parseVariableDeclarationListAfterMetadata_const_noType() {
5164 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "const a") ;
5165 JUnitTestCase.assertNotNull(declarationList.keyword);
5166 JUnitTestCase.assertNull(declarationList.type);
5167 EngineTestCase.assertSizeOfList(1, declarationList.variables);
5168 }
5169
5170 void test_parseVariableDeclarationListAfterMetadata_const_type() {
5171 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "const A a ");
5172 JUnitTestCase.assertNotNull(declarationList.keyword);
5173 JUnitTestCase.assertNotNull(declarationList.type);
5174 EngineTestCase.assertSizeOfList(1, declarationList.variables);
5175 }
5176
5177 void test_parseVariableDeclarationListAfterMetadata_final_noType() {
5178 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "final a") ;
5179 JUnitTestCase.assertNotNull(declarationList.keyword);
5180 JUnitTestCase.assertNull(declarationList.type);
5181 EngineTestCase.assertSizeOfList(1, declarationList.variables);
5182 }
5183
5184 void test_parseVariableDeclarationListAfterMetadata_final_type() {
5185 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "final A a ");
5186 JUnitTestCase.assertNotNull(declarationList.keyword);
5187 JUnitTestCase.assertNotNull(declarationList.type);
5188 EngineTestCase.assertSizeOfList(1, declarationList.variables);
5189 }
5190
5191 void test_parseVariableDeclarationListAfterMetadata_type_multiple() {
5192 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "A a, b, c ");
5193 JUnitTestCase.assertNull(declarationList.keyword);
5194 JUnitTestCase.assertNotNull(declarationList.type);
5195 EngineTestCase.assertSizeOfList(3, declarationList.variables);
5196 }
5197
5198 void test_parseVariableDeclarationListAfterMetadata_type_single() {
5199 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "A a");
5200 JUnitTestCase.assertNull(declarationList.keyword);
5201 JUnitTestCase.assertNotNull(declarationList.type);
5202 EngineTestCase.assertSizeOfList(1, declarationList.variables);
5203 }
5204
5205 void test_parseVariableDeclarationListAfterMetadata_var_multiple() {
5206 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "var a, b, c");
5207 JUnitTestCase.assertNotNull(declarationList.keyword);
5208 JUnitTestCase.assertNull(declarationList.type);
5209 EngineTestCase.assertSizeOfList(3, declarationList.variables);
5210 }
5211
5212 void test_parseVariableDeclarationListAfterMetadata_var_single() {
5213 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterMetadata", <Object> [emptyCommentAndMetadata()], "var a");
5214 JUnitTestCase.assertNotNull(declarationList.keyword);
5215 JUnitTestCase.assertNull(declarationList.type);
5216 EngineTestCase.assertSizeOfList(1, declarationList.variables);
5217 }
5218
5219 void test_parseVariableDeclarationListAfterType_type() {
5220 TypeName type = new TypeName(new SimpleIdentifier(null), null);
5221 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterType", <Object> [emptyCommentAndMetadata(), null, type], "a ");
5222 JUnitTestCase.assertNull(declarationList.keyword);
5223 JUnitTestCase.assertEquals(type, declarationList.type);
5224 EngineTestCase.assertSizeOfList(1, declarationList.variables);
5225 }
5226
5227 void test_parseVariableDeclarationListAfterType_var() {
5228 Token keyword = TokenFactory.tokenFromKeyword(Keyword.VAR);
5229 VariableDeclarationList declarationList = ParserTestCase.parse("parseVariabl eDeclarationListAfterType", <Object> [emptyCommentAndMetadata(), keyword, null], "a, b, c");
5230 JUnitTestCase.assertEquals(keyword, declarationList.keyword);
5231 JUnitTestCase.assertNull(declarationList.type);
5232 EngineTestCase.assertSizeOfList(3, declarationList.variables);
5233 }
5234
5235 void test_parseVariableDeclarationStatementAfterMetadata_multiple() {
5236 VariableDeclarationStatement statement = ParserTestCase.parse("parseVariable DeclarationStatementAfterMetadata", <Object> [emptyCommentAndMetadata()], "var x , y, z;");
5237 JUnitTestCase.assertNotNull(statement.semicolon);
5238 VariableDeclarationList variableList = statement.variables;
5239 JUnitTestCase.assertNotNull(variableList);
5240 EngineTestCase.assertSizeOfList(3, variableList.variables);
5241 }
5242
5243 void test_parseVariableDeclarationStatementAfterMetadata_single() {
5244 VariableDeclarationStatement statement = ParserTestCase.parse("parseVariable DeclarationStatementAfterMetadata", <Object> [emptyCommentAndMetadata()], "var x ;");
5245 JUnitTestCase.assertNotNull(statement.semicolon);
5246 VariableDeclarationList variableList = statement.variables;
5247 JUnitTestCase.assertNotNull(variableList);
5248 EngineTestCase.assertSizeOfList(1, variableList.variables);
5249 }
5250
5251 void test_parseWhileStatement() {
5252 WhileStatement statement = ParserTestCase.parse4("parseWhileStatement", "whi le (x) {}", []);
5253 JUnitTestCase.assertNotNull(statement.keyword);
5254 JUnitTestCase.assertNotNull(statement.leftParenthesis);
5255 JUnitTestCase.assertNotNull(statement.condition);
5256 JUnitTestCase.assertNotNull(statement.rightParenthesis);
5257 JUnitTestCase.assertNotNull(statement.body);
5258 }
5259
5260 void test_parseWithClause_multiple() {
5261 WithClause clause = ParserTestCase.parse4("parseWithClause", "with A, B, C", []);
5262 JUnitTestCase.assertNotNull(clause.withKeyword);
5263 EngineTestCase.assertSizeOfList(3, clause.mixinTypes);
5264 }
5265
5266 void test_parseWithClause_single() {
5267 WithClause clause = ParserTestCase.parse4("parseWithClause", "with M", []);
5268 JUnitTestCase.assertNotNull(clause.withKeyword);
5269 EngineTestCase.assertSizeOfList(1, clause.mixinTypes);
5270 }
5271
5272 void test_skipPrefixedIdentifier_invalid() {
5273 Token following = _skip("skipPrefixedIdentifier", "+");
5274 JUnitTestCase.assertNull(following);
5275 }
5276
5277 void test_skipPrefixedIdentifier_notPrefixed() {
5278 Token following = _skip("skipPrefixedIdentifier", "a +");
5279 JUnitTestCase.assertNotNull(following);
5280 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
5281 }
5282
5283 void test_skipPrefixedIdentifier_prefixed() {
5284 Token following = _skip("skipPrefixedIdentifier", "a.b +");
5285 JUnitTestCase.assertNotNull(following);
5286 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
5287 }
5288
5289 void test_skipReturnType_invalid() {
5290 Token following = _skip("skipReturnType", "+");
5291 JUnitTestCase.assertNull(following);
5292 }
5293
5294 void test_skipReturnType_type() {
5295 Token following = _skip("skipReturnType", "C +");
5296 JUnitTestCase.assertNotNull(following);
5297 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
5298 }
5299
5300 void test_skipReturnType_void() {
5301 Token following = _skip("skipReturnType", "void +");
5302 JUnitTestCase.assertNotNull(following);
5303 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
5304 }
5305
5306 void test_skipSimpleIdentifier_identifier() {
5307 Token following = _skip("skipSimpleIdentifier", "i +");
5308 JUnitTestCase.assertNotNull(following);
5309 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
5310 }
5311
5312 void test_skipSimpleIdentifier_invalid() {
5313 Token following = _skip("skipSimpleIdentifier", "9 +");
5314 JUnitTestCase.assertNull(following);
5315 }
5316
5317 void test_skipSimpleIdentifier_pseudoKeyword() {
5318 Token following = _skip("skipSimpleIdentifier", "as +");
5319 JUnitTestCase.assertNotNull(following);
5320 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
5321 }
5322
5323 void test_skipStringLiteral_adjacent() {
5324 Token following = _skip("skipStringLiteral", "'a' 'b' +");
5325 JUnitTestCase.assertNotNull(following);
5326 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
5327 }
5328
5329 void test_skipStringLiteral_interpolated() {
5330 Token following = _skip("skipStringLiteral", "'a\${b}c' +");
5331 JUnitTestCase.assertNotNull(following);
5332 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
5333 }
5334
5335 void test_skipStringLiteral_invalid() {
5336 Token following = _skip("skipStringLiteral", "a");
5337 JUnitTestCase.assertNull(following);
5338 }
5339
5340 void test_skipStringLiteral_single() {
5341 Token following = _skip("skipStringLiteral", "'a' +");
5342 JUnitTestCase.assertNotNull(following);
5343 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
5344 }
5345
5346 void test_skipTypeArgumentList_invalid() {
5347 Token following = _skip("skipTypeArgumentList", "+");
5348 JUnitTestCase.assertNull(following);
5349 }
5350
5351 void test_skipTypeArgumentList_multiple() {
5352 Token following = _skip("skipTypeArgumentList", "<E, F, G> +");
5353 JUnitTestCase.assertNotNull(following);
5354 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
5355 }
5356
5357 void test_skipTypeArgumentList_single() {
5358 Token following = _skip("skipTypeArgumentList", "<E> +");
5359 JUnitTestCase.assertNotNull(following);
5360 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
5361 }
5362
5363 void test_skipTypeName_invalid() {
5364 Token following = _skip("skipTypeName", "+");
5365 JUnitTestCase.assertNull(following);
5366 }
5367
5368 void test_skipTypeName_parameterized() {
5369 Token following = _skip("skipTypeName", "C<E<F<G>>> +");
5370 JUnitTestCase.assertNotNull(following);
5371 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
5372 }
5373
5374 void test_skipTypeName_simple() {
5375 Token following = _skip("skipTypeName", "C +");
5376 JUnitTestCase.assertNotNull(following);
5377 JUnitTestCase.assertEquals(TokenType.PLUS, following.type);
5378 }
5379
5380 /**
5381 * Invoke the method [Parser#computeStringValue] with the given argument.
5382 *
5383 * @param lexeme the argument to the method
5384 * @param first `true` if this is the first token in a string literal
5385 * @param last `true` if this is the last token in a string literal
5386 * @return the result of invoking the method
5387 * @throws Exception if the method could not be invoked or throws an exception
5388 */
5389 String _computeStringValue(String lexeme, bool first, bool last) {
5390 AnalysisErrorListener listener = new AnalysisErrorListener_SimpleParserTest_ computeStringValue();
5391 Parser parser = new Parser(null, listener);
5392 return invokeParserMethodImpl(parser, "computeStringValue", <Object> [lexeme , first, last], null) as String;
5393 }
5394
5395 /**
5396 * Invoke the method [Parser#createSyntheticIdentifier] with the parser set to the token
5397 * stream produced by scanning the given source.
5398 *
5399 * @param source the source to be scanned to produce the token stream being te sted
5400 * @return the result of invoking the method
5401 * @throws Exception if the method could not be invoked or throws an exception
5402 */
5403 SimpleIdentifier _createSyntheticIdentifier() {
5404 GatheringErrorListener listener = new GatheringErrorListener();
5405 return ParserTestCase.invokeParserMethod2("createSyntheticIdentifier", "", l istener);
5406 }
5407
5408 /**
5409 * Invoke the method [Parser#createSyntheticIdentifier] with the parser set to the token
5410 * stream produced by scanning the given source.
5411 *
5412 * @param source the source to be scanned to produce the token stream being te sted
5413 * @return the result of invoking the method
5414 * @throws Exception if the method could not be invoked or throws an exception
5415 */
5416 SimpleStringLiteral _createSyntheticStringLiteral() {
5417 GatheringErrorListener listener = new GatheringErrorListener();
5418 return ParserTestCase.invokeParserMethod2("createSyntheticStringLiteral", "" , listener);
5419 }
5420
5421 /**
5422 * Invoke the method [Parser#isFunctionDeclaration] with the parser set to the token
5423 * stream produced by scanning the given source.
5424 *
5425 * @param source the source to be scanned to produce the token stream being te sted
5426 * @return the result of invoking the method
5427 * @throws Exception if the method could not be invoked or throws an exception
5428 */
5429 bool _isFunctionDeclaration(String source) {
5430 GatheringErrorListener listener = new GatheringErrorListener();
5431 return ParserTestCase.invokeParserMethod2("isFunctionDeclaration", source, l istener) as bool;
5432 }
5433
5434 /**
5435 * Invoke the method [Parser#isFunctionExpression] with the parser set to the token stream
5436 * produced by scanning the given source.
5437 *
5438 * @param source the source to be scanned to produce the token stream being te sted
5439 * @return the result of invoking the method
5440 * @throws Exception if the method could not be invoked or throws an exception
5441 */
5442 bool _isFunctionExpression(String source) {
5443 GatheringErrorListener listener = new GatheringErrorListener();
5444 //
5445 // Scan the source.
5446 //
5447 Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener );
5448 Token tokenStream = scanner.tokenize();
5449 //
5450 // Parse the source.
5451 //
5452 Parser parser = new Parser(null, listener);
5453 return invokeParserMethodImpl(parser, "isFunctionExpression", <Object> [toke nStream], tokenStream) as bool;
5454 }
5455
5456 /**
5457 * Invoke the method [Parser#isInitializedVariableDeclaration] with the parser set to the
5458 * token stream produced by scanning the given source.
5459 *
5460 * @param source the source to be scanned to produce the token stream being te sted
5461 * @return the result of invoking the method
5462 * @throws Exception if the method could not be invoked or throws an exception
5463 */
5464 bool _isInitializedVariableDeclaration(String source) {
5465 GatheringErrorListener listener = new GatheringErrorListener();
5466 return ParserTestCase.invokeParserMethod2("isInitializedVariableDeclaration" , source, listener) as bool;
5467 }
5468
5469 /**
5470 * Invoke the method [Parser#isSwitchMember] with the parser set to the token stream
5471 * produced by scanning the given source.
5472 *
5473 * @param source the source to be scanned to produce the token stream being te sted
5474 * @return the result of invoking the method
5475 * @throws Exception if the method could not be invoked or throws an exception
5476 */
5477 bool _isSwitchMember(String source) {
5478 GatheringErrorListener listener = new GatheringErrorListener();
5479 return ParserTestCase.invokeParserMethod2("isSwitchMember", source, listener ) as bool;
5480 }
5481
5482 /**
5483 * Parse the given source as a compilation unit.
5484 *
5485 * @param source the source to be parsed
5486 * @param errorCodes the error codes of the errors that are expected to be fou nd
5487 * @return the compilation unit that was parsed
5488 * @throws Exception if the source could not be parsed, if the compilation err ors in the source do
5489 * not match those that are expected, or if the result would have be en `null`
5490 */
5491 CompilationUnit _parseDirectives(String source, List<ErrorCode> errorCodes) {
5492 GatheringErrorListener listener = new GatheringErrorListener();
5493 Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener );
5494 listener.setLineInfo(new TestSource(), scanner.lineStarts);
5495 Token token = scanner.tokenize();
5496 Parser parser = new Parser(null, listener);
5497 CompilationUnit unit = parser.parseDirectives(token);
5498 JUnitTestCase.assertNotNull(unit);
5499 EngineTestCase.assertSizeOfList(0, unit.declarations);
5500 listener.assertErrorsWithCodes(errorCodes);
5501 return unit;
5502 }
5503
5504 /**
5505 * Invoke a "skip" method in [Parser]. The method is assumed to take a token a s it's
5506 * parameter and is given the first token in the scanned source.
5507 *
5508 * @param methodName the name of the method that should be invoked
5509 * @param source the source to be processed by the method
5510 * @return the result of invoking the method
5511 * @throws Exception if the method could not be invoked or throws an exception
5512 * @throws AssertionFailedError if the result is `null`
5513 */
5514 Token _skip(String methodName, String source) {
5515 GatheringErrorListener listener = new GatheringErrorListener();
5516 //
5517 // Scan the source.
5518 //
5519 Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener );
5520 Token tokenStream = scanner.tokenize();
5521 //
5522 // Parse the source.
5523 //
5524 Parser parser = new Parser(null, listener);
5525 return invokeParserMethodImpl(parser, methodName, <Object> [tokenStream], to kenStream) as Token;
5526 }
5527
5528 static dartSuite() {
5529 _ut.group('SimpleParserTest', () {
5530 _ut.test('test_Parser', () {
5531 final __test = new SimpleParserTest();
5532 runJUnitTest(__test, __test.test_Parser);
5533 });
5534 _ut.test('test_computeStringValue_emptyInterpolationPrefix', () {
5535 final __test = new SimpleParserTest();
5536 runJUnitTest(__test, __test.test_computeStringValue_emptyInterpolationPr efix);
5537 });
5538 _ut.test('test_computeStringValue_escape_b', () {
5539 final __test = new SimpleParserTest();
5540 runJUnitTest(__test, __test.test_computeStringValue_escape_b);
5541 });
5542 _ut.test('test_computeStringValue_escape_f', () {
5543 final __test = new SimpleParserTest();
5544 runJUnitTest(__test, __test.test_computeStringValue_escape_f);
5545 });
5546 _ut.test('test_computeStringValue_escape_n', () {
5547 final __test = new SimpleParserTest();
5548 runJUnitTest(__test, __test.test_computeStringValue_escape_n);
5549 });
5550 _ut.test('test_computeStringValue_escape_notSpecial', () {
5551 final __test = new SimpleParserTest();
5552 runJUnitTest(__test, __test.test_computeStringValue_escape_notSpecial);
5553 });
5554 _ut.test('test_computeStringValue_escape_r', () {
5555 final __test = new SimpleParserTest();
5556 runJUnitTest(__test, __test.test_computeStringValue_escape_r);
5557 });
5558 _ut.test('test_computeStringValue_escape_t', () {
5559 final __test = new SimpleParserTest();
5560 runJUnitTest(__test, __test.test_computeStringValue_escape_t);
5561 });
5562 _ut.test('test_computeStringValue_escape_u_fixed', () {
5563 final __test = new SimpleParserTest();
5564 runJUnitTest(__test, __test.test_computeStringValue_escape_u_fixed);
5565 });
5566 _ut.test('test_computeStringValue_escape_u_variable', () {
5567 final __test = new SimpleParserTest();
5568 runJUnitTest(__test, __test.test_computeStringValue_escape_u_variable);
5569 });
5570 _ut.test('test_computeStringValue_escape_v', () {
5571 final __test = new SimpleParserTest();
5572 runJUnitTest(__test, __test.test_computeStringValue_escape_v);
5573 });
5574 _ut.test('test_computeStringValue_escape_x', () {
5575 final __test = new SimpleParserTest();
5576 runJUnitTest(__test, __test.test_computeStringValue_escape_x);
5577 });
5578 _ut.test('test_computeStringValue_noEscape_single', () {
5579 final __test = new SimpleParserTest();
5580 runJUnitTest(__test, __test.test_computeStringValue_noEscape_single);
5581 });
5582 _ut.test('test_computeStringValue_noEscape_triple', () {
5583 final __test = new SimpleParserTest();
5584 runJUnitTest(__test, __test.test_computeStringValue_noEscape_triple);
5585 });
5586 _ut.test('test_computeStringValue_raw_single', () {
5587 final __test = new SimpleParserTest();
5588 runJUnitTest(__test, __test.test_computeStringValue_raw_single);
5589 });
5590 _ut.test('test_computeStringValue_raw_triple', () {
5591 final __test = new SimpleParserTest();
5592 runJUnitTest(__test, __test.test_computeStringValue_raw_triple);
5593 });
5594 _ut.test('test_computeStringValue_raw_withEscape', () {
5595 final __test = new SimpleParserTest();
5596 runJUnitTest(__test, __test.test_computeStringValue_raw_withEscape);
5597 });
5598 _ut.test('test_computeStringValue_triple_internalQuote_first_empty', () {
5599 final __test = new SimpleParserTest();
5600 runJUnitTest(__test, __test.test_computeStringValue_triple_internalQuote _first_empty);
5601 });
5602 _ut.test('test_computeStringValue_triple_internalQuote_first_nonEmpty', () {
5603 final __test = new SimpleParserTest();
5604 runJUnitTest(__test, __test.test_computeStringValue_triple_internalQuote _first_nonEmpty);
5605 });
5606 _ut.test('test_computeStringValue_triple_internalQuote_last_empty', () {
5607 final __test = new SimpleParserTest();
5608 runJUnitTest(__test, __test.test_computeStringValue_triple_internalQuote _last_empty);
5609 });
5610 _ut.test('test_computeStringValue_triple_internalQuote_last_nonEmpty', () {
5611 final __test = new SimpleParserTest();
5612 runJUnitTest(__test, __test.test_computeStringValue_triple_internalQuote _last_nonEmpty);
5613 });
5614 _ut.test('test_constFactory', () {
5615 final __test = new SimpleParserTest();
5616 runJUnitTest(__test, __test.test_constFactory);
5617 });
5618 _ut.test('test_createSyntheticIdentifier', () {
5619 final __test = new SimpleParserTest();
5620 runJUnitTest(__test, __test.test_createSyntheticIdentifier);
5621 });
5622 _ut.test('test_createSyntheticStringLiteral', () {
5623 final __test = new SimpleParserTest();
5624 runJUnitTest(__test, __test.test_createSyntheticStringLiteral);
5625 });
5626 _ut.test('test_function_literal_allowed_at_toplevel', () {
5627 final __test = new SimpleParserTest();
5628 runJUnitTest(__test, __test.test_function_literal_allowed_at_toplevel);
5629 });
5630 _ut.test('test_function_literal_allowed_in_ArgumentList_in_ConstructorFiel dInitializer', () {
5631 final __test = new SimpleParserTest();
5632 runJUnitTest(__test, __test.test_function_literal_allowed_in_ArgumentLis t_in_ConstructorFieldInitializer);
5633 });
5634 _ut.test('test_function_literal_allowed_in_IndexExpression_in_ConstructorF ieldInitializer', () {
5635 final __test = new SimpleParserTest();
5636 runJUnitTest(__test, __test.test_function_literal_allowed_in_IndexExpres sion_in_ConstructorFieldInitializer);
5637 });
5638 _ut.test('test_function_literal_allowed_in_ListLiteral_in_ConstructorField Initializer', () {
5639 final __test = new SimpleParserTest();
5640 runJUnitTest(__test, __test.test_function_literal_allowed_in_ListLiteral _in_ConstructorFieldInitializer);
5641 });
5642 _ut.test('test_function_literal_allowed_in_MapLiteral_in_ConstructorFieldI nitializer', () {
5643 final __test = new SimpleParserTest();
5644 runJUnitTest(__test, __test.test_function_literal_allowed_in_MapLiteral_ in_ConstructorFieldInitializer);
5645 });
5646 _ut.test('test_function_literal_allowed_in_ParenthesizedExpression_in_Cons tructorFieldInitializer', () {
5647 final __test = new SimpleParserTest();
5648 runJUnitTest(__test, __test.test_function_literal_allowed_in_Parenthesiz edExpression_in_ConstructorFieldInitializer);
5649 });
5650 _ut.test('test_function_literal_allowed_in_StringInterpolation_in_Construc torFieldInitializer', () {
5651 final __test = new SimpleParserTest();
5652 runJUnitTest(__test, __test.test_function_literal_allowed_in_StringInter polation_in_ConstructorFieldInitializer);
5653 });
5654 _ut.test('test_isFunctionDeclaration_nameButNoReturn_block', () {
5655 final __test = new SimpleParserTest();
5656 runJUnitTest(__test, __test.test_isFunctionDeclaration_nameButNoReturn_b lock);
5657 });
5658 _ut.test('test_isFunctionDeclaration_nameButNoReturn_expression', () {
5659 final __test = new SimpleParserTest();
5660 runJUnitTest(__test, __test.test_isFunctionDeclaration_nameButNoReturn_e xpression);
5661 });
5662 _ut.test('test_isFunctionDeclaration_normalReturn_block', () {
5663 final __test = new SimpleParserTest();
5664 runJUnitTest(__test, __test.test_isFunctionDeclaration_normalReturn_bloc k);
5665 });
5666 _ut.test('test_isFunctionDeclaration_normalReturn_expression', () {
5667 final __test = new SimpleParserTest();
5668 runJUnitTest(__test, __test.test_isFunctionDeclaration_normalReturn_expr ession);
5669 });
5670 _ut.test('test_isFunctionDeclaration_voidReturn_block', () {
5671 final __test = new SimpleParserTest();
5672 runJUnitTest(__test, __test.test_isFunctionDeclaration_voidReturn_block) ;
5673 });
5674 _ut.test('test_isFunctionDeclaration_voidReturn_expression', () {
5675 final __test = new SimpleParserTest();
5676 runJUnitTest(__test, __test.test_isFunctionDeclaration_voidReturn_expres sion);
5677 });
5678 _ut.test('test_isFunctionExpression_false_noBody', () {
5679 final __test = new SimpleParserTest();
5680 runJUnitTest(__test, __test.test_isFunctionExpression_false_noBody);
5681 });
5682 _ut.test('test_isFunctionExpression_false_notParameters', () {
5683 final __test = new SimpleParserTest();
5684 runJUnitTest(__test, __test.test_isFunctionExpression_false_notParameter s);
5685 });
5686 _ut.test('test_isFunctionExpression_noName_block', () {
5687 final __test = new SimpleParserTest();
5688 runJUnitTest(__test, __test.test_isFunctionExpression_noName_block);
5689 });
5690 _ut.test('test_isFunctionExpression_noName_expression', () {
5691 final __test = new SimpleParserTest();
5692 runJUnitTest(__test, __test.test_isFunctionExpression_noName_expression) ;
5693 });
5694 _ut.test('test_isFunctionExpression_parameter_final', () {
5695 final __test = new SimpleParserTest();
5696 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_final);
5697 });
5698 _ut.test('test_isFunctionExpression_parameter_final_typed', () {
5699 final __test = new SimpleParserTest();
5700 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_final_ty ped);
5701 });
5702 _ut.test('test_isFunctionExpression_parameter_multiple', () {
5703 final __test = new SimpleParserTest();
5704 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_multiple );
5705 });
5706 _ut.test('test_isFunctionExpression_parameter_named', () {
5707 final __test = new SimpleParserTest();
5708 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_named);
5709 });
5710 _ut.test('test_isFunctionExpression_parameter_optional', () {
5711 final __test = new SimpleParserTest();
5712 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_optional );
5713 });
5714 _ut.test('test_isFunctionExpression_parameter_single', () {
5715 final __test = new SimpleParserTest();
5716 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_single);
5717 });
5718 _ut.test('test_isFunctionExpression_parameter_typed', () {
5719 final __test = new SimpleParserTest();
5720 runJUnitTest(__test, __test.test_isFunctionExpression_parameter_typed);
5721 });
5722 _ut.test('test_isInitializedVariableDeclaration_assignment', () {
5723 final __test = new SimpleParserTest();
5724 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_assign ment);
5725 });
5726 _ut.test('test_isInitializedVariableDeclaration_comparison', () {
5727 final __test = new SimpleParserTest();
5728 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_compar ison);
5729 });
5730 _ut.test('test_isInitializedVariableDeclaration_conditional', () {
5731 final __test = new SimpleParserTest();
5732 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_condit ional);
5733 });
5734 _ut.test('test_isInitializedVariableDeclaration_const_noType_initialized', () {
5735 final __test = new SimpleParserTest();
5736 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_const_ noType_initialized);
5737 });
5738 _ut.test('test_isInitializedVariableDeclaration_const_noType_uninitialized ', () {
5739 final __test = new SimpleParserTest();
5740 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_const_ noType_uninitialized);
5741 });
5742 _ut.test('test_isInitializedVariableDeclaration_const_simpleType_uninitial ized', () {
5743 final __test = new SimpleParserTest();
5744 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_const_ simpleType_uninitialized);
5745 });
5746 _ut.test('test_isInitializedVariableDeclaration_final_noType_initialized', () {
5747 final __test = new SimpleParserTest();
5748 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_final_ noType_initialized);
5749 });
5750 _ut.test('test_isInitializedVariableDeclaration_final_noType_uninitialized ', () {
5751 final __test = new SimpleParserTest();
5752 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_final_ noType_uninitialized);
5753 });
5754 _ut.test('test_isInitializedVariableDeclaration_final_simpleType_initializ ed', () {
5755 final __test = new SimpleParserTest();
5756 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_final_ simpleType_initialized);
5757 });
5758 _ut.test('test_isInitializedVariableDeclaration_functionDeclaration_typed' , () {
5759 final __test = new SimpleParserTest();
5760 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_functi onDeclaration_typed);
5761 });
5762 _ut.test('test_isInitializedVariableDeclaration_functionDeclaration_untype d', () {
5763 final __test = new SimpleParserTest();
5764 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_functi onDeclaration_untyped);
5765 });
5766 _ut.test('test_isInitializedVariableDeclaration_noType_initialized', () {
5767 final __test = new SimpleParserTest();
5768 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_noType _initialized);
5769 });
5770 _ut.test('test_isInitializedVariableDeclaration_noType_uninitialized', () {
5771 final __test = new SimpleParserTest();
5772 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_noType _uninitialized);
5773 });
5774 _ut.test('test_isInitializedVariableDeclaration_parameterizedType_initiali zed', () {
5775 final __test = new SimpleParserTest();
5776 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_parame terizedType_initialized);
5777 });
5778 _ut.test('test_isInitializedVariableDeclaration_parameterizedType_uninitia lized', () {
5779 final __test = new SimpleParserTest();
5780 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_parame terizedType_uninitialized);
5781 });
5782 _ut.test('test_isInitializedVariableDeclaration_simpleType_initialized', ( ) {
5783 final __test = new SimpleParserTest();
5784 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_simple Type_initialized);
5785 });
5786 _ut.test('test_isInitializedVariableDeclaration_simpleType_uninitialized', () {
5787 final __test = new SimpleParserTest();
5788 runJUnitTest(__test, __test.test_isInitializedVariableDeclaration_simple Type_uninitialized);
5789 });
5790 _ut.test('test_isSwitchMember_case_labeled', () {
5791 final __test = new SimpleParserTest();
5792 runJUnitTest(__test, __test.test_isSwitchMember_case_labeled);
5793 });
5794 _ut.test('test_isSwitchMember_case_unlabeled', () {
5795 final __test = new SimpleParserTest();
5796 runJUnitTest(__test, __test.test_isSwitchMember_case_unlabeled);
5797 });
5798 _ut.test('test_isSwitchMember_default_labeled', () {
5799 final __test = new SimpleParserTest();
5800 runJUnitTest(__test, __test.test_isSwitchMember_default_labeled);
5801 });
5802 _ut.test('test_isSwitchMember_default_unlabeled', () {
5803 final __test = new SimpleParserTest();
5804 runJUnitTest(__test, __test.test_isSwitchMember_default_unlabeled);
5805 });
5806 _ut.test('test_isSwitchMember_false', () {
5807 final __test = new SimpleParserTest();
5808 runJUnitTest(__test, __test.test_isSwitchMember_false);
5809 });
5810 _ut.test('test_parseAdditiveExpression_normal', () {
5811 final __test = new SimpleParserTest();
5812 runJUnitTest(__test, __test.test_parseAdditiveExpression_normal);
5813 });
5814 _ut.test('test_parseAdditiveExpression_super', () {
5815 final __test = new SimpleParserTest();
5816 runJUnitTest(__test, __test.test_parseAdditiveExpression_super);
5817 });
5818 _ut.test('test_parseAnnotation_n1', () {
5819 final __test = new SimpleParserTest();
5820 runJUnitTest(__test, __test.test_parseAnnotation_n1);
5821 });
5822 _ut.test('test_parseAnnotation_n1_a', () {
5823 final __test = new SimpleParserTest();
5824 runJUnitTest(__test, __test.test_parseAnnotation_n1_a);
5825 });
5826 _ut.test('test_parseAnnotation_n2', () {
5827 final __test = new SimpleParserTest();
5828 runJUnitTest(__test, __test.test_parseAnnotation_n2);
5829 });
5830 _ut.test('test_parseAnnotation_n2_a', () {
5831 final __test = new SimpleParserTest();
5832 runJUnitTest(__test, __test.test_parseAnnotation_n2_a);
5833 });
5834 _ut.test('test_parseAnnotation_n3', () {
5835 final __test = new SimpleParserTest();
5836 runJUnitTest(__test, __test.test_parseAnnotation_n3);
5837 });
5838 _ut.test('test_parseAnnotation_n3_a', () {
5839 final __test = new SimpleParserTest();
5840 runJUnitTest(__test, __test.test_parseAnnotation_n3_a);
5841 });
5842 _ut.test('test_parseArgumentDefinitionTest', () {
5843 final __test = new SimpleParserTest();
5844 runJUnitTest(__test, __test.test_parseArgumentDefinitionTest);
5845 });
5846 _ut.test('test_parseArgumentList_empty', () {
5847 final __test = new SimpleParserTest();
5848 runJUnitTest(__test, __test.test_parseArgumentList_empty);
5849 });
5850 _ut.test('test_parseArgumentList_mixed', () {
5851 final __test = new SimpleParserTest();
5852 runJUnitTest(__test, __test.test_parseArgumentList_mixed);
5853 });
5854 _ut.test('test_parseArgumentList_noNamed', () {
5855 final __test = new SimpleParserTest();
5856 runJUnitTest(__test, __test.test_parseArgumentList_noNamed);
5857 });
5858 _ut.test('test_parseArgumentList_onlyNamed', () {
5859 final __test = new SimpleParserTest();
5860 runJUnitTest(__test, __test.test_parseArgumentList_onlyNamed);
5861 });
5862 _ut.test('test_parseArgument_named', () {
5863 final __test = new SimpleParserTest();
5864 runJUnitTest(__test, __test.test_parseArgument_named);
5865 });
5866 _ut.test('test_parseArgument_unnamed', () {
5867 final __test = new SimpleParserTest();
5868 runJUnitTest(__test, __test.test_parseArgument_unnamed);
5869 });
5870 _ut.test('test_parseAssertStatement', () {
5871 final __test = new SimpleParserTest();
5872 runJUnitTest(__test, __test.test_parseAssertStatement);
5873 });
5874 _ut.test('test_parseAssignableExpression_expression_args_dot', () {
5875 final __test = new SimpleParserTest();
5876 runJUnitTest(__test, __test.test_parseAssignableExpression_expression_ar gs_dot);
5877 });
5878 _ut.test('test_parseAssignableExpression_expression_dot', () {
5879 final __test = new SimpleParserTest();
5880 runJUnitTest(__test, __test.test_parseAssignableExpression_expression_do t);
5881 });
5882 _ut.test('test_parseAssignableExpression_expression_index', () {
5883 final __test = new SimpleParserTest();
5884 runJUnitTest(__test, __test.test_parseAssignableExpression_expression_in dex);
5885 });
5886 _ut.test('test_parseAssignableExpression_identifier', () {
5887 final __test = new SimpleParserTest();
5888 runJUnitTest(__test, __test.test_parseAssignableExpression_identifier);
5889 });
5890 _ut.test('test_parseAssignableExpression_identifier_args_dot', () {
5891 final __test = new SimpleParserTest();
5892 runJUnitTest(__test, __test.test_parseAssignableExpression_identifier_ar gs_dot);
5893 });
5894 _ut.test('test_parseAssignableExpression_identifier_dot', () {
5895 final __test = new SimpleParserTest();
5896 runJUnitTest(__test, __test.test_parseAssignableExpression_identifier_do t);
5897 });
5898 _ut.test('test_parseAssignableExpression_identifier_index', () {
5899 final __test = new SimpleParserTest();
5900 runJUnitTest(__test, __test.test_parseAssignableExpression_identifier_in dex);
5901 });
5902 _ut.test('test_parseAssignableExpression_super_dot', () {
5903 final __test = new SimpleParserTest();
5904 runJUnitTest(__test, __test.test_parseAssignableExpression_super_dot);
5905 });
5906 _ut.test('test_parseAssignableExpression_super_index', () {
5907 final __test = new SimpleParserTest();
5908 runJUnitTest(__test, __test.test_parseAssignableExpression_super_index);
5909 });
5910 _ut.test('test_parseAssignableSelector_dot', () {
5911 final __test = new SimpleParserTest();
5912 runJUnitTest(__test, __test.test_parseAssignableSelector_dot);
5913 });
5914 _ut.test('test_parseAssignableSelector_index', () {
5915 final __test = new SimpleParserTest();
5916 runJUnitTest(__test, __test.test_parseAssignableSelector_index);
5917 });
5918 _ut.test('test_parseAssignableSelector_none', () {
5919 final __test = new SimpleParserTest();
5920 runJUnitTest(__test, __test.test_parseAssignableSelector_none);
5921 });
5922 _ut.test('test_parseBitwiseAndExpression_normal', () {
5923 final __test = new SimpleParserTest();
5924 runJUnitTest(__test, __test.test_parseBitwiseAndExpression_normal);
5925 });
5926 _ut.test('test_parseBitwiseAndExpression_super', () {
5927 final __test = new SimpleParserTest();
5928 runJUnitTest(__test, __test.test_parseBitwiseAndExpression_super);
5929 });
5930 _ut.test('test_parseBitwiseOrExpression_normal', () {
5931 final __test = new SimpleParserTest();
5932 runJUnitTest(__test, __test.test_parseBitwiseOrExpression_normal);
5933 });
5934 _ut.test('test_parseBitwiseOrExpression_super', () {
5935 final __test = new SimpleParserTest();
5936 runJUnitTest(__test, __test.test_parseBitwiseOrExpression_super);
5937 });
5938 _ut.test('test_parseBitwiseXorExpression_normal', () {
5939 final __test = new SimpleParserTest();
5940 runJUnitTest(__test, __test.test_parseBitwiseXorExpression_normal);
5941 });
5942 _ut.test('test_parseBitwiseXorExpression_super', () {
5943 final __test = new SimpleParserTest();
5944 runJUnitTest(__test, __test.test_parseBitwiseXorExpression_super);
5945 });
5946 _ut.test('test_parseBlock_empty', () {
5947 final __test = new SimpleParserTest();
5948 runJUnitTest(__test, __test.test_parseBlock_empty);
5949 });
5950 _ut.test('test_parseBlock_nonEmpty', () {
5951 final __test = new SimpleParserTest();
5952 runJUnitTest(__test, __test.test_parseBlock_nonEmpty);
5953 });
5954 _ut.test('test_parseBreakStatement_label', () {
5955 final __test = new SimpleParserTest();
5956 runJUnitTest(__test, __test.test_parseBreakStatement_label);
5957 });
5958 _ut.test('test_parseBreakStatement_noLabel', () {
5959 final __test = new SimpleParserTest();
5960 runJUnitTest(__test, __test.test_parseBreakStatement_noLabel);
5961 });
5962 _ut.test('test_parseCascadeSection_i', () {
5963 final __test = new SimpleParserTest();
5964 runJUnitTest(__test, __test.test_parseCascadeSection_i);
5965 });
5966 _ut.test('test_parseCascadeSection_ia', () {
5967 final __test = new SimpleParserTest();
5968 runJUnitTest(__test, __test.test_parseCascadeSection_ia);
5969 });
5970 _ut.test('test_parseCascadeSection_ii', () {
5971 final __test = new SimpleParserTest();
5972 runJUnitTest(__test, __test.test_parseCascadeSection_ii);
5973 });
5974 _ut.test('test_parseCascadeSection_p', () {
5975 final __test = new SimpleParserTest();
5976 runJUnitTest(__test, __test.test_parseCascadeSection_p);
5977 });
5978 _ut.test('test_parseCascadeSection_p_assign', () {
5979 final __test = new SimpleParserTest();
5980 runJUnitTest(__test, __test.test_parseCascadeSection_p_assign);
5981 });
5982 _ut.test('test_parseCascadeSection_p_assign_withCascade', () {
5983 final __test = new SimpleParserTest();
5984 runJUnitTest(__test, __test.test_parseCascadeSection_p_assign_withCascad e);
5985 });
5986 _ut.test('test_parseCascadeSection_p_builtIn', () {
5987 final __test = new SimpleParserTest();
5988 runJUnitTest(__test, __test.test_parseCascadeSection_p_builtIn);
5989 });
5990 _ut.test('test_parseCascadeSection_pa', () {
5991 final __test = new SimpleParserTest();
5992 runJUnitTest(__test, __test.test_parseCascadeSection_pa);
5993 });
5994 _ut.test('test_parseCascadeSection_paa', () {
5995 final __test = new SimpleParserTest();
5996 runJUnitTest(__test, __test.test_parseCascadeSection_paa);
5997 });
5998 _ut.test('test_parseCascadeSection_paapaa', () {
5999 final __test = new SimpleParserTest();
6000 runJUnitTest(__test, __test.test_parseCascadeSection_paapaa);
6001 });
6002 _ut.test('test_parseCascadeSection_pap', () {
6003 final __test = new SimpleParserTest();
6004 runJUnitTest(__test, __test.test_parseCascadeSection_pap);
6005 });
6006 _ut.test('test_parseClassDeclaration_abstract', () {
6007 final __test = new SimpleParserTest();
6008 runJUnitTest(__test, __test.test_parseClassDeclaration_abstract);
6009 });
6010 _ut.test('test_parseClassDeclaration_empty', () {
6011 final __test = new SimpleParserTest();
6012 runJUnitTest(__test, __test.test_parseClassDeclaration_empty);
6013 });
6014 _ut.test('test_parseClassDeclaration_extends', () {
6015 final __test = new SimpleParserTest();
6016 runJUnitTest(__test, __test.test_parseClassDeclaration_extends);
6017 });
6018 _ut.test('test_parseClassDeclaration_extendsAndImplements', () {
6019 final __test = new SimpleParserTest();
6020 runJUnitTest(__test, __test.test_parseClassDeclaration_extendsAndImpleme nts);
6021 });
6022 _ut.test('test_parseClassDeclaration_extendsAndWith', () {
6023 final __test = new SimpleParserTest();
6024 runJUnitTest(__test, __test.test_parseClassDeclaration_extendsAndWith);
6025 });
6026 _ut.test('test_parseClassDeclaration_extendsAndWithAndImplements', () {
6027 final __test = new SimpleParserTest();
6028 runJUnitTest(__test, __test.test_parseClassDeclaration_extendsAndWithAnd Implements);
6029 });
6030 _ut.test('test_parseClassDeclaration_implements', () {
6031 final __test = new SimpleParserTest();
6032 runJUnitTest(__test, __test.test_parseClassDeclaration_implements);
6033 });
6034 _ut.test('test_parseClassDeclaration_native', () {
6035 final __test = new SimpleParserTest();
6036 runJUnitTest(__test, __test.test_parseClassDeclaration_native);
6037 });
6038 _ut.test('test_parseClassDeclaration_nonEmpty', () {
6039 final __test = new SimpleParserTest();
6040 runJUnitTest(__test, __test.test_parseClassDeclaration_nonEmpty);
6041 });
6042 _ut.test('test_parseClassDeclaration_typeAlias_implementsC', () {
6043 final __test = new SimpleParserTest();
6044 runJUnitTest(__test, __test.test_parseClassDeclaration_typeAlias_impleme ntsC);
6045 });
6046 _ut.test('test_parseClassDeclaration_typeAlias_withB', () {
6047 final __test = new SimpleParserTest();
6048 runJUnitTest(__test, __test.test_parseClassDeclaration_typeAlias_withB);
6049 });
6050 _ut.test('test_parseClassDeclaration_typeParameters', () {
6051 final __test = new SimpleParserTest();
6052 runJUnitTest(__test, __test.test_parseClassDeclaration_typeParameters);
6053 });
6054 _ut.test('test_parseClassMember_constructor_withInitializers', () {
6055 final __test = new SimpleParserTest();
6056 runJUnitTest(__test, __test.test_parseClassMember_constructor_withInitia lizers);
6057 });
6058 _ut.test('test_parseClassMember_field_instance_prefixedType', () {
6059 final __test = new SimpleParserTest();
6060 runJUnitTest(__test, __test.test_parseClassMember_field_instance_prefixe dType);
6061 });
6062 _ut.test('test_parseClassMember_field_namedGet', () {
6063 final __test = new SimpleParserTest();
6064 runJUnitTest(__test, __test.test_parseClassMember_field_namedGet);
6065 });
6066 _ut.test('test_parseClassMember_field_namedOperator', () {
6067 final __test = new SimpleParserTest();
6068 runJUnitTest(__test, __test.test_parseClassMember_field_namedOperator);
6069 });
6070 _ut.test('test_parseClassMember_field_namedOperator_withAssignment', () {
6071 final __test = new SimpleParserTest();
6072 runJUnitTest(__test, __test.test_parseClassMember_field_namedOperator_wi thAssignment);
6073 });
6074 _ut.test('test_parseClassMember_field_namedSet', () {
6075 final __test = new SimpleParserTest();
6076 runJUnitTest(__test, __test.test_parseClassMember_field_namedSet);
6077 });
6078 _ut.test('test_parseClassMember_getter_void', () {
6079 final __test = new SimpleParserTest();
6080 runJUnitTest(__test, __test.test_parseClassMember_getter_void);
6081 });
6082 _ut.test('test_parseClassMember_method_external', () {
6083 final __test = new SimpleParserTest();
6084 runJUnitTest(__test, __test.test_parseClassMember_method_external);
6085 });
6086 _ut.test('test_parseClassMember_method_external_withTypeAndArgs', () {
6087 final __test = new SimpleParserTest();
6088 runJUnitTest(__test, __test.test_parseClassMember_method_external_withTy peAndArgs);
6089 });
6090 _ut.test('test_parseClassMember_method_get_noType', () {
6091 final __test = new SimpleParserTest();
6092 runJUnitTest(__test, __test.test_parseClassMember_method_get_noType);
6093 });
6094 _ut.test('test_parseClassMember_method_get_type', () {
6095 final __test = new SimpleParserTest();
6096 runJUnitTest(__test, __test.test_parseClassMember_method_get_type);
6097 });
6098 _ut.test('test_parseClassMember_method_get_void', () {
6099 final __test = new SimpleParserTest();
6100 runJUnitTest(__test, __test.test_parseClassMember_method_get_void);
6101 });
6102 _ut.test('test_parseClassMember_method_operator_noType', () {
6103 final __test = new SimpleParserTest();
6104 runJUnitTest(__test, __test.test_parseClassMember_method_operator_noType );
6105 });
6106 _ut.test('test_parseClassMember_method_operator_type', () {
6107 final __test = new SimpleParserTest();
6108 runJUnitTest(__test, __test.test_parseClassMember_method_operator_type);
6109 });
6110 _ut.test('test_parseClassMember_method_operator_void', () {
6111 final __test = new SimpleParserTest();
6112 runJUnitTest(__test, __test.test_parseClassMember_method_operator_void);
6113 });
6114 _ut.test('test_parseClassMember_method_returnType_parameterized', () {
6115 final __test = new SimpleParserTest();
6116 runJUnitTest(__test, __test.test_parseClassMember_method_returnType_para meterized);
6117 });
6118 _ut.test('test_parseClassMember_method_set_noType', () {
6119 final __test = new SimpleParserTest();
6120 runJUnitTest(__test, __test.test_parseClassMember_method_set_noType);
6121 });
6122 _ut.test('test_parseClassMember_method_set_type', () {
6123 final __test = new SimpleParserTest();
6124 runJUnitTest(__test, __test.test_parseClassMember_method_set_type);
6125 });
6126 _ut.test('test_parseClassMember_method_set_void', () {
6127 final __test = new SimpleParserTest();
6128 runJUnitTest(__test, __test.test_parseClassMember_method_set_void);
6129 });
6130 _ut.test('test_parseClassMember_operator_index', () {
6131 final __test = new SimpleParserTest();
6132 runJUnitTest(__test, __test.test_parseClassMember_operator_index);
6133 });
6134 _ut.test('test_parseClassMember_operator_indexAssign', () {
6135 final __test = new SimpleParserTest();
6136 runJUnitTest(__test, __test.test_parseClassMember_operator_indexAssign);
6137 });
6138 _ut.test('test_parseClassMember_redirectingFactory_const', () {
6139 final __test = new SimpleParserTest();
6140 runJUnitTest(__test, __test.test_parseClassMember_redirectingFactory_con st);
6141 });
6142 _ut.test('test_parseClassMember_redirectingFactory_nonConst', () {
6143 final __test = new SimpleParserTest();
6144 runJUnitTest(__test, __test.test_parseClassMember_redirectingFactory_non Const);
6145 });
6146 _ut.test('test_parseClassTypeAlias_abstract', () {
6147 final __test = new SimpleParserTest();
6148 runJUnitTest(__test, __test.test_parseClassTypeAlias_abstract);
6149 });
6150 _ut.test('test_parseClassTypeAlias_implements', () {
6151 final __test = new SimpleParserTest();
6152 runJUnitTest(__test, __test.test_parseClassTypeAlias_implements);
6153 });
6154 _ut.test('test_parseClassTypeAlias_with', () {
6155 final __test = new SimpleParserTest();
6156 runJUnitTest(__test, __test.test_parseClassTypeAlias_with);
6157 });
6158 _ut.test('test_parseClassTypeAlias_with_implements', () {
6159 final __test = new SimpleParserTest();
6160 runJUnitTest(__test, __test.test_parseClassTypeAlias_with_implements);
6161 });
6162 _ut.test('test_parseCombinators_h', () {
6163 final __test = new SimpleParserTest();
6164 runJUnitTest(__test, __test.test_parseCombinators_h);
6165 });
6166 _ut.test('test_parseCombinators_hs', () {
6167 final __test = new SimpleParserTest();
6168 runJUnitTest(__test, __test.test_parseCombinators_hs);
6169 });
6170 _ut.test('test_parseCombinators_hshs', () {
6171 final __test = new SimpleParserTest();
6172 runJUnitTest(__test, __test.test_parseCombinators_hshs);
6173 });
6174 _ut.test('test_parseCombinators_s', () {
6175 final __test = new SimpleParserTest();
6176 runJUnitTest(__test, __test.test_parseCombinators_s);
6177 });
6178 _ut.test('test_parseCommentAndMetadata_c', () {
6179 final __test = new SimpleParserTest();
6180 runJUnitTest(__test, __test.test_parseCommentAndMetadata_c);
6181 });
6182 _ut.test('test_parseCommentAndMetadata_cmc', () {
6183 final __test = new SimpleParserTest();
6184 runJUnitTest(__test, __test.test_parseCommentAndMetadata_cmc);
6185 });
6186 _ut.test('test_parseCommentAndMetadata_cmcm', () {
6187 final __test = new SimpleParserTest();
6188 runJUnitTest(__test, __test.test_parseCommentAndMetadata_cmcm);
6189 });
6190 _ut.test('test_parseCommentAndMetadata_cmm', () {
6191 final __test = new SimpleParserTest();
6192 runJUnitTest(__test, __test.test_parseCommentAndMetadata_cmm);
6193 });
6194 _ut.test('test_parseCommentAndMetadata_m', () {
6195 final __test = new SimpleParserTest();
6196 runJUnitTest(__test, __test.test_parseCommentAndMetadata_m);
6197 });
6198 _ut.test('test_parseCommentAndMetadata_mcm', () {
6199 final __test = new SimpleParserTest();
6200 runJUnitTest(__test, __test.test_parseCommentAndMetadata_mcm);
6201 });
6202 _ut.test('test_parseCommentAndMetadata_mcmc', () {
6203 final __test = new SimpleParserTest();
6204 runJUnitTest(__test, __test.test_parseCommentAndMetadata_mcmc);
6205 });
6206 _ut.test('test_parseCommentAndMetadata_mm', () {
6207 final __test = new SimpleParserTest();
6208 runJUnitTest(__test, __test.test_parseCommentAndMetadata_mm);
6209 });
6210 _ut.test('test_parseCommentAndMetadata_none', () {
6211 final __test = new SimpleParserTest();
6212 runJUnitTest(__test, __test.test_parseCommentAndMetadata_none);
6213 });
6214 _ut.test('test_parseCommentAndMetadata_singleLine', () {
6215 final __test = new SimpleParserTest();
6216 runJUnitTest(__test, __test.test_parseCommentAndMetadata_singleLine);
6217 });
6218 _ut.test('test_parseCommentReference_new_prefixed', () {
6219 final __test = new SimpleParserTest();
6220 runJUnitTest(__test, __test.test_parseCommentReference_new_prefixed);
6221 });
6222 _ut.test('test_parseCommentReference_new_simple', () {
6223 final __test = new SimpleParserTest();
6224 runJUnitTest(__test, __test.test_parseCommentReference_new_simple);
6225 });
6226 _ut.test('test_parseCommentReference_prefixed', () {
6227 final __test = new SimpleParserTest();
6228 runJUnitTest(__test, __test.test_parseCommentReference_prefixed);
6229 });
6230 _ut.test('test_parseCommentReference_simple', () {
6231 final __test = new SimpleParserTest();
6232 runJUnitTest(__test, __test.test_parseCommentReference_simple);
6233 });
6234 _ut.test('test_parseCommentReference_synthetic', () {
6235 final __test = new SimpleParserTest();
6236 runJUnitTest(__test, __test.test_parseCommentReference_synthetic);
6237 });
6238 _ut.test('test_parseCommentReferences_multiLine', () {
6239 final __test = new SimpleParserTest();
6240 runJUnitTest(__test, __test.test_parseCommentReferences_multiLine);
6241 });
6242 _ut.test('test_parseCommentReferences_notClosed_noIdentifier', () {
6243 final __test = new SimpleParserTest();
6244 runJUnitTest(__test, __test.test_parseCommentReferences_notClosed_noIden tifier);
6245 });
6246 _ut.test('test_parseCommentReferences_notClosed_withIdentifier', () {
6247 final __test = new SimpleParserTest();
6248 runJUnitTest(__test, __test.test_parseCommentReferences_notClosed_withId entifier);
6249 });
6250 _ut.test('test_parseCommentReferences_singleLine', () {
6251 final __test = new SimpleParserTest();
6252 runJUnitTest(__test, __test.test_parseCommentReferences_singleLine);
6253 });
6254 _ut.test('test_parseCommentReferences_skipCodeBlock_bracketed', () {
6255 final __test = new SimpleParserTest();
6256 runJUnitTest(__test, __test.test_parseCommentReferences_skipCodeBlock_br acketed);
6257 });
6258 _ut.test('test_parseCommentReferences_skipCodeBlock_spaces', () {
6259 final __test = new SimpleParserTest();
6260 runJUnitTest(__test, __test.test_parseCommentReferences_skipCodeBlock_sp aces);
6261 });
6262 _ut.test('test_parseCommentReferences_skipLinkDefinition', () {
6263 final __test = new SimpleParserTest();
6264 runJUnitTest(__test, __test.test_parseCommentReferences_skipLinkDefiniti on);
6265 });
6266 _ut.test('test_parseCommentReferences_skipLinked', () {
6267 final __test = new SimpleParserTest();
6268 runJUnitTest(__test, __test.test_parseCommentReferences_skipLinked);
6269 });
6270 _ut.test('test_parseCommentReferences_skipReferenceLink', () {
6271 final __test = new SimpleParserTest();
6272 runJUnitTest(__test, __test.test_parseCommentReferences_skipReferenceLin k);
6273 });
6274 _ut.test('test_parseCompilationUnitMember_abstractAsPrefix', () {
6275 final __test = new SimpleParserTest();
6276 runJUnitTest(__test, __test.test_parseCompilationUnitMember_abstractAsPr efix);
6277 });
6278 _ut.test('test_parseCompilationUnitMember_class', () {
6279 final __test = new SimpleParserTest();
6280 runJUnitTest(__test, __test.test_parseCompilationUnitMember_class);
6281 });
6282 _ut.test('test_parseCompilationUnitMember_classTypeAlias', () {
6283 final __test = new SimpleParserTest();
6284 runJUnitTest(__test, __test.test_parseCompilationUnitMember_classTypeAli as);
6285 });
6286 _ut.test('test_parseCompilationUnitMember_constVariable', () {
6287 final __test = new SimpleParserTest();
6288 runJUnitTest(__test, __test.test_parseCompilationUnitMember_constVariabl e);
6289 });
6290 _ut.test('test_parseCompilationUnitMember_finalVariable', () {
6291 final __test = new SimpleParserTest();
6292 runJUnitTest(__test, __test.test_parseCompilationUnitMember_finalVariabl e);
6293 });
6294 _ut.test('test_parseCompilationUnitMember_function_external_noType', () {
6295 final __test = new SimpleParserTest();
6296 runJUnitTest(__test, __test.test_parseCompilationUnitMember_function_ext ernal_noType);
6297 });
6298 _ut.test('test_parseCompilationUnitMember_function_external_type', () {
6299 final __test = new SimpleParserTest();
6300 runJUnitTest(__test, __test.test_parseCompilationUnitMember_function_ext ernal_type);
6301 });
6302 _ut.test('test_parseCompilationUnitMember_function_noType', () {
6303 final __test = new SimpleParserTest();
6304 runJUnitTest(__test, __test.test_parseCompilationUnitMember_function_noT ype);
6305 });
6306 _ut.test('test_parseCompilationUnitMember_function_type', () {
6307 final __test = new SimpleParserTest();
6308 runJUnitTest(__test, __test.test_parseCompilationUnitMember_function_typ e);
6309 });
6310 _ut.test('test_parseCompilationUnitMember_function_void', () {
6311 final __test = new SimpleParserTest();
6312 runJUnitTest(__test, __test.test_parseCompilationUnitMember_function_voi d);
6313 });
6314 _ut.test('test_parseCompilationUnitMember_getter_external_noType', () {
6315 final __test = new SimpleParserTest();
6316 runJUnitTest(__test, __test.test_parseCompilationUnitMember_getter_exter nal_noType);
6317 });
6318 _ut.test('test_parseCompilationUnitMember_getter_external_type', () {
6319 final __test = new SimpleParserTest();
6320 runJUnitTest(__test, __test.test_parseCompilationUnitMember_getter_exter nal_type);
6321 });
6322 _ut.test('test_parseCompilationUnitMember_getter_noType', () {
6323 final __test = new SimpleParserTest();
6324 runJUnitTest(__test, __test.test_parseCompilationUnitMember_getter_noTyp e);
6325 });
6326 _ut.test('test_parseCompilationUnitMember_getter_type', () {
6327 final __test = new SimpleParserTest();
6328 runJUnitTest(__test, __test.test_parseCompilationUnitMember_getter_type) ;
6329 });
6330 _ut.test('test_parseCompilationUnitMember_setter_external_noType', () {
6331 final __test = new SimpleParserTest();
6332 runJUnitTest(__test, __test.test_parseCompilationUnitMember_setter_exter nal_noType);
6333 });
6334 _ut.test('test_parseCompilationUnitMember_setter_external_type', () {
6335 final __test = new SimpleParserTest();
6336 runJUnitTest(__test, __test.test_parseCompilationUnitMember_setter_exter nal_type);
6337 });
6338 _ut.test('test_parseCompilationUnitMember_setter_noType', () {
6339 final __test = new SimpleParserTest();
6340 runJUnitTest(__test, __test.test_parseCompilationUnitMember_setter_noTyp e);
6341 });
6342 _ut.test('test_parseCompilationUnitMember_setter_type', () {
6343 final __test = new SimpleParserTest();
6344 runJUnitTest(__test, __test.test_parseCompilationUnitMember_setter_type) ;
6345 });
6346 _ut.test('test_parseCompilationUnitMember_typeAlias_abstract', () {
6347 final __test = new SimpleParserTest();
6348 runJUnitTest(__test, __test.test_parseCompilationUnitMember_typeAlias_ab stract);
6349 });
6350 _ut.test('test_parseCompilationUnitMember_typeAlias_generic', () {
6351 final __test = new SimpleParserTest();
6352 runJUnitTest(__test, __test.test_parseCompilationUnitMember_typeAlias_ge neric);
6353 });
6354 _ut.test('test_parseCompilationUnitMember_typeAlias_implements', () {
6355 final __test = new SimpleParserTest();
6356 runJUnitTest(__test, __test.test_parseCompilationUnitMember_typeAlias_im plements);
6357 });
6358 _ut.test('test_parseCompilationUnitMember_typeAlias_noImplements', () {
6359 final __test = new SimpleParserTest();
6360 runJUnitTest(__test, __test.test_parseCompilationUnitMember_typeAlias_no Implements);
6361 });
6362 _ut.test('test_parseCompilationUnitMember_typedef', () {
6363 final __test = new SimpleParserTest();
6364 runJUnitTest(__test, __test.test_parseCompilationUnitMember_typedef);
6365 });
6366 _ut.test('test_parseCompilationUnitMember_variable', () {
6367 final __test = new SimpleParserTest();
6368 runJUnitTest(__test, __test.test_parseCompilationUnitMember_variable);
6369 });
6370 _ut.test('test_parseCompilationUnitMember_variableGet', () {
6371 final __test = new SimpleParserTest();
6372 runJUnitTest(__test, __test.test_parseCompilationUnitMember_variableGet) ;
6373 });
6374 _ut.test('test_parseCompilationUnitMember_variableSet', () {
6375 final __test = new SimpleParserTest();
6376 runJUnitTest(__test, __test.test_parseCompilationUnitMember_variableSet) ;
6377 });
6378 _ut.test('test_parseCompilationUnit_abstractAsPrefix_parameterized', () {
6379 final __test = new SimpleParserTest();
6380 runJUnitTest(__test, __test.test_parseCompilationUnit_abstractAsPrefix_p arameterized);
6381 });
6382 _ut.test('test_parseCompilationUnit_builtIn_asFunctionName', () {
6383 final __test = new SimpleParserTest();
6384 runJUnitTest(__test, __test.test_parseCompilationUnit_builtIn_asFunction Name);
6385 });
6386 _ut.test('test_parseCompilationUnit_directives_multiple', () {
6387 final __test = new SimpleParserTest();
6388 runJUnitTest(__test, __test.test_parseCompilationUnit_directives_multipl e);
6389 });
6390 _ut.test('test_parseCompilationUnit_directives_single', () {
6391 final __test = new SimpleParserTest();
6392 runJUnitTest(__test, __test.test_parseCompilationUnit_directives_single) ;
6393 });
6394 _ut.test('test_parseCompilationUnit_empty', () {
6395 final __test = new SimpleParserTest();
6396 runJUnitTest(__test, __test.test_parseCompilationUnit_empty);
6397 });
6398 _ut.test('test_parseCompilationUnit_exportAsPrefix', () {
6399 final __test = new SimpleParserTest();
6400 runJUnitTest(__test, __test.test_parseCompilationUnit_exportAsPrefix);
6401 });
6402 _ut.test('test_parseCompilationUnit_exportAsPrefix_parameterized', () {
6403 final __test = new SimpleParserTest();
6404 runJUnitTest(__test, __test.test_parseCompilationUnit_exportAsPrefix_par ameterized);
6405 });
6406 _ut.test('test_parseCompilationUnit_operatorAsPrefix_parameterized', () {
6407 final __test = new SimpleParserTest();
6408 runJUnitTest(__test, __test.test_parseCompilationUnit_operatorAsPrefix_p arameterized);
6409 });
6410 _ut.test('test_parseCompilationUnit_script', () {
6411 final __test = new SimpleParserTest();
6412 runJUnitTest(__test, __test.test_parseCompilationUnit_script);
6413 });
6414 _ut.test('test_parseCompilationUnit_skipFunctionBody_withInterpolation', ( ) {
6415 final __test = new SimpleParserTest();
6416 runJUnitTest(__test, __test.test_parseCompilationUnit_skipFunctionBody_w ithInterpolation);
6417 });
6418 _ut.test('test_parseCompilationUnit_topLevelDeclaration', () {
6419 final __test = new SimpleParserTest();
6420 runJUnitTest(__test, __test.test_parseCompilationUnit_topLevelDeclaratio n);
6421 });
6422 _ut.test('test_parseCompilationUnit_typedefAsPrefix', () {
6423 final __test = new SimpleParserTest();
6424 runJUnitTest(__test, __test.test_parseCompilationUnit_typedefAsPrefix);
6425 });
6426 _ut.test('test_parseConditionalExpression', () {
6427 final __test = new SimpleParserTest();
6428 runJUnitTest(__test, __test.test_parseConditionalExpression);
6429 });
6430 _ut.test('test_parseConstExpression_instanceCreation', () {
6431 final __test = new SimpleParserTest();
6432 runJUnitTest(__test, __test.test_parseConstExpression_instanceCreation);
6433 });
6434 _ut.test('test_parseConstExpression_listLiteral_typed', () {
6435 final __test = new SimpleParserTest();
6436 runJUnitTest(__test, __test.test_parseConstExpression_listLiteral_typed) ;
6437 });
6438 _ut.test('test_parseConstExpression_listLiteral_untyped', () {
6439 final __test = new SimpleParserTest();
6440 runJUnitTest(__test, __test.test_parseConstExpression_listLiteral_untype d);
6441 });
6442 _ut.test('test_parseConstExpression_mapLiteral_typed', () {
6443 final __test = new SimpleParserTest();
6444 runJUnitTest(__test, __test.test_parseConstExpression_mapLiteral_typed);
6445 });
6446 _ut.test('test_parseConstExpression_mapLiteral_untyped', () {
6447 final __test = new SimpleParserTest();
6448 runJUnitTest(__test, __test.test_parseConstExpression_mapLiteral_untyped );
6449 });
6450 _ut.test('test_parseConstructor', () {
6451 final __test = new SimpleParserTest();
6452 runJUnitTest(__test, __test.test_parseConstructor);
6453 });
6454 _ut.test('test_parseConstructorFieldInitializer_qualified', () {
6455 final __test = new SimpleParserTest();
6456 runJUnitTest(__test, __test.test_parseConstructorFieldInitializer_qualif ied);
6457 });
6458 _ut.test('test_parseConstructorFieldInitializer_unqualified', () {
6459 final __test = new SimpleParserTest();
6460 runJUnitTest(__test, __test.test_parseConstructorFieldInitializer_unqual ified);
6461 });
6462 _ut.test('test_parseConstructorName_named_noPrefix', () {
6463 final __test = new SimpleParserTest();
6464 runJUnitTest(__test, __test.test_parseConstructorName_named_noPrefix);
6465 });
6466 _ut.test('test_parseConstructorName_named_prefixed', () {
6467 final __test = new SimpleParserTest();
6468 runJUnitTest(__test, __test.test_parseConstructorName_named_prefixed);
6469 });
6470 _ut.test('test_parseConstructorName_unnamed_noPrefix', () {
6471 final __test = new SimpleParserTest();
6472 runJUnitTest(__test, __test.test_parseConstructorName_unnamed_noPrefix);
6473 });
6474 _ut.test('test_parseConstructorName_unnamed_prefixed', () {
6475 final __test = new SimpleParserTest();
6476 runJUnitTest(__test, __test.test_parseConstructorName_unnamed_prefixed);
6477 });
6478 _ut.test('test_parseConstructor_with_pseudo_function_literal', () {
6479 final __test = new SimpleParserTest();
6480 runJUnitTest(__test, __test.test_parseConstructor_with_pseudo_function_l iteral);
6481 });
6482 _ut.test('test_parseContinueStatement_label', () {
6483 final __test = new SimpleParserTest();
6484 runJUnitTest(__test, __test.test_parseContinueStatement_label);
6485 });
6486 _ut.test('test_parseContinueStatement_noLabel', () {
6487 final __test = new SimpleParserTest();
6488 runJUnitTest(__test, __test.test_parseContinueStatement_noLabel);
6489 });
6490 _ut.test('test_parseDirective_export', () {
6491 final __test = new SimpleParserTest();
6492 runJUnitTest(__test, __test.test_parseDirective_export);
6493 });
6494 _ut.test('test_parseDirective_import', () {
6495 final __test = new SimpleParserTest();
6496 runJUnitTest(__test, __test.test_parseDirective_import);
6497 });
6498 _ut.test('test_parseDirective_library', () {
6499 final __test = new SimpleParserTest();
6500 runJUnitTest(__test, __test.test_parseDirective_library);
6501 });
6502 _ut.test('test_parseDirective_part', () {
6503 final __test = new SimpleParserTest();
6504 runJUnitTest(__test, __test.test_parseDirective_part);
6505 });
6506 _ut.test('test_parseDirective_partOf', () {
6507 final __test = new SimpleParserTest();
6508 runJUnitTest(__test, __test.test_parseDirective_partOf);
6509 });
6510 _ut.test('test_parseDirectives_complete', () {
6511 final __test = new SimpleParserTest();
6512 runJUnitTest(__test, __test.test_parseDirectives_complete);
6513 });
6514 _ut.test('test_parseDirectives_empty', () {
6515 final __test = new SimpleParserTest();
6516 runJUnitTest(__test, __test.test_parseDirectives_empty);
6517 });
6518 _ut.test('test_parseDirectives_mixed', () {
6519 final __test = new SimpleParserTest();
6520 runJUnitTest(__test, __test.test_parseDirectives_mixed);
6521 });
6522 _ut.test('test_parseDirectives_multiple', () {
6523 final __test = new SimpleParserTest();
6524 runJUnitTest(__test, __test.test_parseDirectives_multiple);
6525 });
6526 _ut.test('test_parseDirectives_script', () {
6527 final __test = new SimpleParserTest();
6528 runJUnitTest(__test, __test.test_parseDirectives_script);
6529 });
6530 _ut.test('test_parseDirectives_single', () {
6531 final __test = new SimpleParserTest();
6532 runJUnitTest(__test, __test.test_parseDirectives_single);
6533 });
6534 _ut.test('test_parseDirectives_topLevelDeclaration', () {
6535 final __test = new SimpleParserTest();
6536 runJUnitTest(__test, __test.test_parseDirectives_topLevelDeclaration);
6537 });
6538 _ut.test('test_parseDoStatement', () {
6539 final __test = new SimpleParserTest();
6540 runJUnitTest(__test, __test.test_parseDoStatement);
6541 });
6542 _ut.test('test_parseDocumentationComment_block', () {
6543 final __test = new SimpleParserTest();
6544 runJUnitTest(__test, __test.test_parseDocumentationComment_block);
6545 });
6546 _ut.test('test_parseDocumentationComment_block_withReference', () {
6547 final __test = new SimpleParserTest();
6548 runJUnitTest(__test, __test.test_parseDocumentationComment_block_withRef erence);
6549 });
6550 _ut.test('test_parseDocumentationComment_endOfLine', () {
6551 final __test = new SimpleParserTest();
6552 runJUnitTest(__test, __test.test_parseDocumentationComment_endOfLine);
6553 });
6554 _ut.test('test_parseEmptyStatement', () {
6555 final __test = new SimpleParserTest();
6556 runJUnitTest(__test, __test.test_parseEmptyStatement);
6557 });
6558 _ut.test('test_parseEqualityExpression_normal', () {
6559 final __test = new SimpleParserTest();
6560 runJUnitTest(__test, __test.test_parseEqualityExpression_normal);
6561 });
6562 _ut.test('test_parseEqualityExpression_super', () {
6563 final __test = new SimpleParserTest();
6564 runJUnitTest(__test, __test.test_parseEqualityExpression_super);
6565 });
6566 _ut.test('test_parseExportDirective_hide', () {
6567 final __test = new SimpleParserTest();
6568 runJUnitTest(__test, __test.test_parseExportDirective_hide);
6569 });
6570 _ut.test('test_parseExportDirective_hide_show', () {
6571 final __test = new SimpleParserTest();
6572 runJUnitTest(__test, __test.test_parseExportDirective_hide_show);
6573 });
6574 _ut.test('test_parseExportDirective_noCombinator', () {
6575 final __test = new SimpleParserTest();
6576 runJUnitTest(__test, __test.test_parseExportDirective_noCombinator);
6577 });
6578 _ut.test('test_parseExportDirective_show', () {
6579 final __test = new SimpleParserTest();
6580 runJUnitTest(__test, __test.test_parseExportDirective_show);
6581 });
6582 _ut.test('test_parseExportDirective_show_hide', () {
6583 final __test = new SimpleParserTest();
6584 runJUnitTest(__test, __test.test_parseExportDirective_show_hide);
6585 });
6586 _ut.test('test_parseExpressionList_multiple', () {
6587 final __test = new SimpleParserTest();
6588 runJUnitTest(__test, __test.test_parseExpressionList_multiple);
6589 });
6590 _ut.test('test_parseExpressionList_single', () {
6591 final __test = new SimpleParserTest();
6592 runJUnitTest(__test, __test.test_parseExpressionList_single);
6593 });
6594 _ut.test('test_parseExpressionWithoutCascade_assign', () {
6595 final __test = new SimpleParserTest();
6596 runJUnitTest(__test, __test.test_parseExpressionWithoutCascade_assign);
6597 });
6598 _ut.test('test_parseExpressionWithoutCascade_comparison', () {
6599 final __test = new SimpleParserTest();
6600 runJUnitTest(__test, __test.test_parseExpressionWithoutCascade_compariso n);
6601 });
6602 _ut.test('test_parseExpressionWithoutCascade_superMethodInvocation', () {
6603 final __test = new SimpleParserTest();
6604 runJUnitTest(__test, __test.test_parseExpressionWithoutCascade_superMeth odInvocation);
6605 });
6606 _ut.test('test_parseExpression_assign', () {
6607 final __test = new SimpleParserTest();
6608 runJUnitTest(__test, __test.test_parseExpression_assign);
6609 });
6610 _ut.test('test_parseExpression_comparison', () {
6611 final __test = new SimpleParserTest();
6612 runJUnitTest(__test, __test.test_parseExpression_comparison);
6613 });
6614 _ut.test('test_parseExpression_invokeFunctionExpression', () {
6615 final __test = new SimpleParserTest();
6616 runJUnitTest(__test, __test.test_parseExpression_invokeFunctionExpressio n);
6617 });
6618 _ut.test('test_parseExpression_superMethodInvocation', () {
6619 final __test = new SimpleParserTest();
6620 runJUnitTest(__test, __test.test_parseExpression_superMethodInvocation);
6621 });
6622 _ut.test('test_parseExtendsClause', () {
6623 final __test = new SimpleParserTest();
6624 runJUnitTest(__test, __test.test_parseExtendsClause);
6625 });
6626 _ut.test('test_parseFinalConstVarOrType_const_noType', () {
6627 final __test = new SimpleParserTest();
6628 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_const_noType);
6629 });
6630 _ut.test('test_parseFinalConstVarOrType_const_type', () {
6631 final __test = new SimpleParserTest();
6632 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_const_type);
6633 });
6634 _ut.test('test_parseFinalConstVarOrType_final_noType', () {
6635 final __test = new SimpleParserTest();
6636 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_final_noType);
6637 });
6638 _ut.test('test_parseFinalConstVarOrType_final_prefixedType', () {
6639 final __test = new SimpleParserTest();
6640 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_final_prefixed Type);
6641 });
6642 _ut.test('test_parseFinalConstVarOrType_final_type', () {
6643 final __test = new SimpleParserTest();
6644 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_final_type);
6645 });
6646 _ut.test('test_parseFinalConstVarOrType_type_parameterized', () {
6647 final __test = new SimpleParserTest();
6648 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_type_parameter ized);
6649 });
6650 _ut.test('test_parseFinalConstVarOrType_type_prefixed', () {
6651 final __test = new SimpleParserTest();
6652 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_type_prefixed) ;
6653 });
6654 _ut.test('test_parseFinalConstVarOrType_type_prefixedAndParameterized', () {
6655 final __test = new SimpleParserTest();
6656 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_type_prefixedA ndParameterized);
6657 });
6658 _ut.test('test_parseFinalConstVarOrType_type_simple', () {
6659 final __test = new SimpleParserTest();
6660 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_type_simple);
6661 });
6662 _ut.test('test_parseFinalConstVarOrType_var', () {
6663 final __test = new SimpleParserTest();
6664 runJUnitTest(__test, __test.test_parseFinalConstVarOrType_var);
6665 });
6666 _ut.test('test_parseForStatement_each_identifier', () {
6667 final __test = new SimpleParserTest();
6668 runJUnitTest(__test, __test.test_parseForStatement_each_identifier);
6669 });
6670 _ut.test('test_parseForStatement_each_noType_metadata', () {
6671 final __test = new SimpleParserTest();
6672 runJUnitTest(__test, __test.test_parseForStatement_each_noType_metadata) ;
6673 });
6674 _ut.test('test_parseForStatement_each_type', () {
6675 final __test = new SimpleParserTest();
6676 runJUnitTest(__test, __test.test_parseForStatement_each_type);
6677 });
6678 _ut.test('test_parseForStatement_each_var', () {
6679 final __test = new SimpleParserTest();
6680 runJUnitTest(__test, __test.test_parseForStatement_each_var);
6681 });
6682 _ut.test('test_parseForStatement_loop_c', () {
6683 final __test = new SimpleParserTest();
6684 runJUnitTest(__test, __test.test_parseForStatement_loop_c);
6685 });
6686 _ut.test('test_parseForStatement_loop_cu', () {
6687 final __test = new SimpleParserTest();
6688 runJUnitTest(__test, __test.test_parseForStatement_loop_cu);
6689 });
6690 _ut.test('test_parseForStatement_loop_ecu', () {
6691 final __test = new SimpleParserTest();
6692 runJUnitTest(__test, __test.test_parseForStatement_loop_ecu);
6693 });
6694 _ut.test('test_parseForStatement_loop_i', () {
6695 final __test = new SimpleParserTest();
6696 runJUnitTest(__test, __test.test_parseForStatement_loop_i);
6697 });
6698 _ut.test('test_parseForStatement_loop_i_withMetadata', () {
6699 final __test = new SimpleParserTest();
6700 runJUnitTest(__test, __test.test_parseForStatement_loop_i_withMetadata);
6701 });
6702 _ut.test('test_parseForStatement_loop_ic', () {
6703 final __test = new SimpleParserTest();
6704 runJUnitTest(__test, __test.test_parseForStatement_loop_ic);
6705 });
6706 _ut.test('test_parseForStatement_loop_icu', () {
6707 final __test = new SimpleParserTest();
6708 runJUnitTest(__test, __test.test_parseForStatement_loop_icu);
6709 });
6710 _ut.test('test_parseForStatement_loop_iicuu', () {
6711 final __test = new SimpleParserTest();
6712 runJUnitTest(__test, __test.test_parseForStatement_loop_iicuu);
6713 });
6714 _ut.test('test_parseForStatement_loop_iu', () {
6715 final __test = new SimpleParserTest();
6716 runJUnitTest(__test, __test.test_parseForStatement_loop_iu);
6717 });
6718 _ut.test('test_parseForStatement_loop_u', () {
6719 final __test = new SimpleParserTest();
6720 runJUnitTest(__test, __test.test_parseForStatement_loop_u);
6721 });
6722 _ut.test('test_parseFormalParameterList_empty', () {
6723 final __test = new SimpleParserTest();
6724 runJUnitTest(__test, __test.test_parseFormalParameterList_empty);
6725 });
6726 _ut.test('test_parseFormalParameterList_named_multiple', () {
6727 final __test = new SimpleParserTest();
6728 runJUnitTest(__test, __test.test_parseFormalParameterList_named_multiple );
6729 });
6730 _ut.test('test_parseFormalParameterList_named_single', () {
6731 final __test = new SimpleParserTest();
6732 runJUnitTest(__test, __test.test_parseFormalParameterList_named_single);
6733 });
6734 _ut.test('test_parseFormalParameterList_normal_multiple', () {
6735 final __test = new SimpleParserTest();
6736 runJUnitTest(__test, __test.test_parseFormalParameterList_normal_multipl e);
6737 });
6738 _ut.test('test_parseFormalParameterList_normal_named', () {
6739 final __test = new SimpleParserTest();
6740 runJUnitTest(__test, __test.test_parseFormalParameterList_normal_named);
6741 });
6742 _ut.test('test_parseFormalParameterList_normal_positional', () {
6743 final __test = new SimpleParserTest();
6744 runJUnitTest(__test, __test.test_parseFormalParameterList_normal_positio nal);
6745 });
6746 _ut.test('test_parseFormalParameterList_normal_single', () {
6747 final __test = new SimpleParserTest();
6748 runJUnitTest(__test, __test.test_parseFormalParameterList_normal_single) ;
6749 });
6750 _ut.test('test_parseFormalParameterList_positional_multiple', () {
6751 final __test = new SimpleParserTest();
6752 runJUnitTest(__test, __test.test_parseFormalParameterList_positional_mul tiple);
6753 });
6754 _ut.test('test_parseFormalParameterList_positional_single', () {
6755 final __test = new SimpleParserTest();
6756 runJUnitTest(__test, __test.test_parseFormalParameterList_positional_sin gle);
6757 });
6758 _ut.test('test_parseFormalParameter_final_withType_named', () {
6759 final __test = new SimpleParserTest();
6760 runJUnitTest(__test, __test.test_parseFormalParameter_final_withType_nam ed);
6761 });
6762 _ut.test('test_parseFormalParameter_final_withType_normal', () {
6763 final __test = new SimpleParserTest();
6764 runJUnitTest(__test, __test.test_parseFormalParameter_final_withType_nor mal);
6765 });
6766 _ut.test('test_parseFormalParameter_final_withType_positional', () {
6767 final __test = new SimpleParserTest();
6768 runJUnitTest(__test, __test.test_parseFormalParameter_final_withType_pos itional);
6769 });
6770 _ut.test('test_parseFormalParameter_nonFinal_withType_named', () {
6771 final __test = new SimpleParserTest();
6772 runJUnitTest(__test, __test.test_parseFormalParameter_nonFinal_withType_ named);
6773 });
6774 _ut.test('test_parseFormalParameter_nonFinal_withType_normal', () {
6775 final __test = new SimpleParserTest();
6776 runJUnitTest(__test, __test.test_parseFormalParameter_nonFinal_withType_ normal);
6777 });
6778 _ut.test('test_parseFormalParameter_nonFinal_withType_positional', () {
6779 final __test = new SimpleParserTest();
6780 runJUnitTest(__test, __test.test_parseFormalParameter_nonFinal_withType_ positional);
6781 });
6782 _ut.test('test_parseFormalParameter_var', () {
6783 final __test = new SimpleParserTest();
6784 runJUnitTest(__test, __test.test_parseFormalParameter_var);
6785 });
6786 _ut.test('test_parseFormalParameter_var_named', () {
6787 final __test = new SimpleParserTest();
6788 runJUnitTest(__test, __test.test_parseFormalParameter_var_named);
6789 });
6790 _ut.test('test_parseFormalParameter_var_positional', () {
6791 final __test = new SimpleParserTest();
6792 runJUnitTest(__test, __test.test_parseFormalParameter_var_positional);
6793 });
6794 _ut.test('test_parseFunctionBody_block', () {
6795 final __test = new SimpleParserTest();
6796 runJUnitTest(__test, __test.test_parseFunctionBody_block);
6797 });
6798 _ut.test('test_parseFunctionBody_empty', () {
6799 final __test = new SimpleParserTest();
6800 runJUnitTest(__test, __test.test_parseFunctionBody_empty);
6801 });
6802 _ut.test('test_parseFunctionBody_expression', () {
6803 final __test = new SimpleParserTest();
6804 runJUnitTest(__test, __test.test_parseFunctionBody_expression);
6805 });
6806 _ut.test('test_parseFunctionBody_nativeFunctionBody', () {
6807 final __test = new SimpleParserTest();
6808 runJUnitTest(__test, __test.test_parseFunctionBody_nativeFunctionBody);
6809 });
6810 _ut.test('test_parseFunctionBody_skip_block', () {
6811 final __test = new SimpleParserTest();
6812 runJUnitTest(__test, __test.test_parseFunctionBody_skip_block);
6813 });
6814 _ut.test('test_parseFunctionBody_skip_blocks', () {
6815 final __test = new SimpleParserTest();
6816 runJUnitTest(__test, __test.test_parseFunctionBody_skip_blocks);
6817 });
6818 _ut.test('test_parseFunctionBody_skip_expression', () {
6819 final __test = new SimpleParserTest();
6820 runJUnitTest(__test, __test.test_parseFunctionBody_skip_expression);
6821 });
6822 _ut.test('test_parseFunctionDeclarationStatement', () {
6823 final __test = new SimpleParserTest();
6824 runJUnitTest(__test, __test.test_parseFunctionDeclarationStatement);
6825 });
6826 _ut.test('test_parseFunctionDeclaration_function', () {
6827 final __test = new SimpleParserTest();
6828 runJUnitTest(__test, __test.test_parseFunctionDeclaration_function);
6829 });
6830 _ut.test('test_parseFunctionDeclaration_getter', () {
6831 final __test = new SimpleParserTest();
6832 runJUnitTest(__test, __test.test_parseFunctionDeclaration_getter);
6833 });
6834 _ut.test('test_parseFunctionDeclaration_setter', () {
6835 final __test = new SimpleParserTest();
6836 runJUnitTest(__test, __test.test_parseFunctionDeclaration_setter);
6837 });
6838 _ut.test('test_parseFunctionExpression_body_inExpression', () {
6839 final __test = new SimpleParserTest();
6840 runJUnitTest(__test, __test.test_parseFunctionExpression_body_inExpressi on);
6841 });
6842 _ut.test('test_parseFunctionExpression_minimal', () {
6843 final __test = new SimpleParserTest();
6844 runJUnitTest(__test, __test.test_parseFunctionExpression_minimal);
6845 });
6846 _ut.test('test_parseGetter_nonStatic', () {
6847 final __test = new SimpleParserTest();
6848 runJUnitTest(__test, __test.test_parseGetter_nonStatic);
6849 });
6850 _ut.test('test_parseGetter_static', () {
6851 final __test = new SimpleParserTest();
6852 runJUnitTest(__test, __test.test_parseGetter_static);
6853 });
6854 _ut.test('test_parseIdentifierList_multiple', () {
6855 final __test = new SimpleParserTest();
6856 runJUnitTest(__test, __test.test_parseIdentifierList_multiple);
6857 });
6858 _ut.test('test_parseIdentifierList_single', () {
6859 final __test = new SimpleParserTest();
6860 runJUnitTest(__test, __test.test_parseIdentifierList_single);
6861 });
6862 _ut.test('test_parseIfStatement_else_block', () {
6863 final __test = new SimpleParserTest();
6864 runJUnitTest(__test, __test.test_parseIfStatement_else_block);
6865 });
6866 _ut.test('test_parseIfStatement_else_statement', () {
6867 final __test = new SimpleParserTest();
6868 runJUnitTest(__test, __test.test_parseIfStatement_else_statement);
6869 });
6870 _ut.test('test_parseIfStatement_noElse_block', () {
6871 final __test = new SimpleParserTest();
6872 runJUnitTest(__test, __test.test_parseIfStatement_noElse_block);
6873 });
6874 _ut.test('test_parseIfStatement_noElse_statement', () {
6875 final __test = new SimpleParserTest();
6876 runJUnitTest(__test, __test.test_parseIfStatement_noElse_statement);
6877 });
6878 _ut.test('test_parseImplementsClause_multiple', () {
6879 final __test = new SimpleParserTest();
6880 runJUnitTest(__test, __test.test_parseImplementsClause_multiple);
6881 });
6882 _ut.test('test_parseImplementsClause_single', () {
6883 final __test = new SimpleParserTest();
6884 runJUnitTest(__test, __test.test_parseImplementsClause_single);
6885 });
6886 _ut.test('test_parseImportDirective_deferred', () {
6887 final __test = new SimpleParserTest();
6888 runJUnitTest(__test, __test.test_parseImportDirective_deferred);
6889 });
6890 _ut.test('test_parseImportDirective_hide', () {
6891 final __test = new SimpleParserTest();
6892 runJUnitTest(__test, __test.test_parseImportDirective_hide);
6893 });
6894 _ut.test('test_parseImportDirective_noCombinator', () {
6895 final __test = new SimpleParserTest();
6896 runJUnitTest(__test, __test.test_parseImportDirective_noCombinator);
6897 });
6898 _ut.test('test_parseImportDirective_prefix', () {
6899 final __test = new SimpleParserTest();
6900 runJUnitTest(__test, __test.test_parseImportDirective_prefix);
6901 });
6902 _ut.test('test_parseImportDirective_prefix_hide_show', () {
6903 final __test = new SimpleParserTest();
6904 runJUnitTest(__test, __test.test_parseImportDirective_prefix_hide_show);
6905 });
6906 _ut.test('test_parseImportDirective_prefix_show_hide', () {
6907 final __test = new SimpleParserTest();
6908 runJUnitTest(__test, __test.test_parseImportDirective_prefix_show_hide);
6909 });
6910 _ut.test('test_parseImportDirective_show', () {
6911 final __test = new SimpleParserTest();
6912 runJUnitTest(__test, __test.test_parseImportDirective_show);
6913 });
6914 _ut.test('test_parseInitializedIdentifierList_type', () {
6915 final __test = new SimpleParserTest();
6916 runJUnitTest(__test, __test.test_parseInitializedIdentifierList_type);
6917 });
6918 _ut.test('test_parseInitializedIdentifierList_var', () {
6919 final __test = new SimpleParserTest();
6920 runJUnitTest(__test, __test.test_parseInitializedIdentifierList_var);
6921 });
6922 _ut.test('test_parseInstanceCreationExpression_qualifiedType', () {
6923 final __test = new SimpleParserTest();
6924 runJUnitTest(__test, __test.test_parseInstanceCreationExpression_qualifi edType);
6925 });
6926 _ut.test('test_parseInstanceCreationExpression_qualifiedType_named', () {
6927 final __test = new SimpleParserTest();
6928 runJUnitTest(__test, __test.test_parseInstanceCreationExpression_qualifi edType_named);
6929 });
6930 _ut.test('test_parseInstanceCreationExpression_type', () {
6931 final __test = new SimpleParserTest();
6932 runJUnitTest(__test, __test.test_parseInstanceCreationExpression_type);
6933 });
6934 _ut.test('test_parseInstanceCreationExpression_type_named', () {
6935 final __test = new SimpleParserTest();
6936 runJUnitTest(__test, __test.test_parseInstanceCreationExpression_type_na med);
6937 });
6938 _ut.test('test_parseLibraryDirective', () {
6939 final __test = new SimpleParserTest();
6940 runJUnitTest(__test, __test.test_parseLibraryDirective);
6941 });
6942 _ut.test('test_parseLibraryIdentifier_multiple', () {
6943 final __test = new SimpleParserTest();
6944 runJUnitTest(__test, __test.test_parseLibraryIdentifier_multiple);
6945 });
6946 _ut.test('test_parseLibraryIdentifier_single', () {
6947 final __test = new SimpleParserTest();
6948 runJUnitTest(__test, __test.test_parseLibraryIdentifier_single);
6949 });
6950 _ut.test('test_parseListLiteral_empty_oneToken', () {
6951 final __test = new SimpleParserTest();
6952 runJUnitTest(__test, __test.test_parseListLiteral_empty_oneToken);
6953 });
6954 _ut.test('test_parseListLiteral_empty_twoTokens', () {
6955 final __test = new SimpleParserTest();
6956 runJUnitTest(__test, __test.test_parseListLiteral_empty_twoTokens);
6957 });
6958 _ut.test('test_parseListLiteral_multiple', () {
6959 final __test = new SimpleParserTest();
6960 runJUnitTest(__test, __test.test_parseListLiteral_multiple);
6961 });
6962 _ut.test('test_parseListLiteral_single', () {
6963 final __test = new SimpleParserTest();
6964 runJUnitTest(__test, __test.test_parseListLiteral_single);
6965 });
6966 _ut.test('test_parseListOrMapLiteral_list_noType', () {
6967 final __test = new SimpleParserTest();
6968 runJUnitTest(__test, __test.test_parseListOrMapLiteral_list_noType);
6969 });
6970 _ut.test('test_parseListOrMapLiteral_list_type', () {
6971 final __test = new SimpleParserTest();
6972 runJUnitTest(__test, __test.test_parseListOrMapLiteral_list_type);
6973 });
6974 _ut.test('test_parseListOrMapLiteral_map_noType', () {
6975 final __test = new SimpleParserTest();
6976 runJUnitTest(__test, __test.test_parseListOrMapLiteral_map_noType);
6977 });
6978 _ut.test('test_parseListOrMapLiteral_map_type', () {
6979 final __test = new SimpleParserTest();
6980 runJUnitTest(__test, __test.test_parseListOrMapLiteral_map_type);
6981 });
6982 _ut.test('test_parseLogicalAndExpression', () {
6983 final __test = new SimpleParserTest();
6984 runJUnitTest(__test, __test.test_parseLogicalAndExpression);
6985 });
6986 _ut.test('test_parseLogicalOrExpression', () {
6987 final __test = new SimpleParserTest();
6988 runJUnitTest(__test, __test.test_parseLogicalOrExpression);
6989 });
6990 _ut.test('test_parseMapLiteralEntry_complex', () {
6991 final __test = new SimpleParserTest();
6992 runJUnitTest(__test, __test.test_parseMapLiteralEntry_complex);
6993 });
6994 _ut.test('test_parseMapLiteralEntry_int', () {
6995 final __test = new SimpleParserTest();
6996 runJUnitTest(__test, __test.test_parseMapLiteralEntry_int);
6997 });
6998 _ut.test('test_parseMapLiteralEntry_string', () {
6999 final __test = new SimpleParserTest();
7000 runJUnitTest(__test, __test.test_parseMapLiteralEntry_string);
7001 });
7002 _ut.test('test_parseMapLiteral_empty', () {
7003 final __test = new SimpleParserTest();
7004 runJUnitTest(__test, __test.test_parseMapLiteral_empty);
7005 });
7006 _ut.test('test_parseMapLiteral_multiple', () {
7007 final __test = new SimpleParserTest();
7008 runJUnitTest(__test, __test.test_parseMapLiteral_multiple);
7009 });
7010 _ut.test('test_parseMapLiteral_single', () {
7011 final __test = new SimpleParserTest();
7012 runJUnitTest(__test, __test.test_parseMapLiteral_single);
7013 });
7014 _ut.test('test_parseModifiers_abstract', () {
7015 final __test = new SimpleParserTest();
7016 runJUnitTest(__test, __test.test_parseModifiers_abstract);
7017 });
7018 _ut.test('test_parseModifiers_const', () {
7019 final __test = new SimpleParserTest();
7020 runJUnitTest(__test, __test.test_parseModifiers_const);
7021 });
7022 _ut.test('test_parseModifiers_external', () {
7023 final __test = new SimpleParserTest();
7024 runJUnitTest(__test, __test.test_parseModifiers_external);
7025 });
7026 _ut.test('test_parseModifiers_factory', () {
7027 final __test = new SimpleParserTest();
7028 runJUnitTest(__test, __test.test_parseModifiers_factory);
7029 });
7030 _ut.test('test_parseModifiers_final', () {
7031 final __test = new SimpleParserTest();
7032 runJUnitTest(__test, __test.test_parseModifiers_final);
7033 });
7034 _ut.test('test_parseModifiers_static', () {
7035 final __test = new SimpleParserTest();
7036 runJUnitTest(__test, __test.test_parseModifiers_static);
7037 });
7038 _ut.test('test_parseModifiers_var', () {
7039 final __test = new SimpleParserTest();
7040 runJUnitTest(__test, __test.test_parseModifiers_var);
7041 });
7042 _ut.test('test_parseMultiplicativeExpression_normal', () {
7043 final __test = new SimpleParserTest();
7044 runJUnitTest(__test, __test.test_parseMultiplicativeExpression_normal);
7045 });
7046 _ut.test('test_parseMultiplicativeExpression_super', () {
7047 final __test = new SimpleParserTest();
7048 runJUnitTest(__test, __test.test_parseMultiplicativeExpression_super);
7049 });
7050 _ut.test('test_parseNewExpression', () {
7051 final __test = new SimpleParserTest();
7052 runJUnitTest(__test, __test.test_parseNewExpression);
7053 });
7054 _ut.test('test_parseNonLabeledStatement_const_list_empty', () {
7055 final __test = new SimpleParserTest();
7056 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_list_emp ty);
7057 });
7058 _ut.test('test_parseNonLabeledStatement_const_list_nonEmpty', () {
7059 final __test = new SimpleParserTest();
7060 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_list_non Empty);
7061 });
7062 _ut.test('test_parseNonLabeledStatement_const_map_empty', () {
7063 final __test = new SimpleParserTest();
7064 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_map_empt y);
7065 });
7066 _ut.test('test_parseNonLabeledStatement_const_map_nonEmpty', () {
7067 final __test = new SimpleParserTest();
7068 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_map_nonE mpty);
7069 });
7070 _ut.test('test_parseNonLabeledStatement_const_object', () {
7071 final __test = new SimpleParserTest();
7072 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_object);
7073 });
7074 _ut.test('test_parseNonLabeledStatement_const_object_named_typeParameters' , () {
7075 final __test = new SimpleParserTest();
7076 runJUnitTest(__test, __test.test_parseNonLabeledStatement_const_object_n amed_typeParameters);
7077 });
7078 _ut.test('test_parseNonLabeledStatement_constructorInvocation', () {
7079 final __test = new SimpleParserTest();
7080 runJUnitTest(__test, __test.test_parseNonLabeledStatement_constructorInv ocation);
7081 });
7082 _ut.test('test_parseNonLabeledStatement_false', () {
7083 final __test = new SimpleParserTest();
7084 runJUnitTest(__test, __test.test_parseNonLabeledStatement_false);
7085 });
7086 _ut.test('test_parseNonLabeledStatement_functionDeclaration', () {
7087 final __test = new SimpleParserTest();
7088 runJUnitTest(__test, __test.test_parseNonLabeledStatement_functionDeclar ation);
7089 });
7090 _ut.test('test_parseNonLabeledStatement_functionDeclaration_arguments', () {
7091 final __test = new SimpleParserTest();
7092 runJUnitTest(__test, __test.test_parseNonLabeledStatement_functionDeclar ation_arguments);
7093 });
7094 _ut.test('test_parseNonLabeledStatement_functionExpressionIndex', () {
7095 final __test = new SimpleParserTest();
7096 runJUnitTest(__test, __test.test_parseNonLabeledStatement_functionExpres sionIndex);
7097 });
7098 _ut.test('test_parseNonLabeledStatement_functionInvocation', () {
7099 final __test = new SimpleParserTest();
7100 runJUnitTest(__test, __test.test_parseNonLabeledStatement_functionInvoca tion);
7101 });
7102 _ut.test('test_parseNonLabeledStatement_invokeFunctionExpression', () {
7103 final __test = new SimpleParserTest();
7104 runJUnitTest(__test, __test.test_parseNonLabeledStatement_invokeFunction Expression);
7105 });
7106 _ut.test('test_parseNonLabeledStatement_null', () {
7107 final __test = new SimpleParserTest();
7108 runJUnitTest(__test, __test.test_parseNonLabeledStatement_null);
7109 });
7110 _ut.test('test_parseNonLabeledStatement_startingWithBuiltInIdentifier', () {
7111 final __test = new SimpleParserTest();
7112 runJUnitTest(__test, __test.test_parseNonLabeledStatement_startingWithBu iltInIdentifier);
7113 });
7114 _ut.test('test_parseNonLabeledStatement_true', () {
7115 final __test = new SimpleParserTest();
7116 runJUnitTest(__test, __test.test_parseNonLabeledStatement_true);
7117 });
7118 _ut.test('test_parseNonLabeledStatement_typeCast', () {
7119 final __test = new SimpleParserTest();
7120 runJUnitTest(__test, __test.test_parseNonLabeledStatement_typeCast);
7121 });
7122 _ut.test('test_parseNormalFormalParameter_field_const_noType', () {
7123 final __test = new SimpleParserTest();
7124 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_const_ noType);
7125 });
7126 _ut.test('test_parseNormalFormalParameter_field_const_type', () {
7127 final __test = new SimpleParserTest();
7128 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_const_ type);
7129 });
7130 _ut.test('test_parseNormalFormalParameter_field_final_noType', () {
7131 final __test = new SimpleParserTest();
7132 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_final_ noType);
7133 });
7134 _ut.test('test_parseNormalFormalParameter_field_final_type', () {
7135 final __test = new SimpleParserTest();
7136 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_final_ type);
7137 });
7138 _ut.test('test_parseNormalFormalParameter_field_function_nested', () {
7139 final __test = new SimpleParserTest();
7140 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_functi on_nested);
7141 });
7142 _ut.test('test_parseNormalFormalParameter_field_function_noNested', () {
7143 final __test = new SimpleParserTest();
7144 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_functi on_noNested);
7145 });
7146 _ut.test('test_parseNormalFormalParameter_field_noType', () {
7147 final __test = new SimpleParserTest();
7148 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_noType );
7149 });
7150 _ut.test('test_parseNormalFormalParameter_field_type', () {
7151 final __test = new SimpleParserTest();
7152 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_type);
7153 });
7154 _ut.test('test_parseNormalFormalParameter_field_var', () {
7155 final __test = new SimpleParserTest();
7156 runJUnitTest(__test, __test.test_parseNormalFormalParameter_field_var);
7157 });
7158 _ut.test('test_parseNormalFormalParameter_function_noType', () {
7159 final __test = new SimpleParserTest();
7160 runJUnitTest(__test, __test.test_parseNormalFormalParameter_function_noT ype);
7161 });
7162 _ut.test('test_parseNormalFormalParameter_function_type', () {
7163 final __test = new SimpleParserTest();
7164 runJUnitTest(__test, __test.test_parseNormalFormalParameter_function_typ e);
7165 });
7166 _ut.test('test_parseNormalFormalParameter_function_void', () {
7167 final __test = new SimpleParserTest();
7168 runJUnitTest(__test, __test.test_parseNormalFormalParameter_function_voi d);
7169 });
7170 _ut.test('test_parseNormalFormalParameter_simple_const_noType', () {
7171 final __test = new SimpleParserTest();
7172 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_const _noType);
7173 });
7174 _ut.test('test_parseNormalFormalParameter_simple_const_type', () {
7175 final __test = new SimpleParserTest();
7176 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_const _type);
7177 });
7178 _ut.test('test_parseNormalFormalParameter_simple_final_noType', () {
7179 final __test = new SimpleParserTest();
7180 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_final _noType);
7181 });
7182 _ut.test('test_parseNormalFormalParameter_simple_final_type', () {
7183 final __test = new SimpleParserTest();
7184 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_final _type);
7185 });
7186 _ut.test('test_parseNormalFormalParameter_simple_noType', () {
7187 final __test = new SimpleParserTest();
7188 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_noTyp e);
7189 });
7190 _ut.test('test_parseNormalFormalParameter_simple_type', () {
7191 final __test = new SimpleParserTest();
7192 runJUnitTest(__test, __test.test_parseNormalFormalParameter_simple_type) ;
7193 });
7194 _ut.test('test_parseOperator', () {
7195 final __test = new SimpleParserTest();
7196 runJUnitTest(__test, __test.test_parseOperator);
7197 });
7198 _ut.test('test_parseOptionalReturnType', () {
7199 final __test = new SimpleParserTest();
7200 runJUnitTest(__test, __test.test_parseOptionalReturnType);
7201 });
7202 _ut.test('test_parsePartDirective_part', () {
7203 final __test = new SimpleParserTest();
7204 runJUnitTest(__test, __test.test_parsePartDirective_part);
7205 });
7206 _ut.test('test_parsePartDirective_partOf', () {
7207 final __test = new SimpleParserTest();
7208 runJUnitTest(__test, __test.test_parsePartDirective_partOf);
7209 });
7210 _ut.test('test_parsePostfixExpression_decrement', () {
7211 final __test = new SimpleParserTest();
7212 runJUnitTest(__test, __test.test_parsePostfixExpression_decrement);
7213 });
7214 _ut.test('test_parsePostfixExpression_increment', () {
7215 final __test = new SimpleParserTest();
7216 runJUnitTest(__test, __test.test_parsePostfixExpression_increment);
7217 });
7218 _ut.test('test_parsePostfixExpression_none_indexExpression', () {
7219 final __test = new SimpleParserTest();
7220 runJUnitTest(__test, __test.test_parsePostfixExpression_none_indexExpres sion);
7221 });
7222 _ut.test('test_parsePostfixExpression_none_methodInvocation', () {
7223 final __test = new SimpleParserTest();
7224 runJUnitTest(__test, __test.test_parsePostfixExpression_none_methodInvoc ation);
7225 });
7226 _ut.test('test_parsePostfixExpression_none_propertyAccess', () {
7227 final __test = new SimpleParserTest();
7228 runJUnitTest(__test, __test.test_parsePostfixExpression_none_propertyAcc ess);
7229 });
7230 _ut.test('test_parsePrefixedIdentifier_noPrefix', () {
7231 final __test = new SimpleParserTest();
7232 runJUnitTest(__test, __test.test_parsePrefixedIdentifier_noPrefix);
7233 });
7234 _ut.test('test_parsePrefixedIdentifier_prefix', () {
7235 final __test = new SimpleParserTest();
7236 runJUnitTest(__test, __test.test_parsePrefixedIdentifier_prefix);
7237 });
7238 _ut.test('test_parsePrimaryExpression_const', () {
7239 final __test = new SimpleParserTest();
7240 runJUnitTest(__test, __test.test_parsePrimaryExpression_const);
7241 });
7242 _ut.test('test_parsePrimaryExpression_double', () {
7243 final __test = new SimpleParserTest();
7244 runJUnitTest(__test, __test.test_parsePrimaryExpression_double);
7245 });
7246 _ut.test('test_parsePrimaryExpression_false', () {
7247 final __test = new SimpleParserTest();
7248 runJUnitTest(__test, __test.test_parsePrimaryExpression_false);
7249 });
7250 _ut.test('test_parsePrimaryExpression_function_arguments', () {
7251 final __test = new SimpleParserTest();
7252 runJUnitTest(__test, __test.test_parsePrimaryExpression_function_argumen ts);
7253 });
7254 _ut.test('test_parsePrimaryExpression_function_noArguments', () {
7255 final __test = new SimpleParserTest();
7256 runJUnitTest(__test, __test.test_parsePrimaryExpression_function_noArgum ents);
7257 });
7258 _ut.test('test_parsePrimaryExpression_hex', () {
7259 final __test = new SimpleParserTest();
7260 runJUnitTest(__test, __test.test_parsePrimaryExpression_hex);
7261 });
7262 _ut.test('test_parsePrimaryExpression_identifier', () {
7263 final __test = new SimpleParserTest();
7264 runJUnitTest(__test, __test.test_parsePrimaryExpression_identifier);
7265 });
7266 _ut.test('test_parsePrimaryExpression_int', () {
7267 final __test = new SimpleParserTest();
7268 runJUnitTest(__test, __test.test_parsePrimaryExpression_int);
7269 });
7270 _ut.test('test_parsePrimaryExpression_listLiteral', () {
7271 final __test = new SimpleParserTest();
7272 runJUnitTest(__test, __test.test_parsePrimaryExpression_listLiteral);
7273 });
7274 _ut.test('test_parsePrimaryExpression_listLiteral_index', () {
7275 final __test = new SimpleParserTest();
7276 runJUnitTest(__test, __test.test_parsePrimaryExpression_listLiteral_inde x);
7277 });
7278 _ut.test('test_parsePrimaryExpression_listLiteral_typed', () {
7279 final __test = new SimpleParserTest();
7280 runJUnitTest(__test, __test.test_parsePrimaryExpression_listLiteral_type d);
7281 });
7282 _ut.test('test_parsePrimaryExpression_mapLiteral', () {
7283 final __test = new SimpleParserTest();
7284 runJUnitTest(__test, __test.test_parsePrimaryExpression_mapLiteral);
7285 });
7286 _ut.test('test_parsePrimaryExpression_mapLiteral_typed', () {
7287 final __test = new SimpleParserTest();
7288 runJUnitTest(__test, __test.test_parsePrimaryExpression_mapLiteral_typed );
7289 });
7290 _ut.test('test_parsePrimaryExpression_new', () {
7291 final __test = new SimpleParserTest();
7292 runJUnitTest(__test, __test.test_parsePrimaryExpression_new);
7293 });
7294 _ut.test('test_parsePrimaryExpression_null', () {
7295 final __test = new SimpleParserTest();
7296 runJUnitTest(__test, __test.test_parsePrimaryExpression_null);
7297 });
7298 _ut.test('test_parsePrimaryExpression_parenthesized', () {
7299 final __test = new SimpleParserTest();
7300 runJUnitTest(__test, __test.test_parsePrimaryExpression_parenthesized);
7301 });
7302 _ut.test('test_parsePrimaryExpression_string', () {
7303 final __test = new SimpleParserTest();
7304 runJUnitTest(__test, __test.test_parsePrimaryExpression_string);
7305 });
7306 _ut.test('test_parsePrimaryExpression_string_multiline', () {
7307 final __test = new SimpleParserTest();
7308 runJUnitTest(__test, __test.test_parsePrimaryExpression_string_multiline );
7309 });
7310 _ut.test('test_parsePrimaryExpression_string_raw', () {
7311 final __test = new SimpleParserTest();
7312 runJUnitTest(__test, __test.test_parsePrimaryExpression_string_raw);
7313 });
7314 _ut.test('test_parsePrimaryExpression_super', () {
7315 final __test = new SimpleParserTest();
7316 runJUnitTest(__test, __test.test_parsePrimaryExpression_super);
7317 });
7318 _ut.test('test_parsePrimaryExpression_this', () {
7319 final __test = new SimpleParserTest();
7320 runJUnitTest(__test, __test.test_parsePrimaryExpression_this);
7321 });
7322 _ut.test('test_parsePrimaryExpression_true', () {
7323 final __test = new SimpleParserTest();
7324 runJUnitTest(__test, __test.test_parsePrimaryExpression_true);
7325 });
7326 _ut.test('test_parseRedirectingConstructorInvocation_named', () {
7327 final __test = new SimpleParserTest();
7328 runJUnitTest(__test, __test.test_parseRedirectingConstructorInvocation_n amed);
7329 });
7330 _ut.test('test_parseRedirectingConstructorInvocation_unnamed', () {
7331 final __test = new SimpleParserTest();
7332 runJUnitTest(__test, __test.test_parseRedirectingConstructorInvocation_u nnamed);
7333 });
7334 _ut.test('test_parseRelationalExpression_as', () {
7335 final __test = new SimpleParserTest();
7336 runJUnitTest(__test, __test.test_parseRelationalExpression_as);
7337 });
7338 _ut.test('test_parseRelationalExpression_is', () {
7339 final __test = new SimpleParserTest();
7340 runJUnitTest(__test, __test.test_parseRelationalExpression_is);
7341 });
7342 _ut.test('test_parseRelationalExpression_isNot', () {
7343 final __test = new SimpleParserTest();
7344 runJUnitTest(__test, __test.test_parseRelationalExpression_isNot);
7345 });
7346 _ut.test('test_parseRelationalExpression_normal', () {
7347 final __test = new SimpleParserTest();
7348 runJUnitTest(__test, __test.test_parseRelationalExpression_normal);
7349 });
7350 _ut.test('test_parseRelationalExpression_super', () {
7351 final __test = new SimpleParserTest();
7352 runJUnitTest(__test, __test.test_parseRelationalExpression_super);
7353 });
7354 _ut.test('test_parseRethrowExpression', () {
7355 final __test = new SimpleParserTest();
7356 runJUnitTest(__test, __test.test_parseRethrowExpression);
7357 });
7358 _ut.test('test_parseReturnStatement_noValue', () {
7359 final __test = new SimpleParserTest();
7360 runJUnitTest(__test, __test.test_parseReturnStatement_noValue);
7361 });
7362 _ut.test('test_parseReturnStatement_value', () {
7363 final __test = new SimpleParserTest();
7364 runJUnitTest(__test, __test.test_parseReturnStatement_value);
7365 });
7366 _ut.test('test_parseReturnType_nonVoid', () {
7367 final __test = new SimpleParserTest();
7368 runJUnitTest(__test, __test.test_parseReturnType_nonVoid);
7369 });
7370 _ut.test('test_parseReturnType_void', () {
7371 final __test = new SimpleParserTest();
7372 runJUnitTest(__test, __test.test_parseReturnType_void);
7373 });
7374 _ut.test('test_parseSetter_nonStatic', () {
7375 final __test = new SimpleParserTest();
7376 runJUnitTest(__test, __test.test_parseSetter_nonStatic);
7377 });
7378 _ut.test('test_parseSetter_static', () {
7379 final __test = new SimpleParserTest();
7380 runJUnitTest(__test, __test.test_parseSetter_static);
7381 });
7382 _ut.test('test_parseShiftExpression_normal', () {
7383 final __test = new SimpleParserTest();
7384 runJUnitTest(__test, __test.test_parseShiftExpression_normal);
7385 });
7386 _ut.test('test_parseShiftExpression_super', () {
7387 final __test = new SimpleParserTest();
7388 runJUnitTest(__test, __test.test_parseShiftExpression_super);
7389 });
7390 _ut.test('test_parseSimpleIdentifier1_normalIdentifier', () {
7391 final __test = new SimpleParserTest();
7392 runJUnitTest(__test, __test.test_parseSimpleIdentifier1_normalIdentifier );
7393 });
7394 _ut.test('test_parseSimpleIdentifier_builtInIdentifier', () {
7395 final __test = new SimpleParserTest();
7396 runJUnitTest(__test, __test.test_parseSimpleIdentifier_builtInIdentifier );
7397 });
7398 _ut.test('test_parseSimpleIdentifier_normalIdentifier', () {
7399 final __test = new SimpleParserTest();
7400 runJUnitTest(__test, __test.test_parseSimpleIdentifier_normalIdentifier) ;
7401 });
7402 _ut.test('test_parseStatement_functionDeclaration', () {
7403 final __test = new SimpleParserTest();
7404 runJUnitTest(__test, __test.test_parseStatement_functionDeclaration);
7405 });
7406 _ut.test('test_parseStatement_mulipleLabels', () {
7407 final __test = new SimpleParserTest();
7408 runJUnitTest(__test, __test.test_parseStatement_mulipleLabels);
7409 });
7410 _ut.test('test_parseStatement_noLabels', () {
7411 final __test = new SimpleParserTest();
7412 runJUnitTest(__test, __test.test_parseStatement_noLabels);
7413 });
7414 _ut.test('test_parseStatement_singleLabel', () {
7415 final __test = new SimpleParserTest();
7416 runJUnitTest(__test, __test.test_parseStatement_singleLabel);
7417 });
7418 _ut.test('test_parseStatements_multiple', () {
7419 final __test = new SimpleParserTest();
7420 runJUnitTest(__test, __test.test_parseStatements_multiple);
7421 });
7422 _ut.test('test_parseStatements_single', () {
7423 final __test = new SimpleParserTest();
7424 runJUnitTest(__test, __test.test_parseStatements_single);
7425 });
7426 _ut.test('test_parseStringLiteral_adjacent', () {
7427 final __test = new SimpleParserTest();
7428 runJUnitTest(__test, __test.test_parseStringLiteral_adjacent);
7429 });
7430 _ut.test('test_parseStringLiteral_interpolated', () {
7431 final __test = new SimpleParserTest();
7432 runJUnitTest(__test, __test.test_parseStringLiteral_interpolated);
7433 });
7434 _ut.test('test_parseStringLiteral_single', () {
7435 final __test = new SimpleParserTest();
7436 runJUnitTest(__test, __test.test_parseStringLiteral_single);
7437 });
7438 _ut.test('test_parseSuperConstructorInvocation_named', () {
7439 final __test = new SimpleParserTest();
7440 runJUnitTest(__test, __test.test_parseSuperConstructorInvocation_named);
7441 });
7442 _ut.test('test_parseSuperConstructorInvocation_unnamed', () {
7443 final __test = new SimpleParserTest();
7444 runJUnitTest(__test, __test.test_parseSuperConstructorInvocation_unnamed );
7445 });
7446 _ut.test('test_parseSwitchStatement_case', () {
7447 final __test = new SimpleParserTest();
7448 runJUnitTest(__test, __test.test_parseSwitchStatement_case);
7449 });
7450 _ut.test('test_parseSwitchStatement_empty', () {
7451 final __test = new SimpleParserTest();
7452 runJUnitTest(__test, __test.test_parseSwitchStatement_empty);
7453 });
7454 _ut.test('test_parseSwitchStatement_labeledCase', () {
7455 final __test = new SimpleParserTest();
7456 runJUnitTest(__test, __test.test_parseSwitchStatement_labeledCase);
7457 });
7458 _ut.test('test_parseSwitchStatement_labeledStatementInCase', () {
7459 final __test = new SimpleParserTest();
7460 runJUnitTest(__test, __test.test_parseSwitchStatement_labeledStatementIn Case);
7461 });
7462 _ut.test('test_parseSymbolLiteral_builtInIdentifier', () {
7463 final __test = new SimpleParserTest();
7464 runJUnitTest(__test, __test.test_parseSymbolLiteral_builtInIdentifier);
7465 });
7466 _ut.test('test_parseSymbolLiteral_multiple', () {
7467 final __test = new SimpleParserTest();
7468 runJUnitTest(__test, __test.test_parseSymbolLiteral_multiple);
7469 });
7470 _ut.test('test_parseSymbolLiteral_operator', () {
7471 final __test = new SimpleParserTest();
7472 runJUnitTest(__test, __test.test_parseSymbolLiteral_operator);
7473 });
7474 _ut.test('test_parseSymbolLiteral_single', () {
7475 final __test = new SimpleParserTest();
7476 runJUnitTest(__test, __test.test_parseSymbolLiteral_single);
7477 });
7478 _ut.test('test_parseThrowExpression', () {
7479 final __test = new SimpleParserTest();
7480 runJUnitTest(__test, __test.test_parseThrowExpression);
7481 });
7482 _ut.test('test_parseThrowExpressionWithoutCascade', () {
7483 final __test = new SimpleParserTest();
7484 runJUnitTest(__test, __test.test_parseThrowExpressionWithoutCascade);
7485 });
7486 _ut.test('test_parseTryStatement_catch', () {
7487 final __test = new SimpleParserTest();
7488 runJUnitTest(__test, __test.test_parseTryStatement_catch);
7489 });
7490 _ut.test('test_parseTryStatement_catch_finally', () {
7491 final __test = new SimpleParserTest();
7492 runJUnitTest(__test, __test.test_parseTryStatement_catch_finally);
7493 });
7494 _ut.test('test_parseTryStatement_finally', () {
7495 final __test = new SimpleParserTest();
7496 runJUnitTest(__test, __test.test_parseTryStatement_finally);
7497 });
7498 _ut.test('test_parseTryStatement_multiple', () {
7499 final __test = new SimpleParserTest();
7500 runJUnitTest(__test, __test.test_parseTryStatement_multiple);
7501 });
7502 _ut.test('test_parseTryStatement_on', () {
7503 final __test = new SimpleParserTest();
7504 runJUnitTest(__test, __test.test_parseTryStatement_on);
7505 });
7506 _ut.test('test_parseTryStatement_on_catch', () {
7507 final __test = new SimpleParserTest();
7508 runJUnitTest(__test, __test.test_parseTryStatement_on_catch);
7509 });
7510 _ut.test('test_parseTryStatement_on_catch_finally', () {
7511 final __test = new SimpleParserTest();
7512 runJUnitTest(__test, __test.test_parseTryStatement_on_catch_finally);
7513 });
7514 _ut.test('test_parseTypeAlias_function_noParameters', () {
7515 final __test = new SimpleParserTest();
7516 runJUnitTest(__test, __test.test_parseTypeAlias_function_noParameters);
7517 });
7518 _ut.test('test_parseTypeAlias_function_noReturnType', () {
7519 final __test = new SimpleParserTest();
7520 runJUnitTest(__test, __test.test_parseTypeAlias_function_noReturnType);
7521 });
7522 _ut.test('test_parseTypeAlias_function_parameterizedReturnType', () {
7523 final __test = new SimpleParserTest();
7524 runJUnitTest(__test, __test.test_parseTypeAlias_function_parameterizedRe turnType);
7525 });
7526 _ut.test('test_parseTypeAlias_function_parameters', () {
7527 final __test = new SimpleParserTest();
7528 runJUnitTest(__test, __test.test_parseTypeAlias_function_parameters);
7529 });
7530 _ut.test('test_parseTypeAlias_function_typeParameters', () {
7531 final __test = new SimpleParserTest();
7532 runJUnitTest(__test, __test.test_parseTypeAlias_function_typeParameters) ;
7533 });
7534 _ut.test('test_parseTypeAlias_function_voidReturnType', () {
7535 final __test = new SimpleParserTest();
7536 runJUnitTest(__test, __test.test_parseTypeAlias_function_voidReturnType) ;
7537 });
7538 _ut.test('test_parseTypeArgumentList_multiple', () {
7539 final __test = new SimpleParserTest();
7540 runJUnitTest(__test, __test.test_parseTypeArgumentList_multiple);
7541 });
7542 _ut.test('test_parseTypeArgumentList_nested', () {
7543 final __test = new SimpleParserTest();
7544 runJUnitTest(__test, __test.test_parseTypeArgumentList_nested);
7545 });
7546 _ut.test('test_parseTypeArgumentList_single', () {
7547 final __test = new SimpleParserTest();
7548 runJUnitTest(__test, __test.test_parseTypeArgumentList_single);
7549 });
7550 _ut.test('test_parseTypeName_parameterized', () {
7551 final __test = new SimpleParserTest();
7552 runJUnitTest(__test, __test.test_parseTypeName_parameterized);
7553 });
7554 _ut.test('test_parseTypeName_simple', () {
7555 final __test = new SimpleParserTest();
7556 runJUnitTest(__test, __test.test_parseTypeName_simple);
7557 });
7558 _ut.test('test_parseTypeParameterList_multiple', () {
7559 final __test = new SimpleParserTest();
7560 runJUnitTest(__test, __test.test_parseTypeParameterList_multiple);
7561 });
7562 _ut.test('test_parseTypeParameterList_parameterizedWithTrailingEquals', () {
7563 final __test = new SimpleParserTest();
7564 runJUnitTest(__test, __test.test_parseTypeParameterList_parameterizedWit hTrailingEquals);
7565 });
7566 _ut.test('test_parseTypeParameterList_single', () {
7567 final __test = new SimpleParserTest();
7568 runJUnitTest(__test, __test.test_parseTypeParameterList_single);
7569 });
7570 _ut.test('test_parseTypeParameterList_withTrailingEquals', () {
7571 final __test = new SimpleParserTest();
7572 runJUnitTest(__test, __test.test_parseTypeParameterList_withTrailingEqua ls);
7573 });
7574 _ut.test('test_parseTypeParameter_bounded', () {
7575 final __test = new SimpleParserTest();
7576 runJUnitTest(__test, __test.test_parseTypeParameter_bounded);
7577 });
7578 _ut.test('test_parseTypeParameter_simple', () {
7579 final __test = new SimpleParserTest();
7580 runJUnitTest(__test, __test.test_parseTypeParameter_simple);
7581 });
7582 _ut.test('test_parseUnaryExpression_decrement_normal', () {
7583 final __test = new SimpleParserTest();
7584 runJUnitTest(__test, __test.test_parseUnaryExpression_decrement_normal);
7585 });
7586 _ut.test('test_parseUnaryExpression_decrement_super', () {
7587 final __test = new SimpleParserTest();
7588 runJUnitTest(__test, __test.test_parseUnaryExpression_decrement_super);
7589 });
7590 _ut.test('test_parseUnaryExpression_decrement_super_propertyAccess', () {
7591 final __test = new SimpleParserTest();
7592 runJUnitTest(__test, __test.test_parseUnaryExpression_decrement_super_pr opertyAccess);
7593 });
7594 _ut.test('test_parseUnaryExpression_increment_normal', () {
7595 final __test = new SimpleParserTest();
7596 runJUnitTest(__test, __test.test_parseUnaryExpression_increment_normal);
7597 });
7598 _ut.test('test_parseUnaryExpression_increment_super_index', () {
7599 final __test = new SimpleParserTest();
7600 runJUnitTest(__test, __test.test_parseUnaryExpression_increment_super_in dex);
7601 });
7602 _ut.test('test_parseUnaryExpression_increment_super_propertyAccess', () {
7603 final __test = new SimpleParserTest();
7604 runJUnitTest(__test, __test.test_parseUnaryExpression_increment_super_pr opertyAccess);
7605 });
7606 _ut.test('test_parseUnaryExpression_minus_normal', () {
7607 final __test = new SimpleParserTest();
7608 runJUnitTest(__test, __test.test_parseUnaryExpression_minus_normal);
7609 });
7610 _ut.test('test_parseUnaryExpression_minus_super', () {
7611 final __test = new SimpleParserTest();
7612 runJUnitTest(__test, __test.test_parseUnaryExpression_minus_super);
7613 });
7614 _ut.test('test_parseUnaryExpression_not_normal', () {
7615 final __test = new SimpleParserTest();
7616 runJUnitTest(__test, __test.test_parseUnaryExpression_not_normal);
7617 });
7618 _ut.test('test_parseUnaryExpression_not_super', () {
7619 final __test = new SimpleParserTest();
7620 runJUnitTest(__test, __test.test_parseUnaryExpression_not_super);
7621 });
7622 _ut.test('test_parseUnaryExpression_tilda_normal', () {
7623 final __test = new SimpleParserTest();
7624 runJUnitTest(__test, __test.test_parseUnaryExpression_tilda_normal);
7625 });
7626 _ut.test('test_parseUnaryExpression_tilda_super', () {
7627 final __test = new SimpleParserTest();
7628 runJUnitTest(__test, __test.test_parseUnaryExpression_tilda_super);
7629 });
7630 _ut.test('test_parseVariableDeclarationListAfterMetadata_const_noType', () {
7631 final __test = new SimpleParserTest();
7632 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_const_noType);
7633 });
7634 _ut.test('test_parseVariableDeclarationListAfterMetadata_const_type', () {
7635 final __test = new SimpleParserTest();
7636 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_const_type);
7637 });
7638 _ut.test('test_parseVariableDeclarationListAfterMetadata_final_noType', () {
7639 final __test = new SimpleParserTest();
7640 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_final_noType);
7641 });
7642 _ut.test('test_parseVariableDeclarationListAfterMetadata_final_type', () {
7643 final __test = new SimpleParserTest();
7644 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_final_type);
7645 });
7646 _ut.test('test_parseVariableDeclarationListAfterMetadata_type_multiple', ( ) {
7647 final __test = new SimpleParserTest();
7648 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_type_multiple);
7649 });
7650 _ut.test('test_parseVariableDeclarationListAfterMetadata_type_single', () {
7651 final __test = new SimpleParserTest();
7652 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_type_single);
7653 });
7654 _ut.test('test_parseVariableDeclarationListAfterMetadata_var_multiple', () {
7655 final __test = new SimpleParserTest();
7656 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_var_multiple);
7657 });
7658 _ut.test('test_parseVariableDeclarationListAfterMetadata_var_single', () {
7659 final __test = new SimpleParserTest();
7660 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterMetada ta_var_single);
7661 });
7662 _ut.test('test_parseVariableDeclarationListAfterType_type', () {
7663 final __test = new SimpleParserTest();
7664 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterType_t ype);
7665 });
7666 _ut.test('test_parseVariableDeclarationListAfterType_var', () {
7667 final __test = new SimpleParserTest();
7668 runJUnitTest(__test, __test.test_parseVariableDeclarationListAfterType_v ar);
7669 });
7670 _ut.test('test_parseVariableDeclarationStatementAfterMetadata_multiple', ( ) {
7671 final __test = new SimpleParserTest();
7672 runJUnitTest(__test, __test.test_parseVariableDeclarationStatementAfterM etadata_multiple);
7673 });
7674 _ut.test('test_parseVariableDeclarationStatementAfterMetadata_single', () {
7675 final __test = new SimpleParserTest();
7676 runJUnitTest(__test, __test.test_parseVariableDeclarationStatementAfterM etadata_single);
7677 });
7678 _ut.test('test_parseVariableDeclaration_equals', () {
7679 final __test = new SimpleParserTest();
7680 runJUnitTest(__test, __test.test_parseVariableDeclaration_equals);
7681 });
7682 _ut.test('test_parseVariableDeclaration_noEquals', () {
7683 final __test = new SimpleParserTest();
7684 runJUnitTest(__test, __test.test_parseVariableDeclaration_noEquals);
7685 });
7686 _ut.test('test_parseWhileStatement', () {
7687 final __test = new SimpleParserTest();
7688 runJUnitTest(__test, __test.test_parseWhileStatement);
7689 });
7690 _ut.test('test_parseWithClause_multiple', () {
7691 final __test = new SimpleParserTest();
7692 runJUnitTest(__test, __test.test_parseWithClause_multiple);
7693 });
7694 _ut.test('test_parseWithClause_single', () {
7695 final __test = new SimpleParserTest();
7696 runJUnitTest(__test, __test.test_parseWithClause_single);
7697 });
7698 _ut.test('test_skipPrefixedIdentifier_invalid', () {
7699 final __test = new SimpleParserTest();
7700 runJUnitTest(__test, __test.test_skipPrefixedIdentifier_invalid);
7701 });
7702 _ut.test('test_skipPrefixedIdentifier_notPrefixed', () {
7703 final __test = new SimpleParserTest();
7704 runJUnitTest(__test, __test.test_skipPrefixedIdentifier_notPrefixed);
7705 });
7706 _ut.test('test_skipPrefixedIdentifier_prefixed', () {
7707 final __test = new SimpleParserTest();
7708 runJUnitTest(__test, __test.test_skipPrefixedIdentifier_prefixed);
7709 });
7710 _ut.test('test_skipReturnType_invalid', () {
7711 final __test = new SimpleParserTest();
7712 runJUnitTest(__test, __test.test_skipReturnType_invalid);
7713 });
7714 _ut.test('test_skipReturnType_type', () {
7715 final __test = new SimpleParserTest();
7716 runJUnitTest(__test, __test.test_skipReturnType_type);
7717 });
7718 _ut.test('test_skipReturnType_void', () {
7719 final __test = new SimpleParserTest();
7720 runJUnitTest(__test, __test.test_skipReturnType_void);
7721 });
7722 _ut.test('test_skipSimpleIdentifier_identifier', () {
7723 final __test = new SimpleParserTest();
7724 runJUnitTest(__test, __test.test_skipSimpleIdentifier_identifier);
7725 });
7726 _ut.test('test_skipSimpleIdentifier_invalid', () {
7727 final __test = new SimpleParserTest();
7728 runJUnitTest(__test, __test.test_skipSimpleIdentifier_invalid);
7729 });
7730 _ut.test('test_skipSimpleIdentifier_pseudoKeyword', () {
7731 final __test = new SimpleParserTest();
7732 runJUnitTest(__test, __test.test_skipSimpleIdentifier_pseudoKeyword);
7733 });
7734 _ut.test('test_skipStringLiteral_adjacent', () {
7735 final __test = new SimpleParserTest();
7736 runJUnitTest(__test, __test.test_skipStringLiteral_adjacent);
7737 });
7738 _ut.test('test_skipStringLiteral_interpolated', () {
7739 final __test = new SimpleParserTest();
7740 runJUnitTest(__test, __test.test_skipStringLiteral_interpolated);
7741 });
7742 _ut.test('test_skipStringLiteral_invalid', () {
7743 final __test = new SimpleParserTest();
7744 runJUnitTest(__test, __test.test_skipStringLiteral_invalid);
7745 });
7746 _ut.test('test_skipStringLiteral_single', () {
7747 final __test = new SimpleParserTest();
7748 runJUnitTest(__test, __test.test_skipStringLiteral_single);
7749 });
7750 _ut.test('test_skipTypeArgumentList_invalid', () {
7751 final __test = new SimpleParserTest();
7752 runJUnitTest(__test, __test.test_skipTypeArgumentList_invalid);
7753 });
7754 _ut.test('test_skipTypeArgumentList_multiple', () {
7755 final __test = new SimpleParserTest();
7756 runJUnitTest(__test, __test.test_skipTypeArgumentList_multiple);
7757 });
7758 _ut.test('test_skipTypeArgumentList_single', () {
7759 final __test = new SimpleParserTest();
7760 runJUnitTest(__test, __test.test_skipTypeArgumentList_single);
7761 });
7762 _ut.test('test_skipTypeName_invalid', () {
7763 final __test = new SimpleParserTest();
7764 runJUnitTest(__test, __test.test_skipTypeName_invalid);
7765 });
7766 _ut.test('test_skipTypeName_parameterized', () {
7767 final __test = new SimpleParserTest();
7768 runJUnitTest(__test, __test.test_skipTypeName_parameterized);
7769 });
7770 _ut.test('test_skipTypeName_simple', () {
7771 final __test = new SimpleParserTest();
7772 runJUnitTest(__test, __test.test_skipTypeName_simple);
7773 });
7774 });
7775 }
7776 }
7777
7778 class AnalysisErrorListener_SimpleParserTest_computeStringValue implements Analy sisErrorListener {
7779 @override
7780 void onError(AnalysisError event) {
7781 JUnitTestCase.fail("Unexpected compilation error: ${event.message} (${event. offset}, ${event.length})");
7782 }
7783 }
7784
7785 class IncrementalParserTest extends EngineTestCase {
7786 void fail_replace_identifier_with_functionLiteral_in_initializer() {
7787 // Function literals aren't allowed inside initializers; incremental parsing needs to gather
7788 // the appropriate context.
7789 //
7790 // "class A { var a; A(b) : a = b ? b : 0 { } }"
7791 // "class A { var a; A(b) : a = b ? () {} : 0 { } }"
7792 _assertParse("class A { var a; A(b) : a = b ? ", "b", "() {}", " : 0 { } }") ;
7793 }
7794
7795 void test_delete_everything() {
7796 // "f() => a + b;"
7797 // ""
7798 _assertParse("", "f() => a + b;", "", "");
7799 }
7800
7801 void test_delete_identifier_beginning() {
7802 // "f() => abs + b;"
7803 // "f() => s + b;"
7804 _assertParse("f() => ", "ab", "", "s + b;");
7805 }
7806
7807 void test_delete_identifier_end() {
7808 // "f() => abs + b;"
7809 // "f() => a + b;"
7810 _assertParse("f() => a", "bs", "", " + b;");
7811 }
7812
7813 void test_delete_identifier_middle() {
7814 // "f() => abs + b;"
7815 // "f() => as + b;"
7816 _assertParse("f() => a", "b", "", "s + b;");
7817 }
7818
7819 void test_delete_mergeTokens() {
7820 // "f() => a + b + c;"
7821 // "f() => ac;"
7822 _assertParse("f() => a", " + b + ", "", "c;");
7823 }
7824
7825 void test_insert_afterIdentifier1() {
7826 // "f() => a + b;"
7827 // "f() => abs + b;"
7828 _assertParse("f() => a", "", "bs", " + b;");
7829 }
7830
7831 void test_insert_afterIdentifier2() {
7832 // "f() => a + b;"
7833 // "f() => a + bar;"
7834 _assertParse("f() => a + b", "", "ar", ";");
7835 }
7836
7837 void test_insert_beforeIdentifier1() {
7838 // "f() => a + b;"
7839 // "f() => xa + b;"
7840 _assertParse("f() => ", "", "x", "a + b;");
7841 }
7842
7843 void test_insert_beforeIdentifier2() {
7844 // "f() => a + b;"
7845 // "f() => a + xb;"
7846 _assertParse("f() => a + ", "", "x", "b;");
7847 }
7848
7849 void test_insert_convertOneFunctionToTwo() {
7850 // "f() {}"
7851 // "f() => 0; g() {}"
7852 _assertParse("f()", "", " => 0; g()", " {}");
7853 }
7854
7855 void test_insert_end() {
7856 // "class A {}"
7857 // "class A {} class B {}"
7858 _assertParse("class A {}", "", " class B {}", "");
7859 }
7860
7861 void test_insert_insideClassBody() {
7862 // "class C {C(); }"
7863 // "class C { C(); }"
7864 _assertParse("class C {", "", " ", "C(); }");
7865 }
7866
7867 void test_insert_insideIdentifier() {
7868 // "f() => cob;"
7869 // "f() => cow.b;"
7870 _assertParse("f() => co", "", "w.", "b;");
7871 }
7872
7873 void test_insert_newIdentifier1() {
7874 // "f() => a; c;"
7875 // "f() => a; b c;"
7876 _assertParse("f() => a;", "", " b", " c;");
7877 }
7878
7879 void test_insert_newIdentifier2() {
7880 // "f() => a; c;"
7881 // "f() => a;b c;"
7882 _assertParse("f() => a;", "", "b", " c;");
7883 }
7884
7885 void test_insert_newIdentifier3() {
7886 // "/** A simple function. */ f() => a; c;"
7887 // "/** A simple function. */ f() => a; b c;"
7888 _assertParse("/** A simple function. */ f() => a;", "", " b", " c;");
7889 }
7890
7891 void test_insert_newIdentifier4() {
7892 // "/** An [A]. */ class A {} class B { m() { return 1; } }"
7893 // "/** An [A]. */ class A {} class B { m() { return 1 + 2; } }"
7894 _assertParse("/** An [A]. */ class A {} class B { m() { return 1", "", " + 2 ", "; } }");
7895 }
7896
7897 void test_insert_period() {
7898 // "f() => a + b;"
7899 // "f() => a + b.;"
7900 _assertParse("f() => a + b", "", ".", ";");
7901 }
7902
7903 void test_insert_period_betweenIdentifiers1() {
7904 // "f() => a b;"
7905 // "f() => a. b;"
7906 _assertParse("f() => a", "", ".", " b;");
7907 }
7908
7909 void test_insert_period_betweenIdentifiers2() {
7910 // "f() => a b;"
7911 // "f() => a .b;"
7912 _assertParse("f() => a ", "", ".", "b;");
7913 }
7914
7915 void test_insert_period_betweenIdentifiers3() {
7916 // "f() => a b;"
7917 // "f() => a . b;"
7918 _assertParse("f() => a ", "", ".", " b;");
7919 }
7920
7921 void test_insert_period_insideExistingIdentifier() {
7922 // "f() => ab;"
7923 // "f() => a.b;"
7924 _assertParse("f() => a", "", ".", "b;");
7925 }
7926
7927 void test_insert_periodAndIdentifier() {
7928 // "f() => a + b;"
7929 // "f() => a + b.x;"
7930 _assertParse("f() => a + b", "", ".x", ";");
7931 }
7932
7933 void test_insert_simpleToComplexExression() {
7934 // "/** An [A]. */ class A {} class B { m() => 1; }"
7935 // "/** An [A]. */ class A {} class B { m() => 1 + 2; }"
7936 _assertParse("/** An [A]. */ class A {} class B { m() => 1", "", " + 2", "; }");
7937 }
7938
7939 void test_insert_whitespace_end() {
7940 // "f() => a + b;"
7941 // "f() => a + b; "
7942 _assertParse("f() => a + b;", "", " ", "");
7943 }
7944
7945 void test_insert_whitespace_end_multiple() {
7946 // "f() => a + b;"
7947 // "f() => a + b; "
7948 _assertParse("f() => a + b;", "", " ", "");
7949 }
7950
7951 void test_insert_whitespace_middle() {
7952 // "f() => a + b;"
7953 // "f() => a + b;"
7954 _assertParse("f() => a", "", " ", " + b;");
7955 }
7956
7957 void test_replace_identifier_beginning() {
7958 // "f() => bell + b;"
7959 // "f() => fell + b;"
7960 _assertParse("f() => ", "b", "f", "ell + b;");
7961 }
7962
7963 void test_replace_identifier_end() {
7964 // "f() => bell + b;"
7965 // "f() => belt + b;"
7966 _assertParse("f() => bel", "l", "t", " + b;");
7967 }
7968
7969 void test_replace_identifier_middle() {
7970 // "f() => first + b;"
7971 // "f() => frost + b;"
7972 _assertParse("f() => f", "ir", "ro", "st + b;");
7973 }
7974
7975 void test_replace_multiple_partialFirstAndLast() {
7976 // "f() => aa + bb;"
7977 // "f() => ab * ab;"
7978 _assertParse("f() => a", "a + b", "b * a", "b;");
7979 }
7980
7981 void test_replace_operator_oneForMany() {
7982 // "f() => a + b;"
7983 // "f() => a * c - b;"
7984 _assertParse("f() => a ", "+", "* c -", " b;");
7985 }
7986
7987 void test_replace_operator_oneForOne() {
7988 // "f() => a + b;"
7989 // "f() => a * b;"
7990 _assertParse("f() => a ", "+", "*", " b;");
7991 }
7992
7993 /**
7994 * Given a description of the original and modified contents, perform an incre mental scan of the
7995 * two pieces of text.
7996 *
7997 * @param prefix the unchanged text before the edit region
7998 * @param removed the text that was removed from the original contents
7999 * @param added the text that was added to the modified contents
8000 * @param suffix the unchanged text after the edit region
8001 */
8002 void _assertParse(String prefix, String removed, String added, String suffix) {
8003 //
8004 // Compute the information needed to perform the test.
8005 //
8006 String originalContents = "${prefix}${removed}${suffix}";
8007 String modifiedContents = "${prefix}${added}${suffix}";
8008 int replaceStart = prefix.length;
8009 Source source = new TestSource();
8010 //
8011 // Parse the original contents.
8012 //
8013 GatheringErrorListener originalListener = new GatheringErrorListener();
8014 Scanner originalScanner = new Scanner(source, new CharSequenceReader(origina lContents), originalListener);
8015 Token originalTokens = originalScanner.tokenize();
8016 JUnitTestCase.assertNotNull(originalTokens);
8017 Parser originalParser = new Parser(source, originalListener);
8018 CompilationUnit originalUnit = originalParser.parseCompilationUnit(originalT okens);
8019 JUnitTestCase.assertNotNull(originalUnit);
8020 //
8021 // Parse the modified contents.
8022 //
8023 GatheringErrorListener modifiedListener = new GatheringErrorListener();
8024 Scanner modifiedScanner = new Scanner(source, new CharSequenceReader(modifie dContents), modifiedListener);
8025 Token modifiedTokens = modifiedScanner.tokenize();
8026 JUnitTestCase.assertNotNull(modifiedTokens);
8027 Parser modifiedParser = new Parser(source, modifiedListener);
8028 CompilationUnit modifiedUnit = modifiedParser.parseCompilationUnit(modifiedT okens);
8029 JUnitTestCase.assertNotNull(modifiedUnit);
8030 //
8031 // Incrementally parse the modified contents.
8032 //
8033 GatheringErrorListener incrementalListener = new GatheringErrorListener();
8034 IncrementalScanner incrementalScanner = new IncrementalScanner(source, new C harSequenceReader(modifiedContents), incrementalListener);
8035 Token incrementalTokens = incrementalScanner.rescan(originalTokens, replaceS tart, removed.length, added.length);
8036 JUnitTestCase.assertNotNull(incrementalTokens);
8037 IncrementalParser incrementalParser = new IncrementalParser(source, incremen talScanner.tokenMap, incrementalListener);
8038 CompilationUnit incrementalUnit = incrementalParser.reparse(originalUnit, in crementalScanner.leftToken, incrementalScanner.rightToken, replaceStart, prefix. length + removed.length);
8039 JUnitTestCase.assertNotNull(incrementalUnit);
8040 //
8041 // Validate that the results of the incremental parse are the same as the fu ll parse of the
8042 // modified source.
8043 //
8044 JUnitTestCase.assertTrue(AstComparator.equalNodes(modifiedUnit, incrementalU nit));
8045 }
8046
8047 static dartSuite() {
8048 _ut.group('IncrementalParserTest', () {
8049 _ut.test('test_delete_everything', () {
8050 final __test = new IncrementalParserTest();
8051 runJUnitTest(__test, __test.test_delete_everything);
8052 });
8053 _ut.test('test_delete_identifier_beginning', () {
8054 final __test = new IncrementalParserTest();
8055 runJUnitTest(__test, __test.test_delete_identifier_beginning);
8056 });
8057 _ut.test('test_delete_identifier_end', () {
8058 final __test = new IncrementalParserTest();
8059 runJUnitTest(__test, __test.test_delete_identifier_end);
8060 });
8061 _ut.test('test_delete_identifier_middle', () {
8062 final __test = new IncrementalParserTest();
8063 runJUnitTest(__test, __test.test_delete_identifier_middle);
8064 });
8065 _ut.test('test_delete_mergeTokens', () {
8066 final __test = new IncrementalParserTest();
8067 runJUnitTest(__test, __test.test_delete_mergeTokens);
8068 });
8069 _ut.test('test_insert_afterIdentifier1', () {
8070 final __test = new IncrementalParserTest();
8071 runJUnitTest(__test, __test.test_insert_afterIdentifier1);
8072 });
8073 _ut.test('test_insert_afterIdentifier2', () {
8074 final __test = new IncrementalParserTest();
8075 runJUnitTest(__test, __test.test_insert_afterIdentifier2);
8076 });
8077 _ut.test('test_insert_beforeIdentifier1', () {
8078 final __test = new IncrementalParserTest();
8079 runJUnitTest(__test, __test.test_insert_beforeIdentifier1);
8080 });
8081 _ut.test('test_insert_beforeIdentifier2', () {
8082 final __test = new IncrementalParserTest();
8083 runJUnitTest(__test, __test.test_insert_beforeIdentifier2);
8084 });
8085 _ut.test('test_insert_convertOneFunctionToTwo', () {
8086 final __test = new IncrementalParserTest();
8087 runJUnitTest(__test, __test.test_insert_convertOneFunctionToTwo);
8088 });
8089 _ut.test('test_insert_end', () {
8090 final __test = new IncrementalParserTest();
8091 runJUnitTest(__test, __test.test_insert_end);
8092 });
8093 _ut.test('test_insert_insideClassBody', () {
8094 final __test = new IncrementalParserTest();
8095 runJUnitTest(__test, __test.test_insert_insideClassBody);
8096 });
8097 _ut.test('test_insert_insideIdentifier', () {
8098 final __test = new IncrementalParserTest();
8099 runJUnitTest(__test, __test.test_insert_insideIdentifier);
8100 });
8101 _ut.test('test_insert_newIdentifier1', () {
8102 final __test = new IncrementalParserTest();
8103 runJUnitTest(__test, __test.test_insert_newIdentifier1);
8104 });
8105 _ut.test('test_insert_newIdentifier2', () {
8106 final __test = new IncrementalParserTest();
8107 runJUnitTest(__test, __test.test_insert_newIdentifier2);
8108 });
8109 _ut.test('test_insert_newIdentifier3', () {
8110 final __test = new IncrementalParserTest();
8111 runJUnitTest(__test, __test.test_insert_newIdentifier3);
8112 });
8113 _ut.test('test_insert_newIdentifier4', () {
8114 final __test = new IncrementalParserTest();
8115 runJUnitTest(__test, __test.test_insert_newIdentifier4);
8116 });
8117 _ut.test('test_insert_period', () {
8118 final __test = new IncrementalParserTest();
8119 runJUnitTest(__test, __test.test_insert_period);
8120 });
8121 _ut.test('test_insert_periodAndIdentifier', () {
8122 final __test = new IncrementalParserTest();
8123 runJUnitTest(__test, __test.test_insert_periodAndIdentifier);
8124 });
8125 _ut.test('test_insert_period_betweenIdentifiers1', () {
8126 final __test = new IncrementalParserTest();
8127 runJUnitTest(__test, __test.test_insert_period_betweenIdentifiers1);
8128 });
8129 _ut.test('test_insert_period_betweenIdentifiers2', () {
8130 final __test = new IncrementalParserTest();
8131 runJUnitTest(__test, __test.test_insert_period_betweenIdentifiers2);
8132 });
8133 _ut.test('test_insert_period_betweenIdentifiers3', () {
8134 final __test = new IncrementalParserTest();
8135 runJUnitTest(__test, __test.test_insert_period_betweenIdentifiers3);
8136 });
8137 _ut.test('test_insert_period_insideExistingIdentifier', () {
8138 final __test = new IncrementalParserTest();
8139 runJUnitTest(__test, __test.test_insert_period_insideExistingIdentifier) ;
8140 });
8141 _ut.test('test_insert_simpleToComplexExression', () {
8142 final __test = new IncrementalParserTest();
8143 runJUnitTest(__test, __test.test_insert_simpleToComplexExression);
8144 });
8145 _ut.test('test_insert_whitespace_end', () {
8146 final __test = new IncrementalParserTest();
8147 runJUnitTest(__test, __test.test_insert_whitespace_end);
8148 });
8149 _ut.test('test_insert_whitespace_end_multiple', () {
8150 final __test = new IncrementalParserTest();
8151 runJUnitTest(__test, __test.test_insert_whitespace_end_multiple);
8152 });
8153 _ut.test('test_insert_whitespace_middle', () {
8154 final __test = new IncrementalParserTest();
8155 runJUnitTest(__test, __test.test_insert_whitespace_middle);
8156 });
8157 _ut.test('test_replace_identifier_beginning', () {
8158 final __test = new IncrementalParserTest();
8159 runJUnitTest(__test, __test.test_replace_identifier_beginning);
8160 });
8161 _ut.test('test_replace_identifier_end', () {
8162 final __test = new IncrementalParserTest();
8163 runJUnitTest(__test, __test.test_replace_identifier_end);
8164 });
8165 _ut.test('test_replace_identifier_middle', () {
8166 final __test = new IncrementalParserTest();
8167 runJUnitTest(__test, __test.test_replace_identifier_middle);
8168 });
8169 _ut.test('test_replace_multiple_partialFirstAndLast', () {
8170 final __test = new IncrementalParserTest();
8171 runJUnitTest(__test, __test.test_replace_multiple_partialFirstAndLast);
8172 });
8173 _ut.test('test_replace_operator_oneForMany', () {
8174 final __test = new IncrementalParserTest();
8175 runJUnitTest(__test, __test.test_replace_operator_oneForMany);
8176 });
8177 _ut.test('test_replace_operator_oneForOne', () {
8178 final __test = new IncrementalParserTest();
8179 runJUnitTest(__test, __test.test_replace_operator_oneForOne);
8180 });
8181 });
8182 }
8520 } 8183 }
8521 8184
8522 /** 8185 /**
8523 * The class `RecoveryParserTest` defines parser tests that test the parsing of invalid code 8186 * The class `RecoveryParserTest` defines parser tests that test the parsing of invalid code
8524 * sequences to ensure that the correct recovery steps are taken in the parser. 8187 * sequences to ensure that the correct recovery steps are taken in the parser.
8525 */ 8188 */
8526 class RecoveryParserTest extends ParserTestCase { 8189 class RecoveryParserTest extends ParserTestCase {
8527 void fail_incomplete_returnType() { 8190 void fail_incomplete_returnType() {
8528 ParserTestCase.parseCompilationUnit(EngineTestCase.createSource([ 8191 ParserTestCase.parseCompilationUnit(EngineTestCase.createSource([
8529 "Map<Symbol, convertStringToSymbolMap(Map<String, dynamic> map) {", 8192 "Map<Symbol, convertStringToSymbolMap(Map<String, dynamic> map) {",
(...skipping 927 matching lines...) Expand 10 before | Expand all | Expand 10 after
9457 runJUnitTest(__test, __test.test_shiftExpression_super); 9120 runJUnitTest(__test, __test.test_shiftExpression_super);
9458 }); 9121 });
9459 _ut.test('test_typedef_eof', () { 9122 _ut.test('test_typedef_eof', () {
9460 final __test = new RecoveryParserTest(); 9123 final __test = new RecoveryParserTest();
9461 runJUnitTest(__test, __test.test_typedef_eof); 9124 runJUnitTest(__test, __test.test_typedef_eof);
9462 }); 9125 });
9463 }); 9126 });
9464 } 9127 }
9465 } 9128 }
9466 9129
9467 class IncrementalParserTest extends EngineTestCase { 9130 class ResolutionCopierTest extends EngineTestCase {
9468 void fail_replace_identifier_with_functionLiteral_in_initializer() { 9131 void test_visitAnnotation() {
9469 // Function literals aren't allowed inside initializers; incremental parsing needs to gather 9132 String annotationName = "proxy";
9470 // the appropriate context. 9133 Annotation fromNode = AstFactory.annotation(AstFactory.identifier3(annotatio nName));
9471 // 9134 Element element = ElementFactory.topLevelVariableElement2(annotationName);
9472 // "class A { var a; A(b) : a = b ? b : 0 { } }" 9135 fromNode.element = element;
9473 // "class A { var a; A(b) : a = b ? () {} : 0 { } }" 9136 Annotation toNode = AstFactory.annotation(AstFactory.identifier3(annotationN ame));
9474 _assertParse("class A { var a; A(b) : a = b ? ", "b", "() {}", " : 0 { } }") ; 9137 ResolutionCopier.copyResolutionData(fromNode, toNode);
9475 } 9138 JUnitTestCase.assertSame(element, toNode.element);
9476 9139 }
9477 void test_delete_everything() { 9140
9478 // "f() => a + b;" 9141 void test_visitArgumentDefinitionTest() {
9479 // "" 9142 String identifier = "p";
9480 _assertParse("", "f() => a + b;", "", ""); 9143 ArgumentDefinitionTest fromNode = AstFactory.argumentDefinitionTest(identifi er);
9481 } 9144 DartType propagatedType = ElementFactory.classElement2("A", []).type;
9482 9145 fromNode.propagatedType = propagatedType;
9483 void test_delete_identifier_beginning() { 9146 DartType staticType = ElementFactory.classElement2("B", []).type;
9484 // "f() => abs + b;" 9147 fromNode.staticType = staticType;
9485 // "f() => s + b;" 9148 ArgumentDefinitionTest toNode = AstFactory.argumentDefinitionTest(identifier );
9486 _assertParse("f() => ", "ab", "", "s + b;"); 9149 ResolutionCopier.copyResolutionData(fromNode, toNode);
9487 } 9150 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9488 9151 JUnitTestCase.assertSame(staticType, toNode.staticType);
9489 void test_delete_identifier_end() { 9152 }
9490 // "f() => abs + b;" 9153
9491 // "f() => a + b;" 9154 void test_visitAsExpression() {
9492 _assertParse("f() => a", "bs", "", " + b;"); 9155 AsExpression fromNode = AstFactory.asExpression(AstFactory.identifier3("x"), AstFactory.typeName4("A", []));
9493 } 9156 DartType propagatedType = ElementFactory.classElement2("A", []).type;
9494 9157 fromNode.propagatedType = propagatedType;
9495 void test_delete_identifier_middle() { 9158 DartType staticType = ElementFactory.classElement2("B", []).type;
9496 // "f() => abs + b;" 9159 fromNode.staticType = staticType;
9497 // "f() => as + b;" 9160 AsExpression toNode = AstFactory.asExpression(AstFactory.identifier3("x"), A stFactory.typeName4("A", []));
9498 _assertParse("f() => a", "b", "", "s + b;"); 9161 ResolutionCopier.copyResolutionData(fromNode, toNode);
9499 } 9162 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9500 9163 JUnitTestCase.assertSame(staticType, toNode.staticType);
9501 void test_delete_mergeTokens() { 9164 }
9502 // "f() => a + b + c;" 9165
9503 // "f() => ac;" 9166 void test_visitAssignmentExpression() {
9504 _assertParse("f() => a", " + b + ", "", "c;"); 9167 AssignmentExpression fromNode = AstFactory.assignmentExpression(AstFactory.i dentifier3("a"), TokenType.PLUS_EQ, AstFactory.identifier3("b"));
9505 } 9168 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9506 9169 MethodElement propagatedElement = ElementFactory.methodElement("+", propagat edType, []);
9507 void test_insert_afterIdentifier1() { 9170 fromNode.propagatedElement = propagatedElement;
9508 // "f() => a + b;" 9171 fromNode.propagatedType = propagatedType;
9509 // "f() => abs + b;" 9172 DartType staticType = ElementFactory.classElement2("C", []).type;
9510 _assertParse("f() => a", "", "bs", " + b;"); 9173 MethodElement staticElement = ElementFactory.methodElement("+", staticType, []);
9511 } 9174 fromNode.staticElement = staticElement;
9512 9175 fromNode.staticType = staticType;
9513 void test_insert_afterIdentifier2() { 9176 AssignmentExpression toNode = AstFactory.assignmentExpression(AstFactory.ide ntifier3("a"), TokenType.PLUS_EQ, AstFactory.identifier3("b"));
9514 // "f() => a + b;" 9177 ResolutionCopier.copyResolutionData(fromNode, toNode);
9515 // "f() => a + bar;" 9178 JUnitTestCase.assertSame(propagatedElement, toNode.propagatedElement);
9516 _assertParse("f() => a + b", "", "ar", ";"); 9179 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9517 } 9180 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
9518 9181 JUnitTestCase.assertSame(staticType, toNode.staticType);
9519 void test_insert_beforeIdentifier1() { 9182 }
9520 // "f() => a + b;" 9183
9521 // "f() => xa + b;" 9184 void test_visitBinaryExpression() {
9522 _assertParse("f() => ", "", "x", "a + b;"); 9185 BinaryExpression fromNode = AstFactory.binaryExpression(AstFactory.identifie r3("a"), TokenType.PLUS, AstFactory.identifier3("b"));
9523 } 9186 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9524 9187 MethodElement propagatedElement = ElementFactory.methodElement("+", propagat edType, []);
9525 void test_insert_beforeIdentifier2() { 9188 fromNode.propagatedElement = propagatedElement;
9526 // "f() => a + b;" 9189 fromNode.propagatedType = propagatedType;
9527 // "f() => a + xb;" 9190 DartType staticType = ElementFactory.classElement2("C", []).type;
9528 _assertParse("f() => a + ", "", "x", "b;"); 9191 MethodElement staticElement = ElementFactory.methodElement("+", staticType, []);
9529 } 9192 fromNode.staticElement = staticElement;
9530 9193 fromNode.staticType = staticType;
9531 void test_insert_convertOneFunctionToTwo() { 9194 BinaryExpression toNode = AstFactory.binaryExpression(AstFactory.identifier3 ("a"), TokenType.PLUS, AstFactory.identifier3("b"));
9532 // "f() {}" 9195 ResolutionCopier.copyResolutionData(fromNode, toNode);
9533 // "f() => 0; g() {}" 9196 JUnitTestCase.assertSame(propagatedElement, toNode.propagatedElement);
9534 _assertParse("f()", "", " => 0; g()", " {}"); 9197 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9535 } 9198 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
9536 9199 JUnitTestCase.assertSame(staticType, toNode.staticType);
9537 void test_insert_end() { 9200 }
9538 // "class A {}" 9201
9539 // "class A {} class B {}" 9202 void test_visitBooleanLiteral() {
9540 _assertParse("class A {}", "", " class B {}", ""); 9203 BooleanLiteral fromNode = AstFactory.booleanLiteral(true);
9541 } 9204 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9542 9205 fromNode.propagatedType = propagatedType;
9543 void test_insert_insideClassBody() { 9206 DartType staticType = ElementFactory.classElement2("C", []).type;
9544 // "class C {C(); }" 9207 fromNode.staticType = staticType;
9545 // "class C { C(); }" 9208 BooleanLiteral toNode = AstFactory.booleanLiteral(true);
9546 _assertParse("class C {", "", " ", "C(); }"); 9209 ResolutionCopier.copyResolutionData(fromNode, toNode);
9547 } 9210 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9548 9211 JUnitTestCase.assertSame(staticType, toNode.staticType);
9549 void test_insert_insideIdentifier() { 9212 }
9550 // "f() => cob;" 9213
9551 // "f() => cow.b;" 9214 void test_visitCascadeExpression() {
9552 _assertParse("f() => co", "", "w.", "b;"); 9215 CascadeExpression fromNode = AstFactory.cascadeExpression(AstFactory.identif ier3("a"), [AstFactory.identifier3("b")]);
9553 } 9216 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9554 9217 fromNode.propagatedType = propagatedType;
9555 void test_insert_newIdentifier1() { 9218 DartType staticType = ElementFactory.classElement2("C", []).type;
9556 // "f() => a; c;" 9219 fromNode.staticType = staticType;
9557 // "f() => a; b c;" 9220 CascadeExpression toNode = AstFactory.cascadeExpression(AstFactory.identifie r3("a"), [AstFactory.identifier3("b")]);
9558 _assertParse("f() => a;", "", " b", " c;"); 9221 ResolutionCopier.copyResolutionData(fromNode, toNode);
9559 } 9222 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9560 9223 JUnitTestCase.assertSame(staticType, toNode.staticType);
9561 void test_insert_newIdentifier2() { 9224 }
9562 // "f() => a; c;" 9225
9563 // "f() => a;b c;" 9226 void test_visitCompilationUnit() {
9564 _assertParse("f() => a;", "", "b", " c;"); 9227 CompilationUnit fromNode = AstFactory.compilationUnit();
9565 } 9228 CompilationUnitElement element = new CompilationUnitElementImpl("test.dart") ;
9566 9229 fromNode.element = element;
9567 void test_insert_newIdentifier3() { 9230 CompilationUnit toNode = AstFactory.compilationUnit();
9568 // "/** A simple function. */ f() => a; c;" 9231 ResolutionCopier.copyResolutionData(fromNode, toNode);
9569 // "/** A simple function. */ f() => a; b c;" 9232 JUnitTestCase.assertSame(element, toNode.element);
9570 _assertParse("/** A simple function. */ f() => a;", "", " b", " c;"); 9233 }
9571 } 9234
9572 9235 void test_visitConditionalExpression() {
9573 void test_insert_newIdentifier4() { 9236 ConditionalExpression fromNode = AstFactory.conditionalExpression(AstFactory .identifier3("c"), AstFactory.identifier3("a"), AstFactory.identifier3("b"));
9574 // "/** An [A]. */ class A {} class B { m() { return 1; } }" 9237 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9575 // "/** An [A]. */ class A {} class B { m() { return 1 + 2; } }" 9238 fromNode.propagatedType = propagatedType;
9576 _assertParse("/** An [A]. */ class A {} class B { m() { return 1", "", " + 2 ", "; } }"); 9239 DartType staticType = ElementFactory.classElement2("C", []).type;
9577 } 9240 fromNode.staticType = staticType;
9578 9241 ConditionalExpression toNode = AstFactory.conditionalExpression(AstFactory.i dentifier3("c"), AstFactory.identifier3("a"), AstFactory.identifier3("b"));
9579 void test_insert_period() { 9242 ResolutionCopier.copyResolutionData(fromNode, toNode);
9580 // "f() => a + b;" 9243 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9581 // "f() => a + b.;" 9244 JUnitTestCase.assertSame(staticType, toNode.staticType);
9582 _assertParse("f() => a + b", "", ".", ";"); 9245 }
9583 } 9246
9584 9247 void test_visitConstructorDeclaration() {
9585 void test_insert_period_betweenIdentifiers1() { 9248 String className = "A";
9586 // "f() => a b;" 9249 String constructorName = "c";
9587 // "f() => a. b;" 9250 ConstructorDeclaration fromNode = AstFactory.constructorDeclaration(AstFacto ry.identifier3(className), constructorName, AstFactory.formalParameterList([]), null);
9588 _assertParse("f() => a", "", ".", " b;"); 9251 ConstructorElement element = ElementFactory.constructorElement2(ElementFacto ry.classElement2(className, []), constructorName, []);
9589 } 9252 fromNode.element = element;
9590 9253 ConstructorDeclaration toNode = AstFactory.constructorDeclaration(AstFactory .identifier3(className), constructorName, AstFactory.formalParameterList([]), nu ll);
9591 void test_insert_period_betweenIdentifiers2() { 9254 ResolutionCopier.copyResolutionData(fromNode, toNode);
9592 // "f() => a b;" 9255 JUnitTestCase.assertSame(element, toNode.element);
9593 // "f() => a .b;" 9256 }
9594 _assertParse("f() => a ", "", ".", "b;"); 9257
9595 } 9258 void test_visitConstructorName() {
9596 9259 ConstructorName fromNode = AstFactory.constructorName(AstFactory.typeName4(" A", []), "c");
9597 void test_insert_period_betweenIdentifiers3() { 9260 ConstructorElement staticElement = ElementFactory.constructorElement2(Elemen tFactory.classElement2("A", []), "c", []);
9598 // "f() => a b;" 9261 fromNode.staticElement = staticElement;
9599 // "f() => a . b;" 9262 ConstructorName toNode = AstFactory.constructorName(AstFactory.typeName4("A" , []), "c");
9600 _assertParse("f() => a ", "", ".", " b;"); 9263 ResolutionCopier.copyResolutionData(fromNode, toNode);
9601 } 9264 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
9602 9265 }
9603 void test_insert_period_insideExistingIdentifier() { 9266
9604 // "f() => ab;" 9267 void test_visitDoubleLiteral() {
9605 // "f() => a.b;" 9268 DoubleLiteral fromNode = AstFactory.doubleLiteral(1.0);
9606 _assertParse("f() => a", "", ".", "b;"); 9269 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9607 } 9270 fromNode.propagatedType = propagatedType;
9608 9271 DartType staticType = ElementFactory.classElement2("C", []).type;
9609 void test_insert_periodAndIdentifier() { 9272 fromNode.staticType = staticType;
9610 // "f() => a + b;" 9273 DoubleLiteral toNode = AstFactory.doubleLiteral(1.0);
9611 // "f() => a + b.x;" 9274 ResolutionCopier.copyResolutionData(fromNode, toNode);
9612 _assertParse("f() => a + b", "", ".x", ";"); 9275 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9613 } 9276 JUnitTestCase.assertSame(staticType, toNode.staticType);
9614 9277 }
9615 void test_insert_simpleToComplexExression() { 9278
9616 // "/** An [A]. */ class A {} class B { m() => 1; }" 9279 void test_visitExportDirective() {
9617 // "/** An [A]. */ class A {} class B { m() => 1 + 2; }" 9280 ExportDirective fromNode = AstFactory.exportDirective2("dart:uri", []);
9618 _assertParse("/** An [A]. */ class A {} class B { m() => 1", "", " + 2", "; }"); 9281 ExportElement element = new ExportElementImpl();
9619 } 9282 fromNode.element = element;
9620 9283 ExportDirective toNode = AstFactory.exportDirective2("dart:uri", []);
9621 void test_insert_whitespace_end() { 9284 ResolutionCopier.copyResolutionData(fromNode, toNode);
9622 // "f() => a + b;" 9285 JUnitTestCase.assertSame(element, toNode.element);
9623 // "f() => a + b; " 9286 }
9624 _assertParse("f() => a + b;", "", " ", ""); 9287
9625 } 9288 void test_visitFunctionExpression() {
9626 9289 FunctionExpression fromNode = AstFactory.functionExpression2(AstFactory.form alParameterList([]), AstFactory.emptyFunctionBody());
9627 void test_insert_whitespace_end_multiple() { 9290 MethodElement element = ElementFactory.methodElement("m", ElementFactory.cla ssElement2("C", []).type, []);
9628 // "f() => a + b;" 9291 fromNode.element = element;
9629 // "f() => a + b; " 9292 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9630 _assertParse("f() => a + b;", "", " ", ""); 9293 fromNode.propagatedType = propagatedType;
9631 } 9294 DartType staticType = ElementFactory.classElement2("C", []).type;
9632 9295 fromNode.staticType = staticType;
9633 void test_insert_whitespace_middle() { 9296 FunctionExpression toNode = AstFactory.functionExpression2(AstFactory.formal ParameterList([]), AstFactory.emptyFunctionBody());
9634 // "f() => a + b;" 9297 ResolutionCopier.copyResolutionData(fromNode, toNode);
9635 // "f() => a + b;" 9298 JUnitTestCase.assertSame(element, toNode.element);
9636 _assertParse("f() => a", "", " ", " + b;"); 9299 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9637 } 9300 JUnitTestCase.assertSame(staticType, toNode.staticType);
9638 9301 }
9639 void test_replace_identifier_beginning() { 9302
9640 // "f() => bell + b;" 9303 void test_visitFunctionExpressionInvocation() {
9641 // "f() => fell + b;" 9304 FunctionExpressionInvocation fromNode = AstFactory.functionExpressionInvocat ion(AstFactory.identifier3("f"), []);
9642 _assertParse("f() => ", "b", "f", "ell + b;"); 9305 MethodElement propagatedElement = ElementFactory.methodElement("m", ElementF actory.classElement2("C", []).type, []);
9643 } 9306 fromNode.propagatedElement = propagatedElement;
9644 9307 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9645 void test_replace_identifier_end() { 9308 fromNode.propagatedType = propagatedType;
9646 // "f() => bell + b;" 9309 MethodElement staticElement = ElementFactory.methodElement("m", ElementFacto ry.classElement2("C", []).type, []);
9647 // "f() => belt + b;" 9310 fromNode.staticElement = staticElement;
9648 _assertParse("f() => bel", "l", "t", " + b;"); 9311 DartType staticType = ElementFactory.classElement2("C", []).type;
9649 } 9312 fromNode.staticType = staticType;
9650 9313 FunctionExpressionInvocation toNode = AstFactory.functionExpressionInvocatio n(AstFactory.identifier3("f"), []);
9651 void test_replace_identifier_middle() { 9314 ResolutionCopier.copyResolutionData(fromNode, toNode);
9652 // "f() => first + b;" 9315 JUnitTestCase.assertSame(propagatedElement, toNode.propagatedElement);
9653 // "f() => frost + b;" 9316 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9654 _assertParse("f() => f", "ir", "ro", "st + b;"); 9317 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
9655 } 9318 JUnitTestCase.assertSame(staticType, toNode.staticType);
9656 9319 }
9657 void test_replace_multiple_partialFirstAndLast() { 9320
9658 // "f() => aa + bb;" 9321 void test_visitImportDirective() {
9659 // "f() => ab * ab;" 9322 ImportDirective fromNode = AstFactory.importDirective2("dart:uri", null, []) ;
9660 _assertParse("f() => a", "a + b", "b * a", "b;"); 9323 ImportElement element = new ImportElementImpl(0);
9661 } 9324 fromNode.element = element;
9662 9325 ImportDirective toNode = AstFactory.importDirective2("dart:uri", null, []);
9663 void test_replace_operator_oneForMany() { 9326 ResolutionCopier.copyResolutionData(fromNode, toNode);
9664 // "f() => a + b;" 9327 JUnitTestCase.assertSame(element, toNode.element);
9665 // "f() => a * c - b;" 9328 }
9666 _assertParse("f() => a ", "+", "* c -", " b;"); 9329
9667 } 9330 void test_visitIndexExpression() {
9668 9331 IndexExpression fromNode = AstFactory.indexExpression(AstFactory.identifier3 ("a"), AstFactory.integer(0));
9669 void test_replace_operator_oneForOne() { 9332 MethodElement propagatedElement = ElementFactory.methodElement("m", ElementF actory.classElement2("C", []).type, []);
9670 // "f() => a + b;" 9333 MethodElement staticElement = ElementFactory.methodElement("m", ElementFacto ry.classElement2("C", []).type, []);
9671 // "f() => a * b;" 9334 AuxiliaryElements auxiliaryElements = new AuxiliaryElements(staticElement, p ropagatedElement);
9672 _assertParse("f() => a ", "+", "*", " b;"); 9335 fromNode.auxiliaryElements = auxiliaryElements;
9673 } 9336 fromNode.propagatedElement = propagatedElement;
9674 9337 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9675 /** 9338 fromNode.propagatedType = propagatedType;
9676 * Given a description of the original and modified contents, perform an incre mental scan of the 9339 fromNode.staticElement = staticElement;
9677 * two pieces of text. 9340 DartType staticType = ElementFactory.classElement2("C", []).type;
9678 * 9341 fromNode.staticType = staticType;
9679 * @param prefix the unchanged text before the edit region 9342 IndexExpression toNode = AstFactory.indexExpression(AstFactory.identifier3(" a"), AstFactory.integer(0));
9680 * @param removed the text that was removed from the original contents 9343 ResolutionCopier.copyResolutionData(fromNode, toNode);
9681 * @param added the text that was added to the modified contents 9344 JUnitTestCase.assertSame(auxiliaryElements, toNode.auxiliaryElements);
9682 * @param suffix the unchanged text after the edit region 9345 JUnitTestCase.assertSame(propagatedElement, toNode.propagatedElement);
9683 */ 9346 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9684 void _assertParse(String prefix, String removed, String added, String suffix) { 9347 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
9685 // 9348 JUnitTestCase.assertSame(staticType, toNode.staticType);
9686 // Compute the information needed to perform the test. 9349 }
9687 // 9350
9688 String originalContents = "${prefix}${removed}${suffix}"; 9351 void test_visitInstanceCreationExpression() {
9689 String modifiedContents = "${prefix}${added}${suffix}"; 9352 InstanceCreationExpression fromNode = AstFactory.instanceCreationExpression2 (Keyword.NEW, AstFactory.typeName4("C", []), []);
9690 int replaceStart = prefix.length; 9353 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9691 Source source = new TestSource(); 9354 fromNode.propagatedType = propagatedType;
9692 // 9355 ConstructorElement staticElement = ElementFactory.constructorElement2(Elemen tFactory.classElement2("C", []), null, []);
9693 // Parse the original contents. 9356 fromNode.staticElement = staticElement;
9694 // 9357 DartType staticType = ElementFactory.classElement2("C", []).type;
9695 GatheringErrorListener originalListener = new GatheringErrorListener(); 9358 fromNode.staticType = staticType;
9696 Scanner originalScanner = new Scanner(source, new CharSequenceReader(origina lContents), originalListener); 9359 InstanceCreationExpression toNode = AstFactory.instanceCreationExpression2(K eyword.NEW, AstFactory.typeName4("C", []), []);
9697 Token originalTokens = originalScanner.tokenize(); 9360 ResolutionCopier.copyResolutionData(fromNode, toNode);
9698 JUnitTestCase.assertNotNull(originalTokens); 9361 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9699 Parser originalParser = new Parser(source, originalListener); 9362 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
9700 CompilationUnit originalUnit = originalParser.parseCompilationUnit(originalT okens); 9363 JUnitTestCase.assertSame(staticType, toNode.staticType);
9701 JUnitTestCase.assertNotNull(originalUnit); 9364 }
9702 // 9365
9703 // Parse the modified contents. 9366 void test_visitIntegerLiteral() {
9704 // 9367 IntegerLiteral fromNode = AstFactory.integer(2);
9705 GatheringErrorListener modifiedListener = new GatheringErrorListener(); 9368 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9706 Scanner modifiedScanner = new Scanner(source, new CharSequenceReader(modifie dContents), modifiedListener); 9369 fromNode.propagatedType = propagatedType;
9707 Token modifiedTokens = modifiedScanner.tokenize(); 9370 DartType staticType = ElementFactory.classElement2("C", []).type;
9708 JUnitTestCase.assertNotNull(modifiedTokens); 9371 fromNode.staticType = staticType;
9709 Parser modifiedParser = new Parser(source, modifiedListener); 9372 IntegerLiteral toNode = AstFactory.integer(2);
9710 CompilationUnit modifiedUnit = modifiedParser.parseCompilationUnit(modifiedT okens); 9373 ResolutionCopier.copyResolutionData(fromNode, toNode);
9711 JUnitTestCase.assertNotNull(modifiedUnit); 9374 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9712 // 9375 JUnitTestCase.assertSame(staticType, toNode.staticType);
9713 // Incrementally parse the modified contents. 9376 }
9714 // 9377
9715 GatheringErrorListener incrementalListener = new GatheringErrorListener(); 9378 void test_visitIsExpression() {
9716 IncrementalScanner incrementalScanner = new IncrementalScanner(source, new C harSequenceReader(modifiedContents), incrementalListener); 9379 IsExpression fromNode = AstFactory.isExpression(AstFactory.identifier3("x"), false, AstFactory.typeName4("A", []));
9717 Token incrementalTokens = incrementalScanner.rescan(originalTokens, replaceS tart, removed.length, added.length); 9380 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9718 JUnitTestCase.assertNotNull(incrementalTokens); 9381 fromNode.propagatedType = propagatedType;
9719 IncrementalParser incrementalParser = new IncrementalParser(source, incremen talScanner.tokenMap, incrementalListener); 9382 DartType staticType = ElementFactory.classElement2("C", []).type;
9720 CompilationUnit incrementalUnit = incrementalParser.reparse(originalUnit, in crementalScanner.leftToken, incrementalScanner.rightToken, replaceStart, prefix. length + removed.length); 9383 fromNode.staticType = staticType;
9721 JUnitTestCase.assertNotNull(incrementalUnit); 9384 IsExpression toNode = AstFactory.isExpression(AstFactory.identifier3("x"), f alse, AstFactory.typeName4("A", []));
9722 // 9385 ResolutionCopier.copyResolutionData(fromNode, toNode);
9723 // Validate that the results of the incremental parse are the same as the fu ll parse of the 9386 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9724 // modified source. 9387 JUnitTestCase.assertSame(staticType, toNode.staticType);
9725 // 9388 }
9726 JUnitTestCase.assertTrue(AstComparator.equalNodes(modifiedUnit, incrementalU nit)); 9389
9390 void test_visitLibraryIdentifier() {
9391 LibraryIdentifier fromNode = AstFactory.libraryIdentifier([AstFactory.identi fier3("lib")]);
9392 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9393 fromNode.propagatedType = propagatedType;
9394 DartType staticType = ElementFactory.classElement2("C", []).type;
9395 fromNode.staticType = staticType;
9396 LibraryIdentifier toNode = AstFactory.libraryIdentifier([AstFactory.identifi er3("lib")]);
9397 ResolutionCopier.copyResolutionData(fromNode, toNode);
9398 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9399 JUnitTestCase.assertSame(staticType, toNode.staticType);
9400 }
9401
9402 void test_visitListLiteral() {
9403 ListLiteral fromNode = AstFactory.listLiteral([]);
9404 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9405 fromNode.propagatedType = propagatedType;
9406 DartType staticType = ElementFactory.classElement2("C", []).type;
9407 fromNode.staticType = staticType;
9408 ListLiteral toNode = AstFactory.listLiteral([]);
9409 ResolutionCopier.copyResolutionData(fromNode, toNode);
9410 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9411 JUnitTestCase.assertSame(staticType, toNode.staticType);
9412 }
9413
9414 void test_visitMapLiteral() {
9415 MapLiteral fromNode = AstFactory.mapLiteral2([]);
9416 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9417 fromNode.propagatedType = propagatedType;
9418 DartType staticType = ElementFactory.classElement2("C", []).type;
9419 fromNode.staticType = staticType;
9420 MapLiteral toNode = AstFactory.mapLiteral2([]);
9421 ResolutionCopier.copyResolutionData(fromNode, toNode);
9422 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9423 JUnitTestCase.assertSame(staticType, toNode.staticType);
9424 }
9425
9426 void test_visitMethodInvocation() {
9427 MethodInvocation fromNode = AstFactory.methodInvocation2("m", []);
9428 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9429 fromNode.propagatedType = propagatedType;
9430 DartType staticType = ElementFactory.classElement2("C", []).type;
9431 fromNode.staticType = staticType;
9432 MethodInvocation toNode = AstFactory.methodInvocation2("m", []);
9433 ResolutionCopier.copyResolutionData(fromNode, toNode);
9434 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9435 JUnitTestCase.assertSame(staticType, toNode.staticType);
9436 }
9437
9438 void test_visitNamedExpression() {
9439 NamedExpression fromNode = AstFactory.namedExpression2("n", AstFactory.integ er(0));
9440 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9441 fromNode.propagatedType = propagatedType;
9442 DartType staticType = ElementFactory.classElement2("C", []).type;
9443 fromNode.staticType = staticType;
9444 NamedExpression toNode = AstFactory.namedExpression2("n", AstFactory.integer (0));
9445 ResolutionCopier.copyResolutionData(fromNode, toNode);
9446 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9447 JUnitTestCase.assertSame(staticType, toNode.staticType);
9448 }
9449
9450 void test_visitNullLiteral() {
9451 NullLiteral fromNode = AstFactory.nullLiteral();
9452 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9453 fromNode.propagatedType = propagatedType;
9454 DartType staticType = ElementFactory.classElement2("C", []).type;
9455 fromNode.staticType = staticType;
9456 NullLiteral toNode = AstFactory.nullLiteral();
9457 ResolutionCopier.copyResolutionData(fromNode, toNode);
9458 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9459 JUnitTestCase.assertSame(staticType, toNode.staticType);
9460 }
9461
9462 void test_visitParenthesizedExpression() {
9463 ParenthesizedExpression fromNode = AstFactory.parenthesizedExpression(AstFac tory.integer(0));
9464 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9465 fromNode.propagatedType = propagatedType;
9466 DartType staticType = ElementFactory.classElement2("C", []).type;
9467 fromNode.staticType = staticType;
9468 ParenthesizedExpression toNode = AstFactory.parenthesizedExpression(AstFacto ry.integer(0));
9469 ResolutionCopier.copyResolutionData(fromNode, toNode);
9470 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9471 JUnitTestCase.assertSame(staticType, toNode.staticType);
9472 }
9473
9474 void test_visitPartDirective() {
9475 PartDirective fromNode = AstFactory.partDirective2("part.dart");
9476 LibraryElement element = new LibraryElementImpl(null, AstFactory.libraryIden tifier2(["lib"]));
9477 fromNode.element = element;
9478 PartDirective toNode = AstFactory.partDirective2("part.dart");
9479 ResolutionCopier.copyResolutionData(fromNode, toNode);
9480 JUnitTestCase.assertSame(element, toNode.element);
9481 }
9482
9483 void test_visitPartOfDirective() {
9484 PartOfDirective fromNode = AstFactory.partOfDirective(AstFactory.libraryIden tifier2(["lib"]));
9485 LibraryElement element = new LibraryElementImpl(null, AstFactory.libraryIden tifier2(["lib"]));
9486 fromNode.element = element;
9487 PartOfDirective toNode = AstFactory.partOfDirective(AstFactory.libraryIdenti fier2(["lib"]));
9488 ResolutionCopier.copyResolutionData(fromNode, toNode);
9489 JUnitTestCase.assertSame(element, toNode.element);
9490 }
9491
9492 void test_visitPostfixExpression() {
9493 String variableName = "x";
9494 PostfixExpression fromNode = AstFactory.postfixExpression(AstFactory.identif ier3(variableName), TokenType.PLUS_PLUS);
9495 MethodElement propagatedElement = ElementFactory.methodElement("+", ElementF actory.classElement2("C", []).type, []);
9496 fromNode.propagatedElement = propagatedElement;
9497 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9498 fromNode.propagatedType = propagatedType;
9499 MethodElement staticElement = ElementFactory.methodElement("+", ElementFacto ry.classElement2("C", []).type, []);
9500 fromNode.staticElement = staticElement;
9501 DartType staticType = ElementFactory.classElement2("C", []).type;
9502 fromNode.staticType = staticType;
9503 PostfixExpression toNode = AstFactory.postfixExpression(AstFactory.identifie r3(variableName), TokenType.PLUS_PLUS);
9504 ResolutionCopier.copyResolutionData(fromNode, toNode);
9505 JUnitTestCase.assertSame(propagatedElement, toNode.propagatedElement);
9506 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9507 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
9508 JUnitTestCase.assertSame(staticType, toNode.staticType);
9509 }
9510
9511 void test_visitPrefixedIdentifier() {
9512 PrefixedIdentifier fromNode = AstFactory.identifier5("p", "f");
9513 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9514 fromNode.propagatedType = propagatedType;
9515 DartType staticType = ElementFactory.classElement2("C", []).type;
9516 fromNode.staticType = staticType;
9517 PrefixedIdentifier toNode = AstFactory.identifier5("p", "f");
9518 ResolutionCopier.copyResolutionData(fromNode, toNode);
9519 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9520 JUnitTestCase.assertSame(staticType, toNode.staticType);
9521 }
9522
9523 void test_visitPrefixExpression() {
9524 PrefixExpression fromNode = AstFactory.prefixExpression(TokenType.PLUS_PLUS, AstFactory.identifier3("x"));
9525 MethodElement propagatedElement = ElementFactory.methodElement("+", ElementF actory.classElement2("C", []).type, []);
9526 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9527 fromNode.propagatedElement = propagatedElement;
9528 fromNode.propagatedType = propagatedType;
9529 DartType staticType = ElementFactory.classElement2("C", []).type;
9530 MethodElement staticElement = ElementFactory.methodElement("+", ElementFacto ry.classElement2("C", []).type, []);
9531 fromNode.staticElement = staticElement;
9532 fromNode.staticType = staticType;
9533 PrefixExpression toNode = AstFactory.prefixExpression(TokenType.PLUS_PLUS, A stFactory.identifier3("x"));
9534 ResolutionCopier.copyResolutionData(fromNode, toNode);
9535 JUnitTestCase.assertSame(propagatedElement, toNode.propagatedElement);
9536 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9537 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
9538 JUnitTestCase.assertSame(staticType, toNode.staticType);
9539 }
9540
9541 void test_visitPropertyAccess() {
9542 PropertyAccess fromNode = AstFactory.propertyAccess2(AstFactory.identifier3( "x"), "y");
9543 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9544 fromNode.propagatedType = propagatedType;
9545 DartType staticType = ElementFactory.classElement2("C", []).type;
9546 fromNode.staticType = staticType;
9547 PropertyAccess toNode = AstFactory.propertyAccess2(AstFactory.identifier3("x "), "y");
9548 ResolutionCopier.copyResolutionData(fromNode, toNode);
9549 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9550 JUnitTestCase.assertSame(staticType, toNode.staticType);
9551 }
9552
9553 void test_visitRedirectingConstructorInvocation() {
9554 RedirectingConstructorInvocation fromNode = AstFactory.redirectingConstructo rInvocation([]);
9555 ConstructorElement staticElement = ElementFactory.constructorElement2(Elemen tFactory.classElement2("C", []), null, []);
9556 fromNode.staticElement = staticElement;
9557 RedirectingConstructorInvocation toNode = AstFactory.redirectingConstructorI nvocation([]);
9558 ResolutionCopier.copyResolutionData(fromNode, toNode);
9559 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
9560 }
9561
9562 void test_visitRethrowExpression() {
9563 RethrowExpression fromNode = AstFactory.rethrowExpression();
9564 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9565 fromNode.propagatedType = propagatedType;
9566 DartType staticType = ElementFactory.classElement2("C", []).type;
9567 fromNode.staticType = staticType;
9568 RethrowExpression toNode = AstFactory.rethrowExpression();
9569 ResolutionCopier.copyResolutionData(fromNode, toNode);
9570 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9571 JUnitTestCase.assertSame(staticType, toNode.staticType);
9572 }
9573
9574 void test_visitSimpleIdentifier() {
9575 SimpleIdentifier fromNode = AstFactory.identifier3("x");
9576 MethodElement propagatedElement = ElementFactory.methodElement("m", ElementF actory.classElement2("C", []).type, []);
9577 MethodElement staticElement = ElementFactory.methodElement("m", ElementFacto ry.classElement2("C", []).type, []);
9578 AuxiliaryElements auxiliaryElements = new AuxiliaryElements(staticElement, p ropagatedElement);
9579 fromNode.auxiliaryElements = auxiliaryElements;
9580 fromNode.propagatedElement = propagatedElement;
9581 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9582 fromNode.propagatedType = propagatedType;
9583 fromNode.staticElement = staticElement;
9584 DartType staticType = ElementFactory.classElement2("C", []).type;
9585 fromNode.staticType = staticType;
9586 SimpleIdentifier toNode = AstFactory.identifier3("x");
9587 ResolutionCopier.copyResolutionData(fromNode, toNode);
9588 JUnitTestCase.assertSame(auxiliaryElements, toNode.auxiliaryElements);
9589 JUnitTestCase.assertSame(propagatedElement, toNode.propagatedElement);
9590 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9591 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
9592 JUnitTestCase.assertSame(staticType, toNode.staticType);
9593 }
9594
9595 void test_visitSimpleStringLiteral() {
9596 SimpleStringLiteral fromNode = AstFactory.string2("abc");
9597 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9598 fromNode.propagatedType = propagatedType;
9599 DartType staticType = ElementFactory.classElement2("C", []).type;
9600 fromNode.staticType = staticType;
9601 SimpleStringLiteral toNode = AstFactory.string2("abc");
9602 ResolutionCopier.copyResolutionData(fromNode, toNode);
9603 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9604 JUnitTestCase.assertSame(staticType, toNode.staticType);
9605 }
9606
9607 void test_visitStringInterpolation() {
9608 StringInterpolation fromNode = AstFactory.string([AstFactory.interpolationSt ring("a", "'a'")]);
9609 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9610 fromNode.propagatedType = propagatedType;
9611 DartType staticType = ElementFactory.classElement2("C", []).type;
9612 fromNode.staticType = staticType;
9613 StringInterpolation toNode = AstFactory.string([AstFactory.interpolationStri ng("a", "'a'")]);
9614 ResolutionCopier.copyResolutionData(fromNode, toNode);
9615 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9616 JUnitTestCase.assertSame(staticType, toNode.staticType);
9617 }
9618
9619 void test_visitSuperConstructorInvocation() {
9620 SuperConstructorInvocation fromNode = AstFactory.superConstructorInvocation( []);
9621 ConstructorElement staticElement = ElementFactory.constructorElement2(Elemen tFactory.classElement2("C", []), null, []);
9622 fromNode.staticElement = staticElement;
9623 SuperConstructorInvocation toNode = AstFactory.superConstructorInvocation([] );
9624 ResolutionCopier.copyResolutionData(fromNode, toNode);
9625 JUnitTestCase.assertSame(staticElement, toNode.staticElement);
9626 }
9627
9628 void test_visitSuperExpression() {
9629 SuperExpression fromNode = AstFactory.superExpression();
9630 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9631 fromNode.propagatedType = propagatedType;
9632 DartType staticType = ElementFactory.classElement2("C", []).type;
9633 fromNode.staticType = staticType;
9634 SuperExpression toNode = AstFactory.superExpression();
9635 ResolutionCopier.copyResolutionData(fromNode, toNode);
9636 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9637 JUnitTestCase.assertSame(staticType, toNode.staticType);
9638 }
9639
9640 void test_visitSymbolLiteral() {
9641 SymbolLiteral fromNode = AstFactory.symbolLiteral(["s"]);
9642 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9643 fromNode.propagatedType = propagatedType;
9644 DartType staticType = ElementFactory.classElement2("C", []).type;
9645 fromNode.staticType = staticType;
9646 SymbolLiteral toNode = AstFactory.symbolLiteral(["s"]);
9647 ResolutionCopier.copyResolutionData(fromNode, toNode);
9648 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9649 JUnitTestCase.assertSame(staticType, toNode.staticType);
9650 }
9651
9652 void test_visitThisExpression() {
9653 ThisExpression fromNode = AstFactory.thisExpression();
9654 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9655 fromNode.propagatedType = propagatedType;
9656 DartType staticType = ElementFactory.classElement2("C", []).type;
9657 fromNode.staticType = staticType;
9658 ThisExpression toNode = AstFactory.thisExpression();
9659 ResolutionCopier.copyResolutionData(fromNode, toNode);
9660 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9661 JUnitTestCase.assertSame(staticType, toNode.staticType);
9662 }
9663
9664 void test_visitThrowExpression() {
9665 ThrowExpression fromNode = AstFactory.throwExpression();
9666 DartType propagatedType = ElementFactory.classElement2("C", []).type;
9667 fromNode.propagatedType = propagatedType;
9668 DartType staticType = ElementFactory.classElement2("C", []).type;
9669 fromNode.staticType = staticType;
9670 ThrowExpression toNode = AstFactory.throwExpression();
9671 ResolutionCopier.copyResolutionData(fromNode, toNode);
9672 JUnitTestCase.assertSame(propagatedType, toNode.propagatedType);
9673 JUnitTestCase.assertSame(staticType, toNode.staticType);
9674 }
9675
9676 void test_visitTypeName() {
9677 TypeName fromNode = AstFactory.typeName4("C", []);
9678 DartType type = ElementFactory.classElement2("C", []).type;
9679 fromNode.type = type;
9680 TypeName toNode = AstFactory.typeName4("C", []);
9681 ResolutionCopier.copyResolutionData(fromNode, toNode);
9682 JUnitTestCase.assertSame(type, toNode.type);
9727 } 9683 }
9728 9684
9729 static dartSuite() { 9685 static dartSuite() {
9730 _ut.group('IncrementalParserTest', () { 9686 _ut.group('ResolutionCopierTest', () {
9731 _ut.test('test_delete_everything', () { 9687 _ut.test('test_visitAnnotation', () {
9732 final __test = new IncrementalParserTest(); 9688 final __test = new ResolutionCopierTest();
9733 runJUnitTest(__test, __test.test_delete_everything); 9689 runJUnitTest(__test, __test.test_visitAnnotation);
9734 }); 9690 });
9735 _ut.test('test_delete_identifier_beginning', () { 9691 _ut.test('test_visitArgumentDefinitionTest', () {
9736 final __test = new IncrementalParserTest(); 9692 final __test = new ResolutionCopierTest();
9737 runJUnitTest(__test, __test.test_delete_identifier_beginning); 9693 runJUnitTest(__test, __test.test_visitArgumentDefinitionTest);
9738 }); 9694 });
9739 _ut.test('test_delete_identifier_end', () { 9695 _ut.test('test_visitAsExpression', () {
9740 final __test = new IncrementalParserTest(); 9696 final __test = new ResolutionCopierTest();
9741 runJUnitTest(__test, __test.test_delete_identifier_end); 9697 runJUnitTest(__test, __test.test_visitAsExpression);
9742 }); 9698 });
9743 _ut.test('test_delete_identifier_middle', () { 9699 _ut.test('test_visitAssignmentExpression', () {
9744 final __test = new IncrementalParserTest(); 9700 final __test = new ResolutionCopierTest();
9745 runJUnitTest(__test, __test.test_delete_identifier_middle); 9701 runJUnitTest(__test, __test.test_visitAssignmentExpression);
9746 }); 9702 });
9747 _ut.test('test_delete_mergeTokens', () { 9703 _ut.test('test_visitBinaryExpression', () {
9748 final __test = new IncrementalParserTest(); 9704 final __test = new ResolutionCopierTest();
9749 runJUnitTest(__test, __test.test_delete_mergeTokens); 9705 runJUnitTest(__test, __test.test_visitBinaryExpression);
9750 }); 9706 });
9751 _ut.test('test_insert_afterIdentifier1', () { 9707 _ut.test('test_visitBooleanLiteral', () {
9752 final __test = new IncrementalParserTest(); 9708 final __test = new ResolutionCopierTest();
9753 runJUnitTest(__test, __test.test_insert_afterIdentifier1); 9709 runJUnitTest(__test, __test.test_visitBooleanLiteral);
9754 }); 9710 });
9755 _ut.test('test_insert_afterIdentifier2', () { 9711 _ut.test('test_visitCascadeExpression', () {
9756 final __test = new IncrementalParserTest(); 9712 final __test = new ResolutionCopierTest();
9757 runJUnitTest(__test, __test.test_insert_afterIdentifier2); 9713 runJUnitTest(__test, __test.test_visitCascadeExpression);
9758 }); 9714 });
9759 _ut.test('test_insert_beforeIdentifier1', () { 9715 _ut.test('test_visitCompilationUnit', () {
9760 final __test = new IncrementalParserTest(); 9716 final __test = new ResolutionCopierTest();
9761 runJUnitTest(__test, __test.test_insert_beforeIdentifier1); 9717 runJUnitTest(__test, __test.test_visitCompilationUnit);
9762 }); 9718 });
9763 _ut.test('test_insert_beforeIdentifier2', () { 9719 _ut.test('test_visitConditionalExpression', () {
9764 final __test = new IncrementalParserTest(); 9720 final __test = new ResolutionCopierTest();
9765 runJUnitTest(__test, __test.test_insert_beforeIdentifier2); 9721 runJUnitTest(__test, __test.test_visitConditionalExpression);
9766 }); 9722 });
9767 _ut.test('test_insert_convertOneFunctionToTwo', () { 9723 _ut.test('test_visitConstructorDeclaration', () {
9768 final __test = new IncrementalParserTest(); 9724 final __test = new ResolutionCopierTest();
9769 runJUnitTest(__test, __test.test_insert_convertOneFunctionToTwo); 9725 runJUnitTest(__test, __test.test_visitConstructorDeclaration);
9770 }); 9726 });
9771 _ut.test('test_insert_end', () { 9727 _ut.test('test_visitConstructorName', () {
9772 final __test = new IncrementalParserTest(); 9728 final __test = new ResolutionCopierTest();
9773 runJUnitTest(__test, __test.test_insert_end); 9729 runJUnitTest(__test, __test.test_visitConstructorName);
9774 }); 9730 });
9775 _ut.test('test_insert_insideClassBody', () { 9731 _ut.test('test_visitDoubleLiteral', () {
9776 final __test = new IncrementalParserTest(); 9732 final __test = new ResolutionCopierTest();
9777 runJUnitTest(__test, __test.test_insert_insideClassBody); 9733 runJUnitTest(__test, __test.test_visitDoubleLiteral);
9778 }); 9734 });
9779 _ut.test('test_insert_insideIdentifier', () { 9735 _ut.test('test_visitExportDirective', () {
9780 final __test = new IncrementalParserTest(); 9736 final __test = new ResolutionCopierTest();
9781 runJUnitTest(__test, __test.test_insert_insideIdentifier); 9737 runJUnitTest(__test, __test.test_visitExportDirective);
9782 }); 9738 });
9783 _ut.test('test_insert_newIdentifier1', () { 9739 _ut.test('test_visitFunctionExpression', () {
9784 final __test = new IncrementalParserTest(); 9740 final __test = new ResolutionCopierTest();
9785 runJUnitTest(__test, __test.test_insert_newIdentifier1); 9741 runJUnitTest(__test, __test.test_visitFunctionExpression);
9786 }); 9742 });
9787 _ut.test('test_insert_newIdentifier2', () { 9743 _ut.test('test_visitFunctionExpressionInvocation', () {
9788 final __test = new IncrementalParserTest(); 9744 final __test = new ResolutionCopierTest();
9789 runJUnitTest(__test, __test.test_insert_newIdentifier2); 9745 runJUnitTest(__test, __test.test_visitFunctionExpressionInvocation);
9790 }); 9746 });
9791 _ut.test('test_insert_newIdentifier3', () { 9747 _ut.test('test_visitImportDirective', () {
9792 final __test = new IncrementalParserTest(); 9748 final __test = new ResolutionCopierTest();
9793 runJUnitTest(__test, __test.test_insert_newIdentifier3); 9749 runJUnitTest(__test, __test.test_visitImportDirective);
9794 }); 9750 });
9795 _ut.test('test_insert_newIdentifier4', () { 9751 _ut.test('test_visitIndexExpression', () {
9796 final __test = new IncrementalParserTest(); 9752 final __test = new ResolutionCopierTest();
9797 runJUnitTest(__test, __test.test_insert_newIdentifier4); 9753 runJUnitTest(__test, __test.test_visitIndexExpression);
9798 }); 9754 });
9799 _ut.test('test_insert_period', () { 9755 _ut.test('test_visitInstanceCreationExpression', () {
9800 final __test = new IncrementalParserTest(); 9756 final __test = new ResolutionCopierTest();
9801 runJUnitTest(__test, __test.test_insert_period); 9757 runJUnitTest(__test, __test.test_visitInstanceCreationExpression);
9802 }); 9758 });
9803 _ut.test('test_insert_periodAndIdentifier', () { 9759 _ut.test('test_visitIntegerLiteral', () {
9804 final __test = new IncrementalParserTest(); 9760 final __test = new ResolutionCopierTest();
9805 runJUnitTest(__test, __test.test_insert_periodAndIdentifier); 9761 runJUnitTest(__test, __test.test_visitIntegerLiteral);
9806 }); 9762 });
9807 _ut.test('test_insert_period_betweenIdentifiers1', () { 9763 _ut.test('test_visitIsExpression', () {
9808 final __test = new IncrementalParserTest(); 9764 final __test = new ResolutionCopierTest();
9809 runJUnitTest(__test, __test.test_insert_period_betweenIdentifiers1); 9765 runJUnitTest(__test, __test.test_visitIsExpression);
9810 }); 9766 });
9811 _ut.test('test_insert_period_betweenIdentifiers2', () { 9767 _ut.test('test_visitLibraryIdentifier', () {
9812 final __test = new IncrementalParserTest(); 9768 final __test = new ResolutionCopierTest();
9813 runJUnitTest(__test, __test.test_insert_period_betweenIdentifiers2); 9769 runJUnitTest(__test, __test.test_visitLibraryIdentifier);
9814 }); 9770 });
9815 _ut.test('test_insert_period_betweenIdentifiers3', () { 9771 _ut.test('test_visitListLiteral', () {
9816 final __test = new IncrementalParserTest(); 9772 final __test = new ResolutionCopierTest();
9817 runJUnitTest(__test, __test.test_insert_period_betweenIdentifiers3); 9773 runJUnitTest(__test, __test.test_visitListLiteral);
9818 }); 9774 });
9819 _ut.test('test_insert_period_insideExistingIdentifier', () { 9775 _ut.test('test_visitMapLiteral', () {
9820 final __test = new IncrementalParserTest(); 9776 final __test = new ResolutionCopierTest();
9821 runJUnitTest(__test, __test.test_insert_period_insideExistingIdentifier) ; 9777 runJUnitTest(__test, __test.test_visitMapLiteral);
9822 }); 9778 });
9823 _ut.test('test_insert_simpleToComplexExression', () { 9779 _ut.test('test_visitMethodInvocation', () {
9824 final __test = new IncrementalParserTest(); 9780 final __test = new ResolutionCopierTest();
9825 runJUnitTest(__test, __test.test_insert_simpleToComplexExression); 9781 runJUnitTest(__test, __test.test_visitMethodInvocation);
9826 }); 9782 });
9827 _ut.test('test_insert_whitespace_end', () { 9783 _ut.test('test_visitNamedExpression', () {
9828 final __test = new IncrementalParserTest(); 9784 final __test = new ResolutionCopierTest();
9829 runJUnitTest(__test, __test.test_insert_whitespace_end); 9785 runJUnitTest(__test, __test.test_visitNamedExpression);
9830 }); 9786 });
9831 _ut.test('test_insert_whitespace_end_multiple', () { 9787 _ut.test('test_visitNullLiteral', () {
9832 final __test = new IncrementalParserTest(); 9788 final __test = new ResolutionCopierTest();
9833 runJUnitTest(__test, __test.test_insert_whitespace_end_multiple); 9789 runJUnitTest(__test, __test.test_visitNullLiteral);
9834 }); 9790 });
9835 _ut.test('test_insert_whitespace_middle', () { 9791 _ut.test('test_visitParenthesizedExpression', () {
9836 final __test = new IncrementalParserTest(); 9792 final __test = new ResolutionCopierTest();
9837 runJUnitTest(__test, __test.test_insert_whitespace_middle); 9793 runJUnitTest(__test, __test.test_visitParenthesizedExpression);
9838 }); 9794 });
9839 _ut.test('test_replace_identifier_beginning', () { 9795 _ut.test('test_visitPartDirective', () {
9840 final __test = new IncrementalParserTest(); 9796 final __test = new ResolutionCopierTest();
9841 runJUnitTest(__test, __test.test_replace_identifier_beginning); 9797 runJUnitTest(__test, __test.test_visitPartDirective);
9842 }); 9798 });
9843 _ut.test('test_replace_identifier_end', () { 9799 _ut.test('test_visitPartOfDirective', () {
9844 final __test = new IncrementalParserTest(); 9800 final __test = new ResolutionCopierTest();
9845 runJUnitTest(__test, __test.test_replace_identifier_end); 9801 runJUnitTest(__test, __test.test_visitPartOfDirective);
9846 }); 9802 });
9847 _ut.test('test_replace_identifier_middle', () { 9803 _ut.test('test_visitPostfixExpression', () {
9848 final __test = new IncrementalParserTest(); 9804 final __test = new ResolutionCopierTest();
9849 runJUnitTest(__test, __test.test_replace_identifier_middle); 9805 runJUnitTest(__test, __test.test_visitPostfixExpression);
9850 }); 9806 });
9851 _ut.test('test_replace_multiple_partialFirstAndLast', () { 9807 _ut.test('test_visitPrefixExpression', () {
9852 final __test = new IncrementalParserTest(); 9808 final __test = new ResolutionCopierTest();
9853 runJUnitTest(__test, __test.test_replace_multiple_partialFirstAndLast); 9809 runJUnitTest(__test, __test.test_visitPrefixExpression);
9854 }); 9810 });
9855 _ut.test('test_replace_operator_oneForMany', () { 9811 _ut.test('test_visitPrefixedIdentifier', () {
9856 final __test = new IncrementalParserTest(); 9812 final __test = new ResolutionCopierTest();
9857 runJUnitTest(__test, __test.test_replace_operator_oneForMany); 9813 runJUnitTest(__test, __test.test_visitPrefixedIdentifier);
9858 }); 9814 });
9859 _ut.test('test_replace_operator_oneForOne', () { 9815 _ut.test('test_visitPropertyAccess', () {
9860 final __test = new IncrementalParserTest(); 9816 final __test = new ResolutionCopierTest();
9861 runJUnitTest(__test, __test.test_replace_operator_oneForOne); 9817 runJUnitTest(__test, __test.test_visitPropertyAccess);
9818 });
9819 _ut.test('test_visitRedirectingConstructorInvocation', () {
9820 final __test = new ResolutionCopierTest();
9821 runJUnitTest(__test, __test.test_visitRedirectingConstructorInvocation);
9822 });
9823 _ut.test('test_visitRethrowExpression', () {
9824 final __test = new ResolutionCopierTest();
9825 runJUnitTest(__test, __test.test_visitRethrowExpression);
9826 });
9827 _ut.test('test_visitSimpleIdentifier', () {
9828 final __test = new ResolutionCopierTest();
9829 runJUnitTest(__test, __test.test_visitSimpleIdentifier);
9830 });
9831 _ut.test('test_visitSimpleStringLiteral', () {
9832 final __test = new ResolutionCopierTest();
9833 runJUnitTest(__test, __test.test_visitSimpleStringLiteral);
9834 });
9835 _ut.test('test_visitStringInterpolation', () {
9836 final __test = new ResolutionCopierTest();
9837 runJUnitTest(__test, __test.test_visitStringInterpolation);
9838 });
9839 _ut.test('test_visitSuperConstructorInvocation', () {
9840 final __test = new ResolutionCopierTest();
9841 runJUnitTest(__test, __test.test_visitSuperConstructorInvocation);
9842 });
9843 _ut.test('test_visitSuperExpression', () {
9844 final __test = new ResolutionCopierTest();
9845 runJUnitTest(__test, __test.test_visitSuperExpression);
9846 });
9847 _ut.test('test_visitSymbolLiteral', () {
9848 final __test = new ResolutionCopierTest();
9849 runJUnitTest(__test, __test.test_visitSymbolLiteral);
9850 });
9851 _ut.test('test_visitThisExpression', () {
9852 final __test = new ResolutionCopierTest();
9853 runJUnitTest(__test, __test.test_visitThisExpression);
9854 });
9855 _ut.test('test_visitThrowExpression', () {
9856 final __test = new ResolutionCopierTest();
9857 runJUnitTest(__test, __test.test_visitThrowExpression);
9858 });
9859 _ut.test('test_visitTypeName', () {
9860 final __test = new ResolutionCopierTest();
9861 runJUnitTest(__test, __test.test_visitTypeName);
9862 }); 9862 });
9863 }); 9863 });
9864 } 9864 }
9865 } 9865 }
9866 9866
9867 /** 9867 /**
9868 * The class `ErrorParserTest` defines parser tests that test the parsing of cod e to ensure 9868 * The class `ErrorParserTest` defines parser tests that test the parsing of cod e to ensure
9869 * that errors are correctly reported, and in some cases, not reported. 9869 * that errors are correctly reported, and in some cases, not reported.
9870 */ 9870 */
9871 class ErrorParserTest extends ParserTestCase { 9871 class ErrorParserTest extends ParserTestCase {
(...skipping 2089 matching lines...) Expand 10 before | Expand all | Expand 10 after
11961 11961
11962 main() { 11962 main() {
11963 ComplexParserTest.dartSuite(); 11963 ComplexParserTest.dartSuite();
11964 ErrorParserTest.dartSuite(); 11964 ErrorParserTest.dartSuite();
11965 IncrementalParserTest.dartSuite(); 11965 IncrementalParserTest.dartSuite();
11966 NonErrorParserTest.dartSuite(); 11966 NonErrorParserTest.dartSuite();
11967 RecoveryParserTest.dartSuite(); 11967 RecoveryParserTest.dartSuite();
11968 ResolutionCopierTest.dartSuite(); 11968 ResolutionCopierTest.dartSuite();
11969 SimpleParserTest.dartSuite(); 11969 SimpleParserTest.dartSuite();
11970 } 11970 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698