| OLD | NEW |
| 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 import 'package:analyzer/dart/ast/ast.dart'; | 5 import 'package:analyzer/dart/ast/ast.dart'; |
| 6 import 'package:analyzer/dart/ast/token.dart' as analyzer; | 6 import 'package:analyzer/dart/ast/token.dart' as analyzer; |
| 7 import 'package:analyzer/dart/element/element.dart'; | 7 import 'package:analyzer/dart/element/element.dart'; |
| 8 import 'package:analyzer/error/error.dart'; | 8 import 'package:analyzer/error/error.dart'; |
| 9 import 'package:analyzer/src/fasta/ast_builder.dart'; | 9 import 'package:analyzer/src/fasta/ast_builder.dart'; |
| 10 import 'package:analyzer/src/fasta/element_store.dart'; | 10 import 'package:analyzer/src/fasta/element_store.dart'; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 with ClassMemberParserTestMixin { | 55 with ClassMemberParserTestMixin { |
| 56 @override | 56 @override |
| 57 @failingTest | 57 @failingTest |
| 58 void test_parseClassMember_constructor_withInitializers() { | 58 void test_parseClassMember_constructor_withInitializers() { |
| 59 // TODO(paulberry): 'this' can't be used here. | 59 // TODO(paulberry): 'this' can't be used here. |
| 60 super.test_parseClassMember_constructor_withInitializers(); | 60 super.test_parseClassMember_constructor_withInitializers(); |
| 61 } | 61 } |
| 62 | 62 |
| 63 @override | 63 @override |
| 64 @failingTest | 64 @failingTest |
| 65 void test_parseClassMember_method_generic_comment_noReturnType() { | |
| 66 // TODO(paulberry): Fasta doesn't support generic comment syntax | |
| 67 super.test_parseClassMember_method_generic_comment_noReturnType(); | |
| 68 } | |
| 69 | |
| 70 @override | |
| 71 @failingTest | |
| 72 void test_parseClassMember_method_generic_comment_returnType() { | 65 void test_parseClassMember_method_generic_comment_returnType() { |
| 73 // TODO(paulberry): Fasta doesn't support generic comment syntax | 66 // TODO(paulberry): Fasta doesn't support generic comment syntax |
| 74 super.test_parseClassMember_method_generic_comment_returnType(); | 67 super.test_parseClassMember_method_generic_comment_returnType(); |
| 75 } | 68 } |
| 76 | 69 |
| 77 @override | 70 @override |
| 78 @failingTest | 71 @failingTest |
| 79 void test_parseClassMember_method_generic_comment_returnType_bound() { | 72 void test_parseClassMember_method_generic_comment_returnType_bound() { |
| 80 // TODO(paulberry): Fasta doesn't support generic comment syntax | 73 // TODO(paulberry): Fasta doesn't support generic comment syntax |
| 81 super.test_parseClassMember_method_generic_comment_returnType_bound(); | 74 super.test_parseClassMember_method_generic_comment_returnType_bound(); |
| 82 } | 75 } |
| 83 | 76 |
| 84 @override | 77 @override |
| 85 @failingTest | 78 @failingTest |
| 86 void test_parseClassMember_method_generic_comment_void() { | |
| 87 // TODO(paulberry): Fasta doesn't support generic comment syntax | |
| 88 super.test_parseClassMember_method_generic_comment_void(); | |
| 89 } | |
| 90 | |
| 91 @override | |
| 92 @failingTest | |
| 93 void test_parseConstructor_assert() { | 79 void test_parseConstructor_assert() { |
| 94 // TODO(paulberry): Fasta doesn't support asserts in initializers | 80 // TODO(paulberry): Fasta doesn't support asserts in initializers |
| 95 super.test_parseConstructor_assert(); | 81 super.test_parseConstructor_assert(); |
| 96 } | 82 } |
| 97 } | 83 } |
| 98 | 84 |
| 99 /** | 85 /** |
| 100 * Tests of the fasta parser based on [ComplexParserTestMixin]. | 86 * Tests of the fasta parser based on [ComplexParserTestMixin]. |
| 101 */ | 87 */ |
| 102 @reflectiveTest | 88 @reflectiveTest |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 205 } | 191 } |
| 206 | 192 |
| 207 @override | 193 @override |
| 208 @failingTest | 194 @failingTest |
| 209 void test_parseAssignableExpression_expression_args_dot_typeArguments() { | 195 void test_parseAssignableExpression_expression_args_dot_typeArguments() { |
| 210 super.test_parseAssignableExpression_expression_args_dot_typeArguments(); | 196 super.test_parseAssignableExpression_expression_args_dot_typeArguments(); |
| 211 } | 197 } |
| 212 | 198 |
| 213 @override | 199 @override |
| 214 @failingTest | 200 @failingTest |
| 215 void | |
| 216 test_parseAssignableExpression_identifier_args_dot_typeArgumentComments()
{ | |
| 217 super | |
| 218 .test_parseAssignableExpression_identifier_args_dot_typeArgumentComments
(); | |
| 219 } | |
| 220 | |
| 221 @override | |
| 222 @failingTest | |
| 223 void test_parseCascadeSection_ia_typeArgumentComments() { | 201 void test_parseCascadeSection_ia_typeArgumentComments() { |
| 224 super.test_parseCascadeSection_ia_typeArgumentComments(); | 202 super.test_parseCascadeSection_ia_typeArgumentComments(); |
| 225 } | 203 } |
| 226 | 204 |
| 227 @override | 205 @override |
| 228 @failingTest | 206 @failingTest |
| 229 void test_parseCascadeSection_ia_typeArguments() { | 207 void test_parseCascadeSection_ia_typeArguments() { |
| 230 super.test_parseCascadeSection_ia_typeArguments(); | 208 super.test_parseCascadeSection_ia_typeArguments(); |
| 231 } | 209 } |
| 232 | 210 |
| 233 @override | 211 @override |
| 234 @failingTest | 212 @failingTest |
| 235 void test_parseCascadeSection_ii_typeArgumentComments() { | |
| 236 super.test_parseCascadeSection_ii_typeArgumentComments(); | |
| 237 } | |
| 238 | |
| 239 @override | |
| 240 @failingTest | |
| 241 void test_parseCascadeSection_p_assign_withCascade_typeArgumentComments() { | |
| 242 super.test_parseCascadeSection_p_assign_withCascade_typeArgumentComments(); | |
| 243 } | |
| 244 | |
| 245 @override | |
| 246 @failingTest | |
| 247 void test_parseCascadeSection_pa_typeArgumentComments() { | |
| 248 super.test_parseCascadeSection_pa_typeArgumentComments(); | |
| 249 } | |
| 250 | |
| 251 @override | |
| 252 @failingTest | |
| 253 void test_parseCascadeSection_paa_typeArgumentComments() { | 213 void test_parseCascadeSection_paa_typeArgumentComments() { |
| 254 super.test_parseCascadeSection_paa_typeArgumentComments(); | 214 super.test_parseCascadeSection_paa_typeArgumentComments(); |
| 255 } | 215 } |
| 256 | 216 |
| 257 @override | 217 @override |
| 258 @failingTest | 218 @failingTest |
| 259 void test_parseCascadeSection_paa_typeArguments() { | 219 void test_parseCascadeSection_paa_typeArguments() { |
| 260 super.test_parseCascadeSection_paa_typeArguments(); | 220 super.test_parseCascadeSection_paa_typeArguments(); |
| 261 } | 221 } |
| 262 | 222 |
| 263 @override | 223 @override |
| 264 @failingTest | 224 @failingTest |
| 265 void test_parseCascadeSection_paapaa_typeArgumentComments() { | 225 void test_parseCascadeSection_paapaa_typeArgumentComments() { |
| 266 super.test_parseCascadeSection_paapaa_typeArgumentComments(); | 226 super.test_parseCascadeSection_paapaa_typeArgumentComments(); |
| 267 } | 227 } |
| 268 | 228 |
| 269 @override | 229 @override |
| 270 @failingTest | 230 @failingTest |
| 271 void test_parseCascadeSection_paapaa_typeArguments() { | 231 void test_parseCascadeSection_paapaa_typeArguments() { |
| 272 super.test_parseCascadeSection_paapaa_typeArguments(); | 232 super.test_parseCascadeSection_paapaa_typeArguments(); |
| 273 } | 233 } |
| 274 | 234 |
| 275 @override | 235 @override |
| 276 @failingTest | 236 @failingTest |
| 277 void test_parseCascadeSection_pap_typeArgumentComments() { | |
| 278 super.test_parseCascadeSection_pap_typeArgumentComments(); | |
| 279 } | |
| 280 | |
| 281 @override | |
| 282 @failingTest | |
| 283 void test_parseConstExpression_listLiteral_typed_genericComment() { | |
| 284 super.test_parseConstExpression_listLiteral_typed_genericComment(); | |
| 285 } | |
| 286 | |
| 287 @override | |
| 288 @failingTest | |
| 289 void test_parseConstExpression_mapLiteral_typed_genericComment() { | |
| 290 super.test_parseConstExpression_mapLiteral_typed_genericComment(); | |
| 291 } | |
| 292 | |
| 293 @override | |
| 294 @failingTest | |
| 295 void test_parseExpression_assign_compound() { | 237 void test_parseExpression_assign_compound() { |
| 296 super.test_parseExpression_assign_compound(); | 238 super.test_parseExpression_assign_compound(); |
| 297 } | 239 } |
| 298 | 240 |
| 299 @override | 241 @override |
| 300 @failingTest | 242 @failingTest |
| 301 void test_parseExpression_superMethodInvocation_typeArgumentComments() { | |
| 302 super.test_parseExpression_superMethodInvocation_typeArgumentComments(); | |
| 303 } | |
| 304 | |
| 305 @override | |
| 306 @failingTest | |
| 307 void | |
| 308 test_parseExpressionWithoutCascade_superMethodInvocation_typeArgumentComme
nts() { | |
| 309 super | |
| 310 .test_parseExpressionWithoutCascade_superMethodInvocation_typeArgumentCo
mments(); | |
| 311 } | |
| 312 | |
| 313 @override | |
| 314 @failingTest | |
| 315 void test_parseFunctionExpression_typeParameterComments() { | 243 void test_parseFunctionExpression_typeParameterComments() { |
| 316 super.test_parseFunctionExpression_typeParameterComments(); | 244 super.test_parseFunctionExpression_typeParameterComments(); |
| 317 } | 245 } |
| 318 | 246 |
| 319 @override | 247 @override |
| 320 @failingTest | 248 @failingTest |
| 321 void | |
| 322 test_parseInstanceCreationExpression_qualifiedType_named_typeArgumentComme
nts() { | |
| 323 super | |
| 324 .test_parseInstanceCreationExpression_qualifiedType_named_typeArgumentCo
mments(); | |
| 325 } | |
| 326 | |
| 327 @override | |
| 328 @failingTest | |
| 329 void | |
| 330 test_parseInstanceCreationExpression_qualifiedType_typeArgumentComments()
{ | |
| 331 super | |
| 332 .test_parseInstanceCreationExpression_qualifiedType_typeArgumentComments
(); | |
| 333 } | |
| 334 | |
| 335 @override | |
| 336 @failingTest | |
| 337 void test_parseInstanceCreationExpression_type_named_typeArgumentComments() { | 249 void test_parseInstanceCreationExpression_type_named_typeArgumentComments() { |
| 338 super | 250 super |
| 339 .test_parseInstanceCreationExpression_type_named_typeArgumentComments(); | 251 .test_parseInstanceCreationExpression_type_named_typeArgumentComments(); |
| 340 } | 252 } |
| 341 | 253 |
| 342 @override | 254 @override |
| 343 @failingTest | 255 @failingTest |
| 344 void test_parseInstanceCreationExpression_type_typeArgumentComments() { | |
| 345 super.test_parseInstanceCreationExpression_type_typeArgumentComments(); | |
| 346 } | |
| 347 | |
| 348 @override | |
| 349 @failingTest | |
| 350 void test_parseInstanceCreationExpression_type_typeArguments_nullable() { | 256 void test_parseInstanceCreationExpression_type_typeArguments_nullable() { |
| 351 super.test_parseInstanceCreationExpression_type_typeArguments_nullable(); | 257 super.test_parseInstanceCreationExpression_type_typeArguments_nullable(); |
| 352 } | 258 } |
| 353 | 259 |
| 354 @override | 260 @override |
| 355 @failingTest | 261 @failingTest |
| 356 void test_parseListLiteral_empty_oneToken_withComment() { | 262 void test_parseListLiteral_empty_oneToken_withComment() { |
| 357 super.test_parseListLiteral_empty_oneToken_withComment(); | 263 super.test_parseListLiteral_empty_oneToken_withComment(); |
| 358 } | 264 } |
| 359 | 265 |
| 360 @override | 266 @override |
| 361 @failingTest | 267 @failingTest |
| 362 void | |
| 363 test_parsePostfixExpression_none_methodInvocation_question_dot_typeArgumen
tComments() { | |
| 364 super | |
| 365 .test_parsePostfixExpression_none_methodInvocation_question_dot_typeArgu
mentComments(); | |
| 366 } | |
| 367 | |
| 368 @override | |
| 369 @failingTest | |
| 370 void | |
| 371 test_parsePostfixExpression_none_methodInvocation_typeArgumentComments() { | |
| 372 super | |
| 373 .test_parsePostfixExpression_none_methodInvocation_typeArgumentComments(
); | |
| 374 } | |
| 375 | |
| 376 @override | |
| 377 @failingTest | |
| 378 void test_parsePrimaryExpression_listLiteral_typed_genericComment() { | |
| 379 super.test_parsePrimaryExpression_listLiteral_typed_genericComment(); | |
| 380 } | |
| 381 | |
| 382 @override | |
| 383 @failingTest | |
| 384 void test_parsePrimaryExpression_mapLiteral_typed_genericComment() { | |
| 385 super.test_parsePrimaryExpression_mapLiteral_typed_genericComment(); | |
| 386 } | |
| 387 | |
| 388 @override | |
| 389 @failingTest | |
| 390 void test_parsePrimaryExpression_super() { | 268 void test_parsePrimaryExpression_super() { |
| 391 super.test_parsePrimaryExpression_super(); | 269 super.test_parsePrimaryExpression_super(); |
| 392 } | 270 } |
| 393 | 271 |
| 394 @override | 272 @override |
| 395 @failingTest | 273 @failingTest |
| 396 void test_parseRelationalExpression_as_nullable() { | 274 void test_parseRelationalExpression_as_nullable() { |
| 397 super.test_parseRelationalExpression_as_nullable(); | 275 super.test_parseRelationalExpression_as_nullable(); |
| 398 } | 276 } |
| 399 | 277 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 418 | 296 |
| 419 /** | 297 /** |
| 420 * Implementation of [AbstractParserTestCase] specialized for testing the | 298 * Implementation of [AbstractParserTestCase] specialized for testing the |
| 421 * Fasta parser. | 299 * Fasta parser. |
| 422 */ | 300 */ |
| 423 class FastaParserTestCase extends Object | 301 class FastaParserTestCase extends Object |
| 424 with ParserTestHelpers | 302 with ParserTestHelpers |
| 425 implements AbstractParserTestCase { | 303 implements AbstractParserTestCase { |
| 426 ParserProxy _parserProxy; | 304 ParserProxy _parserProxy; |
| 427 | 305 |
| 306 /** |
| 307 * Whether generic method comments should be enabled for the test. |
| 308 */ |
| 309 bool enableGenericMethodComments = false; |
| 310 |
| 428 @override | 311 @override |
| 429 set enableAssertInitializer(bool value) { | 312 set enableAssertInitializer(bool value) { |
| 430 if (value == true) { | 313 if (value == true) { |
| 431 // TODO(paulberry,ahe): it looks like asserts in initializer lists are not | 314 // TODO(paulberry,ahe): it looks like asserts in initializer lists are not |
| 432 // supported by Fasta. | 315 // supported by Fasta. |
| 433 throw new UnimplementedError(); | 316 throw new UnimplementedError(); |
| 434 } | 317 } |
| 435 } | 318 } |
| 436 | 319 |
| 437 @override | 320 @override |
| 438 set enableGenericMethodComments(bool value) { | |
| 439 if (value == true) { | |
| 440 // TODO(paulberry,ahe): generic method comment syntax is not supported by | |
| 441 // Fasta. | |
| 442 throw new UnimplementedError(); | |
| 443 } | |
| 444 } | |
| 445 | |
| 446 @override | |
| 447 set enableLazyAssignmentOperators(bool value) { | 321 set enableLazyAssignmentOperators(bool value) { |
| 448 // TODO: implement enableLazyAssignmentOperators | 322 // TODO: implement enableLazyAssignmentOperators |
| 449 if (value == true) { | 323 if (value == true) { |
| 450 throw new UnimplementedError(); | 324 throw new UnimplementedError(); |
| 451 } | 325 } |
| 452 } | 326 } |
| 453 | 327 |
| 454 @override | 328 @override |
| 455 set enableNnbd(bool value) { | 329 set enableNnbd(bool value) { |
| 456 if (value == true) { | 330 if (value == true) { |
| (...skipping 22 matching lines...) Expand all Loading... |
| 479 } | 353 } |
| 480 | 354 |
| 481 @override | 355 @override |
| 482 void assertNoErrors() { | 356 void assertNoErrors() { |
| 483 // TODO(paulberry): implement assertNoErrors | 357 // TODO(paulberry): implement assertNoErrors |
| 484 } | 358 } |
| 485 | 359 |
| 486 @override | 360 @override |
| 487 void createParser(String content) { | 361 void createParser(String content) { |
| 488 var scanner = new StringScanner(content, includeComments: true); | 362 var scanner = new StringScanner(content, includeComments: true); |
| 489 _parserProxy = new ParserProxy(scanner.tokenize()); | 363 scanner.scanGenericMethodComments = enableGenericMethodComments; |
| 364 _parserProxy = new ParserProxy(scanner.tokenize(), |
| 365 enableGenericMethodComments: enableGenericMethodComments); |
| 490 } | 366 } |
| 491 | 367 |
| 492 @override | 368 @override |
| 493 Expression parseAdditiveExpression(String code) { | 369 Expression parseAdditiveExpression(String code) { |
| 494 return _parseExpression(code); | 370 return _parseExpression(code); |
| 495 } | 371 } |
| 496 | 372 |
| 497 @override | 373 @override |
| 498 Expression parseAssignableExpression(String code, bool primaryAllowed) { | 374 Expression parseAssignableExpression(String code, bool primaryAllowed) { |
| 499 return _parseExpression(code); | 375 return _parseExpression(code); |
| (...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 832 | 708 |
| 833 @override | 709 @override |
| 834 @failingTest | 710 @failingTest |
| 835 void test_parseNormalFormalParameter_function_noType_nullable() { | 711 void test_parseNormalFormalParameter_function_noType_nullable() { |
| 836 // TODO(scheglov): Not implemented: Nnbd | 712 // TODO(scheglov): Not implemented: Nnbd |
| 837 super.test_parseNormalFormalParameter_function_noType_nullable(); | 713 super.test_parseNormalFormalParameter_function_noType_nullable(); |
| 838 } | 714 } |
| 839 | 715 |
| 840 @override | 716 @override |
| 841 @failingTest | 717 @failingTest |
| 842 void test_parseNormalFormalParameter_function_noType_typeParameterComments() { | |
| 843 // TODO(scheglov): Not implemented: enableGenericMethodComments= | |
| 844 super | |
| 845 .test_parseNormalFormalParameter_function_noType_typeParameterComments()
; | |
| 846 } | |
| 847 | |
| 848 @override | |
| 849 @failingTest | |
| 850 void | 718 void |
| 851 test_parseNormalFormalParameter_function_noType_typeParameters_nullable()
{ | 719 test_parseNormalFormalParameter_function_noType_typeParameters_nullable()
{ |
| 852 // TODO(scheglov): Not implemented: Nnbd | 720 // TODO(scheglov): Not implemented: Nnbd |
| 853 super | 721 super |
| 854 .test_parseNormalFormalParameter_function_noType_typeParameters_nullable
(); | 722 .test_parseNormalFormalParameter_function_noType_typeParameters_nullable
(); |
| 855 } | 723 } |
| 856 | 724 |
| 857 @override | 725 @override |
| 858 @failingTest | 726 @failingTest |
| 859 void test_parseNormalFormalParameter_function_type_nullable() { | 727 void test_parseNormalFormalParameter_function_type_nullable() { |
| 860 // TODO(scheglov): Not implemented: Nnbd | 728 // TODO(scheglov): Not implemented: Nnbd |
| 861 super.test_parseNormalFormalParameter_function_type_nullable(); | 729 super.test_parseNormalFormalParameter_function_type_nullable(); |
| 862 } | 730 } |
| 863 | 731 |
| 864 @override | 732 @override |
| 865 @failingTest | 733 @failingTest |
| 866 void test_parseNormalFormalParameter_function_type_typeParameterComments() { | |
| 867 // TODO(scheglov): Not implemented: enableGenericMethodComments= | |
| 868 super.test_parseNormalFormalParameter_function_type_typeParameterComments(); | |
| 869 } | |
| 870 | |
| 871 @override | |
| 872 @failingTest | |
| 873 void test_parseNormalFormalParameter_function_type_typeParameters_nullable() { | 734 void test_parseNormalFormalParameter_function_type_typeParameters_nullable() { |
| 874 // TODO(scheglov): Not implemented: Nnbd | 735 // TODO(scheglov): Not implemented: Nnbd |
| 875 super | 736 super |
| 876 .test_parseNormalFormalParameter_function_type_typeParameters_nullable()
; | 737 .test_parseNormalFormalParameter_function_type_typeParameters_nullable()
; |
| 877 } | 738 } |
| 878 | 739 |
| 879 @override | 740 @override |
| 880 @failingTest | 741 @failingTest |
| 881 void test_parseNormalFormalParameter_function_void_nullable() { | 742 void test_parseNormalFormalParameter_function_void_nullable() { |
| 882 // TODO(scheglov): Not implemented: Nnbd | 743 // TODO(scheglov): Not implemented: Nnbd |
| 883 super.test_parseNormalFormalParameter_function_void_nullable(); | 744 super.test_parseNormalFormalParameter_function_void_nullable(); |
| 884 } | 745 } |
| 885 | 746 |
| 886 @override | 747 @override |
| 887 @failingTest | 748 @failingTest |
| 888 void test_parseNormalFormalParameter_function_void_typeParameterComments() { | |
| 889 // TODO(scheglov): Not implemented: enableGenericMethodComments= | |
| 890 super.test_parseNormalFormalParameter_function_void_typeParameterComments(); | |
| 891 } | |
| 892 | |
| 893 @override | |
| 894 @failingTest | |
| 895 void test_parseNormalFormalParameter_function_void_typeParameters_nullable() { | 749 void test_parseNormalFormalParameter_function_void_typeParameters_nullable() { |
| 896 // TODO(scheglov): Not implemented: Nnbd | 750 // TODO(scheglov): Not implemented: Nnbd |
| 897 super | 751 super |
| 898 .test_parseNormalFormalParameter_function_void_typeParameters_nullable()
; | 752 .test_parseNormalFormalParameter_function_void_typeParameters_nullable()
; |
| 899 } | 753 } |
| 900 } | 754 } |
| 901 | 755 |
| 902 /** | 756 /** |
| 903 * Proxy implementation of [KernelClassElement] used by Fasta parser tests. | 757 * Proxy implementation of [KernelClassElement] used by Fasta parser tests. |
| 904 * | 758 * |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 944 /** | 798 /** |
| 945 * The builder which creates the analyzer AST data structures expected by the | 799 * The builder which creates the analyzer AST data structures expected by the |
| 946 * analyzer parser tests. | 800 * analyzer parser tests. |
| 947 */ | 801 */ |
| 948 final AstBuilder _astBuilder; | 802 final AstBuilder _astBuilder; |
| 949 | 803 |
| 950 /** | 804 /** |
| 951 * Creates a [ParserProxy] which is prepared to begin parsing at the given | 805 * Creates a [ParserProxy] which is prepared to begin parsing at the given |
| 952 * Fasta token. | 806 * Fasta token. |
| 953 */ | 807 */ |
| 954 factory ParserProxy(fasta.Token startingToken) { | 808 factory ParserProxy(fasta.Token startingToken, |
| 809 {bool enableGenericMethodComments: false}) { |
| 955 var library = new KernelLibraryBuilderProxy(); | 810 var library = new KernelLibraryBuilderProxy(); |
| 956 var member = new BuilderProxy(); | 811 var member = new BuilderProxy(); |
| 957 var elementStore = new ElementStoreProxy(); | 812 var elementStore = new ElementStoreProxy(); |
| 958 var scope = new ScopeProxy(); | 813 var scope = new ScopeProxy(); |
| 959 var astBuilder = new AstBuilder(null, library, member, elementStore, scope); | 814 var astBuilder = new AstBuilder(null, library, member, elementStore, scope); |
| 960 return new ParserProxy._( | 815 var fastaParser = new fasta.Parser(astBuilder); |
| 961 startingToken, new fasta.Parser(astBuilder), astBuilder); | 816 fastaParser.parseGenericMethodComments = enableGenericMethodComments; |
| 817 return new ParserProxy._(startingToken, fastaParser, astBuilder); |
| 962 } | 818 } |
| 963 | 819 |
| 964 ParserProxy._(this._currentFastaToken, this._fastaParser, this._astBuilder); | 820 ParserProxy._(this._currentFastaToken, this._fastaParser, this._astBuilder); |
| 965 | 821 |
| 966 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); | 822 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); |
| 967 | 823 |
| 968 @override | 824 @override |
| 969 ClassMember parseClassMember(String className) { | 825 ClassMember parseClassMember(String className) { |
| 970 _astBuilder.className = className; | 826 _astBuilder.className = className; |
| 971 var result = _run((parser) => parser.parseMember) as ClassMember; | 827 var result = _run((parser) => parser.parseMember) as ClassMember; |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1070 } | 926 } |
| 1071 | 927 |
| 1072 @override | 928 @override |
| 1073 @failingTest | 929 @failingTest |
| 1074 void test_parseStatement_emptyTypeArgumentList() { | 930 void test_parseStatement_emptyTypeArgumentList() { |
| 1075 super.test_parseStatement_emptyTypeArgumentList(); | 931 super.test_parseStatement_emptyTypeArgumentList(); |
| 1076 } | 932 } |
| 1077 | 933 |
| 1078 @override | 934 @override |
| 1079 @failingTest | 935 @failingTest |
| 1080 void | |
| 1081 test_parseStatement_functionDeclaration_noReturnType_typeParameterComments
() { | |
| 1082 super | |
| 1083 .test_parseStatement_functionDeclaration_noReturnType_typeParameterComme
nts(); | |
| 1084 } | |
| 1085 | |
| 1086 @override | |
| 1087 @failingTest | |
| 1088 void test_parseTryStatement_catch_finally() { | 936 void test_parseTryStatement_catch_finally() { |
| 1089 super.test_parseTryStatement_catch_finally(); | 937 super.test_parseTryStatement_catch_finally(); |
| 1090 } | 938 } |
| 1091 | 939 |
| 1092 @override | 940 @override |
| 1093 @failingTest | 941 @failingTest |
| 1094 void test_parseTryStatement_on_catch() { | 942 void test_parseTryStatement_on_catch() { |
| 1095 super.test_parseTryStatement_on_catch(); | 943 super.test_parseTryStatement_on_catch(); |
| 1096 } | 944 } |
| 1097 | 945 |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1150 void test_parseDirectives_mixed() { | 998 void test_parseDirectives_mixed() { |
| 1151 // TODO(paulberry,ahe): This test verifies the analyzer parser's ability to | 999 // TODO(paulberry,ahe): This test verifies the analyzer parser's ability to |
| 1152 // stop parsing as soon as the first non-directive is encountered; this is | 1000 // stop parsing as soon as the first non-directive is encountered; this is |
| 1153 // useful for quickly traversing an import graph. Consider adding a similar | 1001 // useful for quickly traversing an import graph. Consider adding a similar |
| 1154 // ability to Fasta's parser. | 1002 // ability to Fasta's parser. |
| 1155 super.test_parseDirectives_mixed(); | 1003 super.test_parseDirectives_mixed(); |
| 1156 } | 1004 } |
| 1157 | 1005 |
| 1158 @override | 1006 @override |
| 1159 @failingTest | 1007 @failingTest |
| 1160 void test_parseFunctionDeclaration_functionWithTypeParameters_comment() { | |
| 1161 // TODO(paulberry,ahe): generic method comment syntax is not supported by | |
| 1162 // Fasta. | |
| 1163 super.test_parseFunctionDeclaration_functionWithTypeParameters_comment(); | |
| 1164 } | |
| 1165 | |
| 1166 @override | |
| 1167 @failingTest | |
| 1168 void test_parsePartOfDirective_name() { | 1008 void test_parsePartOfDirective_name() { |
| 1169 // TODO(paulberry,ahe): Thes test verifies that even if URIs in "part of" | 1009 // TODO(paulberry,ahe): Thes test verifies that even if URIs in "part of" |
| 1170 // declarations are enabled, a construct of the form "part of identifier;" | 1010 // declarations are enabled, a construct of the form "part of identifier;" |
| 1171 // is still properly handled. URIs in "part of" declarations are not | 1011 // is still properly handled. URIs in "part of" declarations are not |
| 1172 // supported by Fasta yet. | 1012 // supported by Fasta yet. |
| 1173 super.test_parsePartOfDirective_name(); | 1013 super.test_parsePartOfDirective_name(); |
| 1174 } | 1014 } |
| 1175 | 1015 |
| 1176 @override | 1016 @override |
| 1177 @failingTest | 1017 @failingTest |
| 1178 void test_parsePartOfDirective_uri() { | 1018 void test_parsePartOfDirective_uri() { |
| 1179 // TODO(paulberry,ahe): URIs in "part of" declarations are not supported by | 1019 // TODO(paulberry,ahe): URIs in "part of" declarations are not supported by |
| 1180 // Fasta. | 1020 // Fasta. |
| 1181 super.test_parsePartOfDirective_uri(); | 1021 super.test_parsePartOfDirective_uri(); |
| 1182 } | 1022 } |
| 1183 } | 1023 } |
| OLD | NEW |