OLD | NEW |
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 library analyzer.test.src.dart.ast.utilities_test; | 5 library analyzer.test.src.dart.ast.utilities_test; |
6 | 6 |
7 import 'package:analyzer/dart/ast/ast.dart'; | 7 import 'package:analyzer/dart/ast/ast.dart'; |
8 import 'package:analyzer/dart/ast/token.dart'; | 8 import 'package:analyzer/dart/ast/token.dart'; |
9 import 'package:analyzer/dart/element/element.dart'; | 9 import 'package:analyzer/dart/element/element.dart'; |
10 import 'package:analyzer/dart/element/type.dart'; | 10 import 'package:analyzer/dart/element/type.dart'; |
11 import 'package:analyzer/src/dart/ast/utilities.dart'; | 11 import 'package:analyzer/src/dart/ast/utilities.dart'; |
12 import 'package:analyzer/src/dart/element/element.dart'; | 12 import 'package:analyzer/src/dart/element/element.dart'; |
13 import 'package:analyzer/src/generated/java_core.dart'; | 13 import 'package:analyzer/src/generated/java_core.dart'; |
14 import 'package:analyzer/src/generated/java_engine.dart' show Predicate; | 14 import 'package:analyzer/src/generated/java_engine.dart' show Predicate; |
15 import 'package:analyzer/src/generated/java_engine.dart'; | 15 import 'package:analyzer/src/generated/java_engine.dart'; |
16 import 'package:analyzer/src/generated/testing/ast_factory.dart'; | 16 import 'package:analyzer/src/generated/testing/ast_test_factory.dart'; |
17 import 'package:analyzer/src/generated/testing/element_factory.dart'; | 17 import 'package:analyzer/src/generated/testing/element_factory.dart'; |
18 import 'package:analyzer/src/generated/testing/token_factory.dart'; | 18 import 'package:analyzer/src/generated/testing/token_factory.dart'; |
19 import 'package:test/test.dart'; | 19 import 'package:test/test.dart'; |
20 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 20 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
21 | 21 |
22 import '../../../generated/parser_test.dart' show ParserTestCase; | 22 import '../../../generated/parser_test.dart' show ParserTestCase; |
23 import '../../../generated/test_support.dart'; | 23 import '../../../generated/test_support.dart'; |
24 | 24 |
25 main() { | 25 main() { |
26 defineReflectiveSuite(() { | 26 defineReflectiveSuite(() { |
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
450 | 450 |
451 AdjacentStrings toNode = createNode(); | 451 AdjacentStrings toNode = createNode(); |
452 ResolutionCopier.copyResolutionData(fromNode, toNode); | 452 ResolutionCopier.copyResolutionData(fromNode, toNode); |
453 expect(toNode.propagatedType, same(propagatedType)); | 453 expect(toNode.propagatedType, same(propagatedType)); |
454 expect(toNode.staticType, same(staticType)); | 454 expect(toNode.staticType, same(staticType)); |
455 } | 455 } |
456 | 456 |
457 void test_visitAnnotation() { | 457 void test_visitAnnotation() { |
458 String annotationName = "proxy"; | 458 String annotationName = "proxy"; |
459 Annotation fromNode = | 459 Annotation fromNode = |
460 AstFactory.annotation(AstFactory.identifier3(annotationName)); | 460 AstTestFactory.annotation(AstTestFactory.identifier3(annotationName)); |
461 Element element = ElementFactory.topLevelVariableElement2(annotationName); | 461 Element element = ElementFactory.topLevelVariableElement2(annotationName); |
462 fromNode.element = element; | 462 fromNode.element = element; |
463 Annotation toNode = | 463 Annotation toNode = |
464 AstFactory.annotation(AstFactory.identifier3(annotationName)); | 464 AstTestFactory.annotation(AstTestFactory.identifier3(annotationName)); |
465 ResolutionCopier.copyResolutionData(fromNode, toNode); | 465 ResolutionCopier.copyResolutionData(fromNode, toNode); |
466 expect(toNode.element, same(element)); | 466 expect(toNode.element, same(element)); |
467 } | 467 } |
468 | 468 |
469 void test_visitAsExpression() { | 469 void test_visitAsExpression() { |
470 AsExpression fromNode = AstFactory.asExpression( | 470 AsExpression fromNode = AstTestFactory.asExpression( |
471 AstFactory.identifier3("x"), AstFactory.typeName4("A")); | 471 AstTestFactory.identifier3("x"), AstTestFactory.typeName4("A")); |
472 DartType propagatedType = ElementFactory.classElement2("A").type; | 472 DartType propagatedType = ElementFactory.classElement2("A").type; |
473 fromNode.propagatedType = propagatedType; | 473 fromNode.propagatedType = propagatedType; |
474 DartType staticType = ElementFactory.classElement2("B").type; | 474 DartType staticType = ElementFactory.classElement2("B").type; |
475 fromNode.staticType = staticType; | 475 fromNode.staticType = staticType; |
476 AsExpression toNode = AstFactory.asExpression( | 476 AsExpression toNode = AstTestFactory.asExpression( |
477 AstFactory.identifier3("x"), AstFactory.typeName4("A")); | 477 AstTestFactory.identifier3("x"), AstTestFactory.typeName4("A")); |
478 ResolutionCopier.copyResolutionData(fromNode, toNode); | 478 ResolutionCopier.copyResolutionData(fromNode, toNode); |
479 expect(toNode.propagatedType, same(propagatedType)); | 479 expect(toNode.propagatedType, same(propagatedType)); |
480 expect(toNode.staticType, same(staticType)); | 480 expect(toNode.staticType, same(staticType)); |
481 } | 481 } |
482 | 482 |
483 void test_visitAssignmentExpression() { | 483 void test_visitAssignmentExpression() { |
484 AssignmentExpression fromNode = AstFactory.assignmentExpression( | 484 AssignmentExpression fromNode = AstTestFactory.assignmentExpression( |
485 AstFactory.identifier3("a"), | 485 AstTestFactory.identifier3("a"), |
486 TokenType.PLUS_EQ, | 486 TokenType.PLUS_EQ, |
487 AstFactory.identifier3("b")); | 487 AstTestFactory.identifier3("b")); |
488 DartType propagatedType = ElementFactory.classElement2("C").type; | 488 DartType propagatedType = ElementFactory.classElement2("C").type; |
489 MethodElement propagatedElement = | 489 MethodElement propagatedElement = |
490 ElementFactory.methodElement("+", propagatedType); | 490 ElementFactory.methodElement("+", propagatedType); |
491 fromNode.propagatedElement = propagatedElement; | 491 fromNode.propagatedElement = propagatedElement; |
492 fromNode.propagatedType = propagatedType; | 492 fromNode.propagatedType = propagatedType; |
493 DartType staticType = ElementFactory.classElement2("C").type; | 493 DartType staticType = ElementFactory.classElement2("C").type; |
494 MethodElement staticElement = ElementFactory.methodElement("+", staticType); | 494 MethodElement staticElement = ElementFactory.methodElement("+", staticType); |
495 fromNode.staticElement = staticElement; | 495 fromNode.staticElement = staticElement; |
496 fromNode.staticType = staticType; | 496 fromNode.staticType = staticType; |
497 AssignmentExpression toNode = AstFactory.assignmentExpression( | 497 AssignmentExpression toNode = AstTestFactory.assignmentExpression( |
498 AstFactory.identifier3("a"), | 498 AstTestFactory.identifier3("a"), |
499 TokenType.PLUS_EQ, | 499 TokenType.PLUS_EQ, |
500 AstFactory.identifier3("b")); | 500 AstTestFactory.identifier3("b")); |
501 ResolutionCopier.copyResolutionData(fromNode, toNode); | 501 ResolutionCopier.copyResolutionData(fromNode, toNode); |
502 expect(toNode.propagatedElement, same(propagatedElement)); | 502 expect(toNode.propagatedElement, same(propagatedElement)); |
503 expect(toNode.propagatedType, same(propagatedType)); | 503 expect(toNode.propagatedType, same(propagatedType)); |
504 expect(toNode.staticElement, same(staticElement)); | 504 expect(toNode.staticElement, same(staticElement)); |
505 expect(toNode.staticType, same(staticType)); | 505 expect(toNode.staticType, same(staticType)); |
506 } | 506 } |
507 | 507 |
508 void test_visitBinaryExpression() { | 508 void test_visitBinaryExpression() { |
509 BinaryExpression fromNode = AstFactory.binaryExpression( | 509 BinaryExpression fromNode = AstTestFactory.binaryExpression( |
510 AstFactory.identifier3("a"), | 510 AstTestFactory.identifier3("a"), |
511 TokenType.PLUS, | 511 TokenType.PLUS, |
512 AstFactory.identifier3("b")); | 512 AstTestFactory.identifier3("b")); |
513 DartType propagatedType = ElementFactory.classElement2("C").type; | 513 DartType propagatedType = ElementFactory.classElement2("C").type; |
514 MethodElement propagatedElement = | 514 MethodElement propagatedElement = |
515 ElementFactory.methodElement("+", propagatedType); | 515 ElementFactory.methodElement("+", propagatedType); |
516 fromNode.propagatedElement = propagatedElement; | 516 fromNode.propagatedElement = propagatedElement; |
517 fromNode.propagatedType = propagatedType; | 517 fromNode.propagatedType = propagatedType; |
518 DartType staticType = ElementFactory.classElement2("C").type; | 518 DartType staticType = ElementFactory.classElement2("C").type; |
519 MethodElement staticElement = ElementFactory.methodElement("+", staticType); | 519 MethodElement staticElement = ElementFactory.methodElement("+", staticType); |
520 fromNode.staticElement = staticElement; | 520 fromNode.staticElement = staticElement; |
521 fromNode.staticType = staticType; | 521 fromNode.staticType = staticType; |
522 BinaryExpression toNode = AstFactory.binaryExpression( | 522 BinaryExpression toNode = AstTestFactory.binaryExpression( |
523 AstFactory.identifier3("a"), | 523 AstTestFactory.identifier3("a"), |
524 TokenType.PLUS, | 524 TokenType.PLUS, |
525 AstFactory.identifier3("b")); | 525 AstTestFactory.identifier3("b")); |
526 ResolutionCopier.copyResolutionData(fromNode, toNode); | 526 ResolutionCopier.copyResolutionData(fromNode, toNode); |
527 expect(toNode.propagatedElement, same(propagatedElement)); | 527 expect(toNode.propagatedElement, same(propagatedElement)); |
528 expect(toNode.propagatedType, same(propagatedType)); | 528 expect(toNode.propagatedType, same(propagatedType)); |
529 expect(toNode.staticElement, same(staticElement)); | 529 expect(toNode.staticElement, same(staticElement)); |
530 expect(toNode.staticType, same(staticType)); | 530 expect(toNode.staticType, same(staticType)); |
531 } | 531 } |
532 | 532 |
533 void test_visitBooleanLiteral() { | 533 void test_visitBooleanLiteral() { |
534 BooleanLiteral fromNode = AstFactory.booleanLiteral(true); | 534 BooleanLiteral fromNode = AstTestFactory.booleanLiteral(true); |
535 DartType propagatedType = ElementFactory.classElement2("C").type; | 535 DartType propagatedType = ElementFactory.classElement2("C").type; |
536 fromNode.propagatedType = propagatedType; | 536 fromNode.propagatedType = propagatedType; |
537 DartType staticType = ElementFactory.classElement2("C").type; | 537 DartType staticType = ElementFactory.classElement2("C").type; |
538 fromNode.staticType = staticType; | 538 fromNode.staticType = staticType; |
539 BooleanLiteral toNode = AstFactory.booleanLiteral(true); | 539 BooleanLiteral toNode = AstTestFactory.booleanLiteral(true); |
540 ResolutionCopier.copyResolutionData(fromNode, toNode); | 540 ResolutionCopier.copyResolutionData(fromNode, toNode); |
541 expect(toNode.propagatedType, same(propagatedType)); | 541 expect(toNode.propagatedType, same(propagatedType)); |
542 expect(toNode.staticType, same(staticType)); | 542 expect(toNode.staticType, same(staticType)); |
543 } | 543 } |
544 | 544 |
545 void test_visitCascadeExpression() { | 545 void test_visitCascadeExpression() { |
546 CascadeExpression fromNode = AstFactory.cascadeExpression( | 546 CascadeExpression fromNode = AstTestFactory.cascadeExpression( |
547 AstFactory.identifier3("a"), [AstFactory.identifier3("b")]); | 547 AstTestFactory.identifier3("a"), [AstTestFactory.identifier3("b")]); |
548 DartType propagatedType = ElementFactory.classElement2("C").type; | 548 DartType propagatedType = ElementFactory.classElement2("C").type; |
549 fromNode.propagatedType = propagatedType; | 549 fromNode.propagatedType = propagatedType; |
550 DartType staticType = ElementFactory.classElement2("C").type; | 550 DartType staticType = ElementFactory.classElement2("C").type; |
551 fromNode.staticType = staticType; | 551 fromNode.staticType = staticType; |
552 CascadeExpression toNode = AstFactory.cascadeExpression( | 552 CascadeExpression toNode = AstTestFactory.cascadeExpression( |
553 AstFactory.identifier3("a"), [AstFactory.identifier3("b")]); | 553 AstTestFactory.identifier3("a"), [AstTestFactory.identifier3("b")]); |
554 ResolutionCopier.copyResolutionData(fromNode, toNode); | 554 ResolutionCopier.copyResolutionData(fromNode, toNode); |
555 expect(toNode.propagatedType, same(propagatedType)); | 555 expect(toNode.propagatedType, same(propagatedType)); |
556 expect(toNode.staticType, same(staticType)); | 556 expect(toNode.staticType, same(staticType)); |
557 } | 557 } |
558 | 558 |
559 void test_visitCompilationUnit() { | 559 void test_visitCompilationUnit() { |
560 CompilationUnit fromNode = AstFactory.compilationUnit(); | 560 CompilationUnit fromNode = AstTestFactory.compilationUnit(); |
561 CompilationUnitElement element = | 561 CompilationUnitElement element = |
562 new CompilationUnitElementImpl("test.dart"); | 562 new CompilationUnitElementImpl("test.dart"); |
563 fromNode.element = element; | 563 fromNode.element = element; |
564 CompilationUnit toNode = AstFactory.compilationUnit(); | 564 CompilationUnit toNode = AstTestFactory.compilationUnit(); |
565 ResolutionCopier.copyResolutionData(fromNode, toNode); | 565 ResolutionCopier.copyResolutionData(fromNode, toNode); |
566 expect(toNode.element, same(element)); | 566 expect(toNode.element, same(element)); |
567 } | 567 } |
568 | 568 |
569 void test_visitConditionalExpression() { | 569 void test_visitConditionalExpression() { |
570 ConditionalExpression fromNode = AstFactory.conditionalExpression( | 570 ConditionalExpression fromNode = AstTestFactory.conditionalExpression( |
571 AstFactory.identifier3("c"), | 571 AstTestFactory.identifier3("c"), |
572 AstFactory.identifier3("a"), | 572 AstTestFactory.identifier3("a"), |
573 AstFactory.identifier3("b")); | 573 AstTestFactory.identifier3("b")); |
574 DartType propagatedType = ElementFactory.classElement2("C").type; | 574 DartType propagatedType = ElementFactory.classElement2("C").type; |
575 fromNode.propagatedType = propagatedType; | 575 fromNode.propagatedType = propagatedType; |
576 DartType staticType = ElementFactory.classElement2("C").type; | 576 DartType staticType = ElementFactory.classElement2("C").type; |
577 fromNode.staticType = staticType; | 577 fromNode.staticType = staticType; |
578 ConditionalExpression toNode = AstFactory.conditionalExpression( | 578 ConditionalExpression toNode = AstTestFactory.conditionalExpression( |
579 AstFactory.identifier3("c"), | 579 AstTestFactory.identifier3("c"), |
580 AstFactory.identifier3("a"), | 580 AstTestFactory.identifier3("a"), |
581 AstFactory.identifier3("b")); | 581 AstTestFactory.identifier3("b")); |
582 ResolutionCopier.copyResolutionData(fromNode, toNode); | 582 ResolutionCopier.copyResolutionData(fromNode, toNode); |
583 expect(toNode.propagatedType, same(propagatedType)); | 583 expect(toNode.propagatedType, same(propagatedType)); |
584 expect(toNode.staticType, same(staticType)); | 584 expect(toNode.staticType, same(staticType)); |
585 } | 585 } |
586 | 586 |
587 void test_visitConstructorDeclaration() { | 587 void test_visitConstructorDeclaration() { |
588 String className = "A"; | 588 String className = "A"; |
589 String constructorName = "c"; | 589 String constructorName = "c"; |
590 ConstructorDeclaration fromNode = AstFactory.constructorDeclaration( | 590 ConstructorDeclaration fromNode = AstTestFactory.constructorDeclaration( |
591 AstFactory.identifier3(className), | 591 AstTestFactory.identifier3(className), |
592 constructorName, | 592 constructorName, |
593 AstFactory.formalParameterList(), | 593 AstTestFactory.formalParameterList(), |
594 null); | 594 null); |
595 ConstructorElement element = ElementFactory.constructorElement2( | 595 ConstructorElement element = ElementFactory.constructorElement2( |
596 ElementFactory.classElement2(className), constructorName); | 596 ElementFactory.classElement2(className), constructorName); |
597 fromNode.element = element; | 597 fromNode.element = element; |
598 ConstructorDeclaration toNode = AstFactory.constructorDeclaration( | 598 ConstructorDeclaration toNode = AstTestFactory.constructorDeclaration( |
599 AstFactory.identifier3(className), | 599 AstTestFactory.identifier3(className), |
600 constructorName, | 600 constructorName, |
601 AstFactory.formalParameterList(), | 601 AstTestFactory.formalParameterList(), |
602 null); | 602 null); |
603 ResolutionCopier.copyResolutionData(fromNode, toNode); | 603 ResolutionCopier.copyResolutionData(fromNode, toNode); |
604 expect(toNode.element, same(element)); | 604 expect(toNode.element, same(element)); |
605 } | 605 } |
606 | 606 |
607 void test_visitConstructorName() { | 607 void test_visitConstructorName() { |
608 ConstructorName fromNode = | 608 ConstructorName fromNode = |
609 AstFactory.constructorName(AstFactory.typeName4("A"), "c"); | 609 AstTestFactory.constructorName(AstTestFactory.typeName4("A"), "c"); |
610 ConstructorElement staticElement = ElementFactory.constructorElement2( | 610 ConstructorElement staticElement = ElementFactory.constructorElement2( |
611 ElementFactory.classElement2("A"), "c"); | 611 ElementFactory.classElement2("A"), "c"); |
612 fromNode.staticElement = staticElement; | 612 fromNode.staticElement = staticElement; |
613 ConstructorName toNode = | 613 ConstructorName toNode = |
614 AstFactory.constructorName(AstFactory.typeName4("A"), "c"); | 614 AstTestFactory.constructorName(AstTestFactory.typeName4("A"), "c"); |
615 ResolutionCopier.copyResolutionData(fromNode, toNode); | 615 ResolutionCopier.copyResolutionData(fromNode, toNode); |
616 expect(toNode.staticElement, same(staticElement)); | 616 expect(toNode.staticElement, same(staticElement)); |
617 } | 617 } |
618 | 618 |
619 void test_visitDoubleLiteral() { | 619 void test_visitDoubleLiteral() { |
620 DoubleLiteral fromNode = AstFactory.doubleLiteral(1.0); | 620 DoubleLiteral fromNode = AstTestFactory.doubleLiteral(1.0); |
621 DartType propagatedType = ElementFactory.classElement2("C").type; | 621 DartType propagatedType = ElementFactory.classElement2("C").type; |
622 fromNode.propagatedType = propagatedType; | 622 fromNode.propagatedType = propagatedType; |
623 DartType staticType = ElementFactory.classElement2("C").type; | 623 DartType staticType = ElementFactory.classElement2("C").type; |
624 fromNode.staticType = staticType; | 624 fromNode.staticType = staticType; |
625 DoubleLiteral toNode = AstFactory.doubleLiteral(1.0); | 625 DoubleLiteral toNode = AstTestFactory.doubleLiteral(1.0); |
626 ResolutionCopier.copyResolutionData(fromNode, toNode); | 626 ResolutionCopier.copyResolutionData(fromNode, toNode); |
627 expect(toNode.propagatedType, same(propagatedType)); | 627 expect(toNode.propagatedType, same(propagatedType)); |
628 expect(toNode.staticType, same(staticType)); | 628 expect(toNode.staticType, same(staticType)); |
629 } | 629 } |
630 | 630 |
631 void test_visitExportDirective() { | 631 void test_visitExportDirective() { |
632 ExportDirective fromNode = AstFactory.exportDirective2("dart:uri"); | 632 ExportDirective fromNode = AstTestFactory.exportDirective2("dart:uri"); |
633 ExportElement element = new ExportElementImpl(-1); | 633 ExportElement element = new ExportElementImpl(-1); |
634 fromNode.element = element; | 634 fromNode.element = element; |
635 ExportDirective toNode = AstFactory.exportDirective2("dart:uri"); | 635 ExportDirective toNode = AstTestFactory.exportDirective2("dart:uri"); |
636 ResolutionCopier.copyResolutionData(fromNode, toNode); | 636 ResolutionCopier.copyResolutionData(fromNode, toNode); |
637 expect(toNode.element, same(element)); | 637 expect(toNode.element, same(element)); |
638 } | 638 } |
639 | 639 |
640 void test_visitFunctionExpression() { | 640 void test_visitFunctionExpression() { |
641 FunctionExpression fromNode = AstFactory.functionExpression2( | 641 FunctionExpression fromNode = AstTestFactory.functionExpression2( |
642 AstFactory.formalParameterList(), AstFactory.emptyFunctionBody()); | 642 AstTestFactory.formalParameterList(), |
| 643 AstTestFactory.emptyFunctionBody()); |
643 MethodElement element = ElementFactory.methodElement( | 644 MethodElement element = ElementFactory.methodElement( |
644 "m", ElementFactory.classElement2("C").type); | 645 "m", ElementFactory.classElement2("C").type); |
645 fromNode.element = element; | 646 fromNode.element = element; |
646 DartType propagatedType = ElementFactory.classElement2("C").type; | 647 DartType propagatedType = ElementFactory.classElement2("C").type; |
647 fromNode.propagatedType = propagatedType; | 648 fromNode.propagatedType = propagatedType; |
648 DartType staticType = ElementFactory.classElement2("C").type; | 649 DartType staticType = ElementFactory.classElement2("C").type; |
649 fromNode.staticType = staticType; | 650 fromNode.staticType = staticType; |
650 FunctionExpression toNode = AstFactory.functionExpression2( | 651 FunctionExpression toNode = AstTestFactory.functionExpression2( |
651 AstFactory.formalParameterList(), AstFactory.emptyFunctionBody()); | 652 AstTestFactory.formalParameterList(), |
| 653 AstTestFactory.emptyFunctionBody()); |
652 ResolutionCopier.copyResolutionData(fromNode, toNode); | 654 ResolutionCopier.copyResolutionData(fromNode, toNode); |
653 expect(toNode.element, same(element)); | 655 expect(toNode.element, same(element)); |
654 expect(toNode.propagatedType, same(propagatedType)); | 656 expect(toNode.propagatedType, same(propagatedType)); |
655 expect(toNode.staticType, same(staticType)); | 657 expect(toNode.staticType, same(staticType)); |
656 } | 658 } |
657 | 659 |
658 void test_visitFunctionExpressionInvocation() { | 660 void test_visitFunctionExpressionInvocation() { |
659 FunctionExpressionInvocation fromNode = | 661 FunctionExpressionInvocation fromNode = AstTestFactory |
660 AstFactory.functionExpressionInvocation(AstFactory.identifier3("f")); | 662 .functionExpressionInvocation(AstTestFactory.identifier3("f")); |
661 MethodElement propagatedElement = ElementFactory.methodElement( | 663 MethodElement propagatedElement = ElementFactory.methodElement( |
662 "m", ElementFactory.classElement2("C").type); | 664 "m", ElementFactory.classElement2("C").type); |
663 fromNode.propagatedElement = propagatedElement; | 665 fromNode.propagatedElement = propagatedElement; |
664 MethodElement staticElement = ElementFactory.methodElement( | 666 MethodElement staticElement = ElementFactory.methodElement( |
665 "m", ElementFactory.classElement2("C").type); | 667 "m", ElementFactory.classElement2("C").type); |
666 fromNode.staticElement = staticElement; | 668 fromNode.staticElement = staticElement; |
667 FunctionExpressionInvocation toNode = | 669 FunctionExpressionInvocation toNode = AstTestFactory |
668 AstFactory.functionExpressionInvocation(AstFactory.identifier3("f")); | 670 .functionExpressionInvocation(AstTestFactory.identifier3("f")); |
669 ClassElement elementT = ElementFactory.classElement2('T'); | 671 ClassElement elementT = ElementFactory.classElement2('T'); |
670 fromNode.typeArguments = | 672 fromNode.typeArguments = AstTestFactory |
671 AstFactory.typeArgumentList(<TypeName>[AstFactory.typeName(elementT)]); | 673 .typeArgumentList(<TypeName>[AstTestFactory.typeName(elementT)]); |
672 toNode.typeArguments = | 674 toNode.typeArguments = AstTestFactory |
673 AstFactory.typeArgumentList(<TypeName>[AstFactory.typeName4('T')]); | 675 .typeArgumentList(<TypeName>[AstTestFactory.typeName4('T')]); |
674 | 676 |
675 _copyAndVerifyInvocation(fromNode, toNode); | 677 _copyAndVerifyInvocation(fromNode, toNode); |
676 | 678 |
677 expect(toNode.propagatedElement, same(propagatedElement)); | 679 expect(toNode.propagatedElement, same(propagatedElement)); |
678 expect(toNode.staticElement, same(staticElement)); | 680 expect(toNode.staticElement, same(staticElement)); |
679 } | 681 } |
680 | 682 |
681 void test_visitImportDirective() { | 683 void test_visitImportDirective() { |
682 ImportDirective fromNode = AstFactory.importDirective3("dart:uri", null); | 684 ImportDirective fromNode = |
| 685 AstTestFactory.importDirective3("dart:uri", null); |
683 ImportElement element = new ImportElementImpl(0); | 686 ImportElement element = new ImportElementImpl(0); |
684 fromNode.element = element; | 687 fromNode.element = element; |
685 ImportDirective toNode = AstFactory.importDirective3("dart:uri", null); | 688 ImportDirective toNode = AstTestFactory.importDirective3("dart:uri", null); |
686 ResolutionCopier.copyResolutionData(fromNode, toNode); | 689 ResolutionCopier.copyResolutionData(fromNode, toNode); |
687 expect(toNode.element, same(element)); | 690 expect(toNode.element, same(element)); |
688 } | 691 } |
689 | 692 |
690 void test_visitIndexExpression() { | 693 void test_visitIndexExpression() { |
691 IndexExpression fromNode = AstFactory.indexExpression( | 694 IndexExpression fromNode = AstTestFactory.indexExpression( |
692 AstFactory.identifier3("a"), AstFactory.integer(0)); | 695 AstTestFactory.identifier3("a"), AstTestFactory.integer(0)); |
693 MethodElement propagatedElement = ElementFactory.methodElement( | 696 MethodElement propagatedElement = ElementFactory.methodElement( |
694 "m", ElementFactory.classElement2("C").type); | 697 "m", ElementFactory.classElement2("C").type); |
695 MethodElement staticElement = ElementFactory.methodElement( | 698 MethodElement staticElement = ElementFactory.methodElement( |
696 "m", ElementFactory.classElement2("C").type); | 699 "m", ElementFactory.classElement2("C").type); |
697 AuxiliaryElements auxiliaryElements = | 700 AuxiliaryElements auxiliaryElements = |
698 new AuxiliaryElements(staticElement, propagatedElement); | 701 new AuxiliaryElements(staticElement, propagatedElement); |
699 fromNode.auxiliaryElements = auxiliaryElements; | 702 fromNode.auxiliaryElements = auxiliaryElements; |
700 fromNode.propagatedElement = propagatedElement; | 703 fromNode.propagatedElement = propagatedElement; |
701 DartType propagatedType = ElementFactory.classElement2("C").type; | 704 DartType propagatedType = ElementFactory.classElement2("C").type; |
702 fromNode.propagatedType = propagatedType; | 705 fromNode.propagatedType = propagatedType; |
703 fromNode.staticElement = staticElement; | 706 fromNode.staticElement = staticElement; |
704 DartType staticType = ElementFactory.classElement2("C").type; | 707 DartType staticType = ElementFactory.classElement2("C").type; |
705 fromNode.staticType = staticType; | 708 fromNode.staticType = staticType; |
706 IndexExpression toNode = AstFactory.indexExpression( | 709 IndexExpression toNode = AstTestFactory.indexExpression( |
707 AstFactory.identifier3("a"), AstFactory.integer(0)); | 710 AstTestFactory.identifier3("a"), AstTestFactory.integer(0)); |
708 ResolutionCopier.copyResolutionData(fromNode, toNode); | 711 ResolutionCopier.copyResolutionData(fromNode, toNode); |
709 expect(toNode.auxiliaryElements, same(auxiliaryElements)); | 712 expect(toNode.auxiliaryElements, same(auxiliaryElements)); |
710 expect(toNode.propagatedElement, same(propagatedElement)); | 713 expect(toNode.propagatedElement, same(propagatedElement)); |
711 expect(toNode.propagatedType, same(propagatedType)); | 714 expect(toNode.propagatedType, same(propagatedType)); |
712 expect(toNode.staticElement, same(staticElement)); | 715 expect(toNode.staticElement, same(staticElement)); |
713 expect(toNode.staticType, same(staticType)); | 716 expect(toNode.staticType, same(staticType)); |
714 } | 717 } |
715 | 718 |
716 void test_visitInstanceCreationExpression() { | 719 void test_visitInstanceCreationExpression() { |
717 InstanceCreationExpression fromNode = AstFactory | 720 InstanceCreationExpression fromNode = |
718 .instanceCreationExpression2(Keyword.NEW, AstFactory.typeName4("C")); | 721 AstTestFactory.instanceCreationExpression2( |
| 722 Keyword.NEW, AstTestFactory.typeName4("C")); |
719 DartType propagatedType = ElementFactory.classElement2("C").type; | 723 DartType propagatedType = ElementFactory.classElement2("C").type; |
720 fromNode.propagatedType = propagatedType; | 724 fromNode.propagatedType = propagatedType; |
721 ConstructorElement staticElement = ElementFactory.constructorElement2( | 725 ConstructorElement staticElement = ElementFactory.constructorElement2( |
722 ElementFactory.classElement2("C"), null); | 726 ElementFactory.classElement2("C"), null); |
723 fromNode.staticElement = staticElement; | 727 fromNode.staticElement = staticElement; |
724 DartType staticType = ElementFactory.classElement2("C").type; | 728 DartType staticType = ElementFactory.classElement2("C").type; |
725 fromNode.staticType = staticType; | 729 fromNode.staticType = staticType; |
726 InstanceCreationExpression toNode = AstFactory.instanceCreationExpression2( | 730 InstanceCreationExpression toNode = |
727 Keyword.NEW, AstFactory.typeName4("C")); | 731 AstTestFactory.instanceCreationExpression2( |
| 732 Keyword.NEW, AstTestFactory.typeName4("C")); |
728 ResolutionCopier.copyResolutionData(fromNode, toNode); | 733 ResolutionCopier.copyResolutionData(fromNode, toNode); |
729 expect(toNode.propagatedType, same(propagatedType)); | 734 expect(toNode.propagatedType, same(propagatedType)); |
730 expect(toNode.staticElement, same(staticElement)); | 735 expect(toNode.staticElement, same(staticElement)); |
731 expect(toNode.staticType, same(staticType)); | 736 expect(toNode.staticType, same(staticType)); |
732 } | 737 } |
733 | 738 |
734 void test_visitIntegerLiteral() { | 739 void test_visitIntegerLiteral() { |
735 IntegerLiteral fromNode = AstFactory.integer(2); | 740 IntegerLiteral fromNode = AstTestFactory.integer(2); |
736 DartType propagatedType = ElementFactory.classElement2("C").type; | 741 DartType propagatedType = ElementFactory.classElement2("C").type; |
737 fromNode.propagatedType = propagatedType; | 742 fromNode.propagatedType = propagatedType; |
738 DartType staticType = ElementFactory.classElement2("C").type; | 743 DartType staticType = ElementFactory.classElement2("C").type; |
739 fromNode.staticType = staticType; | 744 fromNode.staticType = staticType; |
740 IntegerLiteral toNode = AstFactory.integer(2); | 745 IntegerLiteral toNode = AstTestFactory.integer(2); |
741 ResolutionCopier.copyResolutionData(fromNode, toNode); | 746 ResolutionCopier.copyResolutionData(fromNode, toNode); |
742 expect(toNode.propagatedType, same(propagatedType)); | 747 expect(toNode.propagatedType, same(propagatedType)); |
743 expect(toNode.staticType, same(staticType)); | 748 expect(toNode.staticType, same(staticType)); |
744 } | 749 } |
745 | 750 |
746 void test_visitIsExpression() { | 751 void test_visitIsExpression() { |
747 IsExpression fromNode = AstFactory.isExpression( | 752 IsExpression fromNode = AstTestFactory.isExpression( |
748 AstFactory.identifier3("x"), false, AstFactory.typeName4("A")); | 753 AstTestFactory.identifier3("x"), false, AstTestFactory.typeName4("A")); |
749 DartType propagatedType = ElementFactory.classElement2("C").type; | 754 DartType propagatedType = ElementFactory.classElement2("C").type; |
750 fromNode.propagatedType = propagatedType; | 755 fromNode.propagatedType = propagatedType; |
751 DartType staticType = ElementFactory.classElement2("C").type; | 756 DartType staticType = ElementFactory.classElement2("C").type; |
752 fromNode.staticType = staticType; | 757 fromNode.staticType = staticType; |
753 IsExpression toNode = AstFactory.isExpression( | 758 IsExpression toNode = AstTestFactory.isExpression( |
754 AstFactory.identifier3("x"), false, AstFactory.typeName4("A")); | 759 AstTestFactory.identifier3("x"), false, AstTestFactory.typeName4("A")); |
755 ResolutionCopier.copyResolutionData(fromNode, toNode); | 760 ResolutionCopier.copyResolutionData(fromNode, toNode); |
756 expect(toNode.propagatedType, same(propagatedType)); | 761 expect(toNode.propagatedType, same(propagatedType)); |
757 expect(toNode.staticType, same(staticType)); | 762 expect(toNode.staticType, same(staticType)); |
758 } | 763 } |
759 | 764 |
760 void test_visitLibraryIdentifier() { | 765 void test_visitLibraryIdentifier() { |
761 LibraryIdentifier fromNode = | 766 LibraryIdentifier fromNode = |
762 AstFactory.libraryIdentifier([AstFactory.identifier3("lib")]); | 767 AstTestFactory.libraryIdentifier([AstTestFactory.identifier3("lib")]); |
763 DartType propagatedType = ElementFactory.classElement2("C").type; | 768 DartType propagatedType = ElementFactory.classElement2("C").type; |
764 fromNode.propagatedType = propagatedType; | 769 fromNode.propagatedType = propagatedType; |
765 DartType staticType = ElementFactory.classElement2("C").type; | 770 DartType staticType = ElementFactory.classElement2("C").type; |
766 fromNode.staticType = staticType; | 771 fromNode.staticType = staticType; |
767 LibraryIdentifier toNode = | 772 LibraryIdentifier toNode = |
768 AstFactory.libraryIdentifier([AstFactory.identifier3("lib")]); | 773 AstTestFactory.libraryIdentifier([AstTestFactory.identifier3("lib")]); |
769 ResolutionCopier.copyResolutionData(fromNode, toNode); | 774 ResolutionCopier.copyResolutionData(fromNode, toNode); |
770 expect(toNode.propagatedType, same(propagatedType)); | 775 expect(toNode.propagatedType, same(propagatedType)); |
771 expect(toNode.staticType, same(staticType)); | 776 expect(toNode.staticType, same(staticType)); |
772 } | 777 } |
773 | 778 |
774 void test_visitListLiteral() { | 779 void test_visitListLiteral() { |
775 ListLiteral fromNode = AstFactory.listLiteral(); | 780 ListLiteral fromNode = AstTestFactory.listLiteral(); |
776 DartType propagatedType = ElementFactory.classElement2("C").type; | 781 DartType propagatedType = ElementFactory.classElement2("C").type; |
777 fromNode.propagatedType = propagatedType; | 782 fromNode.propagatedType = propagatedType; |
778 DartType staticType = ElementFactory.classElement2("C").type; | 783 DartType staticType = ElementFactory.classElement2("C").type; |
779 fromNode.staticType = staticType; | 784 fromNode.staticType = staticType; |
780 ListLiteral toNode = AstFactory.listLiteral(); | 785 ListLiteral toNode = AstTestFactory.listLiteral(); |
781 ResolutionCopier.copyResolutionData(fromNode, toNode); | 786 ResolutionCopier.copyResolutionData(fromNode, toNode); |
782 expect(toNode.propagatedType, same(propagatedType)); | 787 expect(toNode.propagatedType, same(propagatedType)); |
783 expect(toNode.staticType, same(staticType)); | 788 expect(toNode.staticType, same(staticType)); |
784 } | 789 } |
785 | 790 |
786 void test_visitMapLiteral() { | 791 void test_visitMapLiteral() { |
787 MapLiteral fromNode = AstFactory.mapLiteral2(); | 792 MapLiteral fromNode = AstTestFactory.mapLiteral2(); |
788 DartType propagatedType = ElementFactory.classElement2("C").type; | 793 DartType propagatedType = ElementFactory.classElement2("C").type; |
789 fromNode.propagatedType = propagatedType; | 794 fromNode.propagatedType = propagatedType; |
790 DartType staticType = ElementFactory.classElement2("C").type; | 795 DartType staticType = ElementFactory.classElement2("C").type; |
791 fromNode.staticType = staticType; | 796 fromNode.staticType = staticType; |
792 MapLiteral toNode = AstFactory.mapLiteral2(); | 797 MapLiteral toNode = AstTestFactory.mapLiteral2(); |
793 ResolutionCopier.copyResolutionData(fromNode, toNode); | 798 ResolutionCopier.copyResolutionData(fromNode, toNode); |
794 expect(toNode.propagatedType, same(propagatedType)); | 799 expect(toNode.propagatedType, same(propagatedType)); |
795 expect(toNode.staticType, same(staticType)); | 800 expect(toNode.staticType, same(staticType)); |
796 } | 801 } |
797 | 802 |
798 void test_visitMethodInvocation() { | 803 void test_visitMethodInvocation() { |
799 MethodInvocation fromNode = AstFactory.methodInvocation2("m"); | 804 MethodInvocation fromNode = AstTestFactory.methodInvocation2("m"); |
800 MethodInvocation toNode = AstFactory.methodInvocation2("m"); | 805 MethodInvocation toNode = AstTestFactory.methodInvocation2("m"); |
801 ClassElement elementT = ElementFactory.classElement2('T'); | 806 ClassElement elementT = ElementFactory.classElement2('T'); |
802 fromNode.typeArguments = | 807 fromNode.typeArguments = AstTestFactory |
803 AstFactory.typeArgumentList(<TypeName>[AstFactory.typeName(elementT)]); | 808 .typeArgumentList(<TypeName>[AstTestFactory.typeName(elementT)]); |
804 toNode.typeArguments = | 809 toNode.typeArguments = AstTestFactory |
805 AstFactory.typeArgumentList(<TypeName>[AstFactory.typeName4('T')]); | 810 .typeArgumentList(<TypeName>[AstTestFactory.typeName4('T')]); |
806 _copyAndVerifyInvocation(fromNode, toNode); | 811 _copyAndVerifyInvocation(fromNode, toNode); |
807 } | 812 } |
808 | 813 |
809 void test_visitNamedExpression() { | 814 void test_visitNamedExpression() { |
810 NamedExpression fromNode = | 815 NamedExpression fromNode = |
811 AstFactory.namedExpression2("n", AstFactory.integer(0)); | 816 AstTestFactory.namedExpression2("n", AstTestFactory.integer(0)); |
812 DartType propagatedType = ElementFactory.classElement2("C").type; | 817 DartType propagatedType = ElementFactory.classElement2("C").type; |
813 fromNode.propagatedType = propagatedType; | 818 fromNode.propagatedType = propagatedType; |
814 DartType staticType = ElementFactory.classElement2("C").type; | 819 DartType staticType = ElementFactory.classElement2("C").type; |
815 fromNode.staticType = staticType; | 820 fromNode.staticType = staticType; |
816 NamedExpression toNode = | 821 NamedExpression toNode = |
817 AstFactory.namedExpression2("n", AstFactory.integer(0)); | 822 AstTestFactory.namedExpression2("n", AstTestFactory.integer(0)); |
818 ResolutionCopier.copyResolutionData(fromNode, toNode); | 823 ResolutionCopier.copyResolutionData(fromNode, toNode); |
819 expect(toNode.propagatedType, same(propagatedType)); | 824 expect(toNode.propagatedType, same(propagatedType)); |
820 expect(toNode.staticType, same(staticType)); | 825 expect(toNode.staticType, same(staticType)); |
821 } | 826 } |
822 | 827 |
823 void test_visitNullLiteral() { | 828 void test_visitNullLiteral() { |
824 NullLiteral fromNode = AstFactory.nullLiteral(); | 829 NullLiteral fromNode = AstTestFactory.nullLiteral(); |
825 DartType propagatedType = ElementFactory.classElement2("C").type; | 830 DartType propagatedType = ElementFactory.classElement2("C").type; |
826 fromNode.propagatedType = propagatedType; | 831 fromNode.propagatedType = propagatedType; |
827 DartType staticType = ElementFactory.classElement2("C").type; | 832 DartType staticType = ElementFactory.classElement2("C").type; |
828 fromNode.staticType = staticType; | 833 fromNode.staticType = staticType; |
829 NullLiteral toNode = AstFactory.nullLiteral(); | 834 NullLiteral toNode = AstTestFactory.nullLiteral(); |
830 ResolutionCopier.copyResolutionData(fromNode, toNode); | 835 ResolutionCopier.copyResolutionData(fromNode, toNode); |
831 expect(toNode.propagatedType, same(propagatedType)); | 836 expect(toNode.propagatedType, same(propagatedType)); |
832 expect(toNode.staticType, same(staticType)); | 837 expect(toNode.staticType, same(staticType)); |
833 } | 838 } |
834 | 839 |
835 void test_visitParenthesizedExpression() { | 840 void test_visitParenthesizedExpression() { |
836 ParenthesizedExpression fromNode = | 841 ParenthesizedExpression fromNode = |
837 AstFactory.parenthesizedExpression(AstFactory.integer(0)); | 842 AstTestFactory.parenthesizedExpression(AstTestFactory.integer(0)); |
838 DartType propagatedType = ElementFactory.classElement2("C").type; | 843 DartType propagatedType = ElementFactory.classElement2("C").type; |
839 fromNode.propagatedType = propagatedType; | 844 fromNode.propagatedType = propagatedType; |
840 DartType staticType = ElementFactory.classElement2("C").type; | 845 DartType staticType = ElementFactory.classElement2("C").type; |
841 fromNode.staticType = staticType; | 846 fromNode.staticType = staticType; |
842 ParenthesizedExpression toNode = | 847 ParenthesizedExpression toNode = |
843 AstFactory.parenthesizedExpression(AstFactory.integer(0)); | 848 AstTestFactory.parenthesizedExpression(AstTestFactory.integer(0)); |
844 ResolutionCopier.copyResolutionData(fromNode, toNode); | 849 ResolutionCopier.copyResolutionData(fromNode, toNode); |
845 expect(toNode.propagatedType, same(propagatedType)); | 850 expect(toNode.propagatedType, same(propagatedType)); |
846 expect(toNode.staticType, same(staticType)); | 851 expect(toNode.staticType, same(staticType)); |
847 } | 852 } |
848 | 853 |
849 void test_visitPartDirective() { | 854 void test_visitPartDirective() { |
850 PartDirective fromNode = AstFactory.partDirective2("part.dart"); | 855 PartDirective fromNode = AstTestFactory.partDirective2("part.dart"); |
851 LibraryElement element = new LibraryElementImpl.forNode( | 856 LibraryElement element = new LibraryElementImpl.forNode( |
852 null, AstFactory.libraryIdentifier2(["lib"])); | 857 null, AstTestFactory.libraryIdentifier2(["lib"])); |
853 fromNode.element = element; | 858 fromNode.element = element; |
854 PartDirective toNode = AstFactory.partDirective2("part.dart"); | 859 PartDirective toNode = AstTestFactory.partDirective2("part.dart"); |
855 ResolutionCopier.copyResolutionData(fromNode, toNode); | 860 ResolutionCopier.copyResolutionData(fromNode, toNode); |
856 expect(toNode.element, same(element)); | 861 expect(toNode.element, same(element)); |
857 } | 862 } |
858 | 863 |
859 void test_visitPartOfDirective() { | 864 void test_visitPartOfDirective() { |
860 PartOfDirective fromNode = | 865 PartOfDirective fromNode = AstTestFactory |
861 AstFactory.partOfDirective(AstFactory.libraryIdentifier2(["lib"])); | 866 .partOfDirective(AstTestFactory.libraryIdentifier2(["lib"])); |
862 LibraryElement element = new LibraryElementImpl.forNode( | 867 LibraryElement element = new LibraryElementImpl.forNode( |
863 null, AstFactory.libraryIdentifier2(["lib"])); | 868 null, AstTestFactory.libraryIdentifier2(["lib"])); |
864 fromNode.element = element; | 869 fromNode.element = element; |
865 PartOfDirective toNode = | 870 PartOfDirective toNode = AstTestFactory |
866 AstFactory.partOfDirective(AstFactory.libraryIdentifier2(["lib"])); | 871 .partOfDirective(AstTestFactory.libraryIdentifier2(["lib"])); |
867 ResolutionCopier.copyResolutionData(fromNode, toNode); | 872 ResolutionCopier.copyResolutionData(fromNode, toNode); |
868 expect(toNode.element, same(element)); | 873 expect(toNode.element, same(element)); |
869 } | 874 } |
870 | 875 |
871 void test_visitPostfixExpression() { | 876 void test_visitPostfixExpression() { |
872 String variableName = "x"; | 877 String variableName = "x"; |
873 PostfixExpression fromNode = AstFactory.postfixExpression( | 878 PostfixExpression fromNode = AstTestFactory.postfixExpression( |
874 AstFactory.identifier3(variableName), TokenType.PLUS_PLUS); | 879 AstTestFactory.identifier3(variableName), TokenType.PLUS_PLUS); |
875 MethodElement propagatedElement = ElementFactory.methodElement( | 880 MethodElement propagatedElement = ElementFactory.methodElement( |
876 "+", ElementFactory.classElement2("C").type); | 881 "+", ElementFactory.classElement2("C").type); |
877 fromNode.propagatedElement = propagatedElement; | 882 fromNode.propagatedElement = propagatedElement; |
878 DartType propagatedType = ElementFactory.classElement2("C").type; | 883 DartType propagatedType = ElementFactory.classElement2("C").type; |
879 fromNode.propagatedType = propagatedType; | 884 fromNode.propagatedType = propagatedType; |
880 MethodElement staticElement = ElementFactory.methodElement( | 885 MethodElement staticElement = ElementFactory.methodElement( |
881 "+", ElementFactory.classElement2("C").type); | 886 "+", ElementFactory.classElement2("C").type); |
882 fromNode.staticElement = staticElement; | 887 fromNode.staticElement = staticElement; |
883 DartType staticType = ElementFactory.classElement2("C").type; | 888 DartType staticType = ElementFactory.classElement2("C").type; |
884 fromNode.staticType = staticType; | 889 fromNode.staticType = staticType; |
885 PostfixExpression toNode = AstFactory.postfixExpression( | 890 PostfixExpression toNode = AstTestFactory.postfixExpression( |
886 AstFactory.identifier3(variableName), TokenType.PLUS_PLUS); | 891 AstTestFactory.identifier3(variableName), TokenType.PLUS_PLUS); |
887 ResolutionCopier.copyResolutionData(fromNode, toNode); | 892 ResolutionCopier.copyResolutionData(fromNode, toNode); |
888 expect(toNode.propagatedElement, same(propagatedElement)); | 893 expect(toNode.propagatedElement, same(propagatedElement)); |
889 expect(toNode.propagatedType, same(propagatedType)); | 894 expect(toNode.propagatedType, same(propagatedType)); |
890 expect(toNode.staticElement, same(staticElement)); | 895 expect(toNode.staticElement, same(staticElement)); |
891 expect(toNode.staticType, same(staticType)); | 896 expect(toNode.staticType, same(staticType)); |
892 } | 897 } |
893 | 898 |
894 void test_visitPrefixedIdentifier() { | 899 void test_visitPrefixedIdentifier() { |
895 PrefixedIdentifier fromNode = AstFactory.identifier5("p", "f"); | 900 PrefixedIdentifier fromNode = AstTestFactory.identifier5("p", "f"); |
896 DartType propagatedType = ElementFactory.classElement2("C").type; | 901 DartType propagatedType = ElementFactory.classElement2("C").type; |
897 fromNode.propagatedType = propagatedType; | 902 fromNode.propagatedType = propagatedType; |
898 DartType staticType = ElementFactory.classElement2("C").type; | 903 DartType staticType = ElementFactory.classElement2("C").type; |
899 fromNode.staticType = staticType; | 904 fromNode.staticType = staticType; |
900 PrefixedIdentifier toNode = AstFactory.identifier5("p", "f"); | 905 PrefixedIdentifier toNode = AstTestFactory.identifier5("p", "f"); |
901 ResolutionCopier.copyResolutionData(fromNode, toNode); | 906 ResolutionCopier.copyResolutionData(fromNode, toNode); |
902 expect(toNode.propagatedType, same(propagatedType)); | 907 expect(toNode.propagatedType, same(propagatedType)); |
903 expect(toNode.staticType, same(staticType)); | 908 expect(toNode.staticType, same(staticType)); |
904 } | 909 } |
905 | 910 |
906 void test_visitPrefixExpression() { | 911 void test_visitPrefixExpression() { |
907 PrefixExpression fromNode = AstFactory.prefixExpression( | 912 PrefixExpression fromNode = AstTestFactory.prefixExpression( |
908 TokenType.PLUS_PLUS, AstFactory.identifier3("x")); | 913 TokenType.PLUS_PLUS, AstTestFactory.identifier3("x")); |
909 MethodElement propagatedElement = ElementFactory.methodElement( | 914 MethodElement propagatedElement = ElementFactory.methodElement( |
910 "+", ElementFactory.classElement2("C").type); | 915 "+", ElementFactory.classElement2("C").type); |
911 DartType propagatedType = ElementFactory.classElement2("C").type; | 916 DartType propagatedType = ElementFactory.classElement2("C").type; |
912 fromNode.propagatedElement = propagatedElement; | 917 fromNode.propagatedElement = propagatedElement; |
913 fromNode.propagatedType = propagatedType; | 918 fromNode.propagatedType = propagatedType; |
914 DartType staticType = ElementFactory.classElement2("C").type; | 919 DartType staticType = ElementFactory.classElement2("C").type; |
915 MethodElement staticElement = ElementFactory.methodElement( | 920 MethodElement staticElement = ElementFactory.methodElement( |
916 "+", ElementFactory.classElement2("C").type); | 921 "+", ElementFactory.classElement2("C").type); |
917 fromNode.staticElement = staticElement; | 922 fromNode.staticElement = staticElement; |
918 fromNode.staticType = staticType; | 923 fromNode.staticType = staticType; |
919 PrefixExpression toNode = AstFactory.prefixExpression( | 924 PrefixExpression toNode = AstTestFactory.prefixExpression( |
920 TokenType.PLUS_PLUS, AstFactory.identifier3("x")); | 925 TokenType.PLUS_PLUS, AstTestFactory.identifier3("x")); |
921 ResolutionCopier.copyResolutionData(fromNode, toNode); | 926 ResolutionCopier.copyResolutionData(fromNode, toNode); |
922 expect(toNode.propagatedElement, same(propagatedElement)); | 927 expect(toNode.propagatedElement, same(propagatedElement)); |
923 expect(toNode.propagatedType, same(propagatedType)); | 928 expect(toNode.propagatedType, same(propagatedType)); |
924 expect(toNode.staticElement, same(staticElement)); | 929 expect(toNode.staticElement, same(staticElement)); |
925 expect(toNode.staticType, same(staticType)); | 930 expect(toNode.staticType, same(staticType)); |
926 } | 931 } |
927 | 932 |
928 void test_visitPropertyAccess() { | 933 void test_visitPropertyAccess() { |
929 PropertyAccess fromNode = | 934 PropertyAccess fromNode = |
930 AstFactory.propertyAccess2(AstFactory.identifier3("x"), "y"); | 935 AstTestFactory.propertyAccess2(AstTestFactory.identifier3("x"), "y"); |
931 DartType propagatedType = ElementFactory.classElement2("C").type; | 936 DartType propagatedType = ElementFactory.classElement2("C").type; |
932 fromNode.propagatedType = propagatedType; | 937 fromNode.propagatedType = propagatedType; |
933 DartType staticType = ElementFactory.classElement2("C").type; | 938 DartType staticType = ElementFactory.classElement2("C").type; |
934 fromNode.staticType = staticType; | 939 fromNode.staticType = staticType; |
935 PropertyAccess toNode = | 940 PropertyAccess toNode = |
936 AstFactory.propertyAccess2(AstFactory.identifier3("x"), "y"); | 941 AstTestFactory.propertyAccess2(AstTestFactory.identifier3("x"), "y"); |
937 ResolutionCopier.copyResolutionData(fromNode, toNode); | 942 ResolutionCopier.copyResolutionData(fromNode, toNode); |
938 expect(toNode.propagatedType, same(propagatedType)); | 943 expect(toNode.propagatedType, same(propagatedType)); |
939 expect(toNode.staticType, same(staticType)); | 944 expect(toNode.staticType, same(staticType)); |
940 } | 945 } |
941 | 946 |
942 void test_visitRedirectingConstructorInvocation() { | 947 void test_visitRedirectingConstructorInvocation() { |
943 RedirectingConstructorInvocation fromNode = | 948 RedirectingConstructorInvocation fromNode = |
944 AstFactory.redirectingConstructorInvocation(); | 949 AstTestFactory.redirectingConstructorInvocation(); |
945 ConstructorElement staticElement = ElementFactory.constructorElement2( | 950 ConstructorElement staticElement = ElementFactory.constructorElement2( |
946 ElementFactory.classElement2("C"), null); | 951 ElementFactory.classElement2("C"), null); |
947 fromNode.staticElement = staticElement; | 952 fromNode.staticElement = staticElement; |
948 RedirectingConstructorInvocation toNode = | 953 RedirectingConstructorInvocation toNode = |
949 AstFactory.redirectingConstructorInvocation(); | 954 AstTestFactory.redirectingConstructorInvocation(); |
950 ResolutionCopier.copyResolutionData(fromNode, toNode); | 955 ResolutionCopier.copyResolutionData(fromNode, toNode); |
951 expect(toNode.staticElement, same(staticElement)); | 956 expect(toNode.staticElement, same(staticElement)); |
952 } | 957 } |
953 | 958 |
954 void test_visitRethrowExpression() { | 959 void test_visitRethrowExpression() { |
955 RethrowExpression fromNode = AstFactory.rethrowExpression(); | 960 RethrowExpression fromNode = AstTestFactory.rethrowExpression(); |
956 DartType propagatedType = ElementFactory.classElement2("C").type; | 961 DartType propagatedType = ElementFactory.classElement2("C").type; |
957 fromNode.propagatedType = propagatedType; | 962 fromNode.propagatedType = propagatedType; |
958 DartType staticType = ElementFactory.classElement2("C").type; | 963 DartType staticType = ElementFactory.classElement2("C").type; |
959 fromNode.staticType = staticType; | 964 fromNode.staticType = staticType; |
960 RethrowExpression toNode = AstFactory.rethrowExpression(); | 965 RethrowExpression toNode = AstTestFactory.rethrowExpression(); |
961 ResolutionCopier.copyResolutionData(fromNode, toNode); | 966 ResolutionCopier.copyResolutionData(fromNode, toNode); |
962 expect(toNode.propagatedType, same(propagatedType)); | 967 expect(toNode.propagatedType, same(propagatedType)); |
963 expect(toNode.staticType, same(staticType)); | 968 expect(toNode.staticType, same(staticType)); |
964 } | 969 } |
965 | 970 |
966 void test_visitSimpleIdentifier() { | 971 void test_visitSimpleIdentifier() { |
967 SimpleIdentifier fromNode = AstFactory.identifier3("x"); | 972 SimpleIdentifier fromNode = AstTestFactory.identifier3("x"); |
968 MethodElement propagatedElement = ElementFactory.methodElement( | 973 MethodElement propagatedElement = ElementFactory.methodElement( |
969 "m", ElementFactory.classElement2("C").type); | 974 "m", ElementFactory.classElement2("C").type); |
970 MethodElement staticElement = ElementFactory.methodElement( | 975 MethodElement staticElement = ElementFactory.methodElement( |
971 "m", ElementFactory.classElement2("C").type); | 976 "m", ElementFactory.classElement2("C").type); |
972 AuxiliaryElements auxiliaryElements = | 977 AuxiliaryElements auxiliaryElements = |
973 new AuxiliaryElements(staticElement, propagatedElement); | 978 new AuxiliaryElements(staticElement, propagatedElement); |
974 fromNode.auxiliaryElements = auxiliaryElements; | 979 fromNode.auxiliaryElements = auxiliaryElements; |
975 fromNode.propagatedElement = propagatedElement; | 980 fromNode.propagatedElement = propagatedElement; |
976 DartType propagatedType = ElementFactory.classElement2("C").type; | 981 DartType propagatedType = ElementFactory.classElement2("C").type; |
977 fromNode.propagatedType = propagatedType; | 982 fromNode.propagatedType = propagatedType; |
978 fromNode.staticElement = staticElement; | 983 fromNode.staticElement = staticElement; |
979 DartType staticType = ElementFactory.classElement2("C").type; | 984 DartType staticType = ElementFactory.classElement2("C").type; |
980 fromNode.staticType = staticType; | 985 fromNode.staticType = staticType; |
981 SimpleIdentifier toNode = AstFactory.identifier3("x"); | 986 SimpleIdentifier toNode = AstTestFactory.identifier3("x"); |
982 ResolutionCopier.copyResolutionData(fromNode, toNode); | 987 ResolutionCopier.copyResolutionData(fromNode, toNode); |
983 expect(toNode.auxiliaryElements, same(auxiliaryElements)); | 988 expect(toNode.auxiliaryElements, same(auxiliaryElements)); |
984 expect(toNode.propagatedElement, same(propagatedElement)); | 989 expect(toNode.propagatedElement, same(propagatedElement)); |
985 expect(toNode.propagatedType, same(propagatedType)); | 990 expect(toNode.propagatedType, same(propagatedType)); |
986 expect(toNode.staticElement, same(staticElement)); | 991 expect(toNode.staticElement, same(staticElement)); |
987 expect(toNode.staticType, same(staticType)); | 992 expect(toNode.staticType, same(staticType)); |
988 } | 993 } |
989 | 994 |
990 void test_visitSimpleStringLiteral() { | 995 void test_visitSimpleStringLiteral() { |
991 SimpleStringLiteral fromNode = AstFactory.string2("abc"); | 996 SimpleStringLiteral fromNode = AstTestFactory.string2("abc"); |
992 DartType propagatedType = ElementFactory.classElement2("C").type; | 997 DartType propagatedType = ElementFactory.classElement2("C").type; |
993 fromNode.propagatedType = propagatedType; | 998 fromNode.propagatedType = propagatedType; |
994 DartType staticType = ElementFactory.classElement2("C").type; | 999 DartType staticType = ElementFactory.classElement2("C").type; |
995 fromNode.staticType = staticType; | 1000 fromNode.staticType = staticType; |
996 SimpleStringLiteral toNode = AstFactory.string2("abc"); | 1001 SimpleStringLiteral toNode = AstTestFactory.string2("abc"); |
997 ResolutionCopier.copyResolutionData(fromNode, toNode); | 1002 ResolutionCopier.copyResolutionData(fromNode, toNode); |
998 expect(toNode.propagatedType, same(propagatedType)); | 1003 expect(toNode.propagatedType, same(propagatedType)); |
999 expect(toNode.staticType, same(staticType)); | 1004 expect(toNode.staticType, same(staticType)); |
1000 } | 1005 } |
1001 | 1006 |
1002 void test_visitStringInterpolation() { | 1007 void test_visitStringInterpolation() { |
1003 StringInterpolation fromNode = | 1008 StringInterpolation fromNode = |
1004 AstFactory.string([AstFactory.interpolationString("a", "'a'")]); | 1009 AstTestFactory.string([AstTestFactory.interpolationString("a", "'a'")]); |
1005 DartType propagatedType = ElementFactory.classElement2("C").type; | 1010 DartType propagatedType = ElementFactory.classElement2("C").type; |
1006 fromNode.propagatedType = propagatedType; | 1011 fromNode.propagatedType = propagatedType; |
1007 DartType staticType = ElementFactory.classElement2("C").type; | 1012 DartType staticType = ElementFactory.classElement2("C").type; |
1008 fromNode.staticType = staticType; | 1013 fromNode.staticType = staticType; |
1009 StringInterpolation toNode = | 1014 StringInterpolation toNode = |
1010 AstFactory.string([AstFactory.interpolationString("a", "'a'")]); | 1015 AstTestFactory.string([AstTestFactory.interpolationString("a", "'a'")]); |
1011 ResolutionCopier.copyResolutionData(fromNode, toNode); | 1016 ResolutionCopier.copyResolutionData(fromNode, toNode); |
1012 expect(toNode.propagatedType, same(propagatedType)); | 1017 expect(toNode.propagatedType, same(propagatedType)); |
1013 expect(toNode.staticType, same(staticType)); | 1018 expect(toNode.staticType, same(staticType)); |
1014 } | 1019 } |
1015 | 1020 |
1016 void test_visitSuperConstructorInvocation() { | 1021 void test_visitSuperConstructorInvocation() { |
1017 SuperConstructorInvocation fromNode = | 1022 SuperConstructorInvocation fromNode = |
1018 AstFactory.superConstructorInvocation(); | 1023 AstTestFactory.superConstructorInvocation(); |
1019 ConstructorElement staticElement = ElementFactory.constructorElement2( | 1024 ConstructorElement staticElement = ElementFactory.constructorElement2( |
1020 ElementFactory.classElement2("C"), null); | 1025 ElementFactory.classElement2("C"), null); |
1021 fromNode.staticElement = staticElement; | 1026 fromNode.staticElement = staticElement; |
1022 SuperConstructorInvocation toNode = AstFactory.superConstructorInvocation(); | 1027 SuperConstructorInvocation toNode = |
| 1028 AstTestFactory.superConstructorInvocation(); |
1023 ResolutionCopier.copyResolutionData(fromNode, toNode); | 1029 ResolutionCopier.copyResolutionData(fromNode, toNode); |
1024 expect(toNode.staticElement, same(staticElement)); | 1030 expect(toNode.staticElement, same(staticElement)); |
1025 } | 1031 } |
1026 | 1032 |
1027 void test_visitSuperExpression() { | 1033 void test_visitSuperExpression() { |
1028 SuperExpression fromNode = AstFactory.superExpression(); | 1034 SuperExpression fromNode = AstTestFactory.superExpression(); |
1029 DartType propagatedType = ElementFactory.classElement2("C").type; | 1035 DartType propagatedType = ElementFactory.classElement2("C").type; |
1030 fromNode.propagatedType = propagatedType; | 1036 fromNode.propagatedType = propagatedType; |
1031 DartType staticType = ElementFactory.classElement2("C").type; | 1037 DartType staticType = ElementFactory.classElement2("C").type; |
1032 fromNode.staticType = staticType; | 1038 fromNode.staticType = staticType; |
1033 SuperExpression toNode = AstFactory.superExpression(); | 1039 SuperExpression toNode = AstTestFactory.superExpression(); |
1034 ResolutionCopier.copyResolutionData(fromNode, toNode); | 1040 ResolutionCopier.copyResolutionData(fromNode, toNode); |
1035 expect(toNode.propagatedType, same(propagatedType)); | 1041 expect(toNode.propagatedType, same(propagatedType)); |
1036 expect(toNode.staticType, same(staticType)); | 1042 expect(toNode.staticType, same(staticType)); |
1037 } | 1043 } |
1038 | 1044 |
1039 void test_visitSymbolLiteral() { | 1045 void test_visitSymbolLiteral() { |
1040 SymbolLiteral fromNode = AstFactory.symbolLiteral(["s"]); | 1046 SymbolLiteral fromNode = AstTestFactory.symbolLiteral(["s"]); |
1041 DartType propagatedType = ElementFactory.classElement2("C").type; | 1047 DartType propagatedType = ElementFactory.classElement2("C").type; |
1042 fromNode.propagatedType = propagatedType; | 1048 fromNode.propagatedType = propagatedType; |
1043 DartType staticType = ElementFactory.classElement2("C").type; | 1049 DartType staticType = ElementFactory.classElement2("C").type; |
1044 fromNode.staticType = staticType; | 1050 fromNode.staticType = staticType; |
1045 SymbolLiteral toNode = AstFactory.symbolLiteral(["s"]); | 1051 SymbolLiteral toNode = AstTestFactory.symbolLiteral(["s"]); |
1046 ResolutionCopier.copyResolutionData(fromNode, toNode); | 1052 ResolutionCopier.copyResolutionData(fromNode, toNode); |
1047 expect(toNode.propagatedType, same(propagatedType)); | 1053 expect(toNode.propagatedType, same(propagatedType)); |
1048 expect(toNode.staticType, same(staticType)); | 1054 expect(toNode.staticType, same(staticType)); |
1049 } | 1055 } |
1050 | 1056 |
1051 void test_visitThisExpression() { | 1057 void test_visitThisExpression() { |
1052 ThisExpression fromNode = AstFactory.thisExpression(); | 1058 ThisExpression fromNode = AstTestFactory.thisExpression(); |
1053 DartType propagatedType = ElementFactory.classElement2("C").type; | 1059 DartType propagatedType = ElementFactory.classElement2("C").type; |
1054 fromNode.propagatedType = propagatedType; | 1060 fromNode.propagatedType = propagatedType; |
1055 DartType staticType = ElementFactory.classElement2("C").type; | 1061 DartType staticType = ElementFactory.classElement2("C").type; |
1056 fromNode.staticType = staticType; | 1062 fromNode.staticType = staticType; |
1057 ThisExpression toNode = AstFactory.thisExpression(); | 1063 ThisExpression toNode = AstTestFactory.thisExpression(); |
1058 ResolutionCopier.copyResolutionData(fromNode, toNode); | 1064 ResolutionCopier.copyResolutionData(fromNode, toNode); |
1059 expect(toNode.propagatedType, same(propagatedType)); | 1065 expect(toNode.propagatedType, same(propagatedType)); |
1060 expect(toNode.staticType, same(staticType)); | 1066 expect(toNode.staticType, same(staticType)); |
1061 } | 1067 } |
1062 | 1068 |
1063 void test_visitThrowExpression() { | 1069 void test_visitThrowExpression() { |
1064 ThrowExpression fromNode = AstFactory.throwExpression(); | 1070 ThrowExpression fromNode = AstTestFactory.throwExpression(); |
1065 DartType propagatedType = ElementFactory.classElement2("C").type; | 1071 DartType propagatedType = ElementFactory.classElement2("C").type; |
1066 fromNode.propagatedType = propagatedType; | 1072 fromNode.propagatedType = propagatedType; |
1067 DartType staticType = ElementFactory.classElement2("C").type; | 1073 DartType staticType = ElementFactory.classElement2("C").type; |
1068 fromNode.staticType = staticType; | 1074 fromNode.staticType = staticType; |
1069 ThrowExpression toNode = AstFactory.throwExpression(); | 1075 ThrowExpression toNode = AstTestFactory.throwExpression(); |
1070 ResolutionCopier.copyResolutionData(fromNode, toNode); | 1076 ResolutionCopier.copyResolutionData(fromNode, toNode); |
1071 expect(toNode.propagatedType, same(propagatedType)); | 1077 expect(toNode.propagatedType, same(propagatedType)); |
1072 expect(toNode.staticType, same(staticType)); | 1078 expect(toNode.staticType, same(staticType)); |
1073 } | 1079 } |
1074 | 1080 |
1075 void test_visitTypeName() { | 1081 void test_visitTypeName() { |
1076 TypeName fromNode = AstFactory.typeName4("C"); | 1082 TypeName fromNode = AstTestFactory.typeName4("C"); |
1077 DartType type = ElementFactory.classElement2("C").type; | 1083 DartType type = ElementFactory.classElement2("C").type; |
1078 fromNode.type = type; | 1084 fromNode.type = type; |
1079 TypeName toNode = AstFactory.typeName4("C"); | 1085 TypeName toNode = AstTestFactory.typeName4("C"); |
1080 ResolutionCopier.copyResolutionData(fromNode, toNode); | 1086 ResolutionCopier.copyResolutionData(fromNode, toNode); |
1081 expect(toNode.type, same(type)); | 1087 expect(toNode.type, same(type)); |
1082 } | 1088 } |
1083 | 1089 |
1084 void _copyAndVerifyInvocation( | 1090 void _copyAndVerifyInvocation( |
1085 InvocationExpression fromNode, InvocationExpression toNode) { | 1091 InvocationExpression fromNode, InvocationExpression toNode) { |
1086 DartType propagatedType = ElementFactory.classElement2("C").type; | 1092 DartType propagatedType = ElementFactory.classElement2("C").type; |
1087 fromNode.propagatedType = propagatedType; | 1093 fromNode.propagatedType = propagatedType; |
1088 DartType staticType = ElementFactory.classElement2("C").type; | 1094 DartType staticType = ElementFactory.classElement2("C").type; |
1089 fromNode.staticType = staticType; | 1095 fromNode.staticType = staticType; |
(...skipping 18 matching lines...) Expand all Loading... |
1108 } | 1114 } |
1109 } | 1115 } |
1110 } | 1116 } |
1111 } | 1117 } |
1112 | 1118 |
1113 @reflectiveTest | 1119 @reflectiveTest |
1114 class ToSourceVisitor2Test extends EngineTestCase { | 1120 class ToSourceVisitor2Test extends EngineTestCase { |
1115 void test_visitAdjacentStrings() { | 1121 void test_visitAdjacentStrings() { |
1116 _assertSource( | 1122 _assertSource( |
1117 "'a' 'b'", | 1123 "'a' 'b'", |
1118 AstFactory.adjacentStrings( | 1124 AstTestFactory.adjacentStrings( |
1119 [AstFactory.string2("a"), AstFactory.string2("b")])); | 1125 [AstTestFactory.string2("a"), AstTestFactory.string2("b")])); |
1120 } | 1126 } |
1121 | 1127 |
1122 void test_visitAnnotation_constant() { | 1128 void test_visitAnnotation_constant() { |
1123 _assertSource("@A", AstFactory.annotation(AstFactory.identifier3("A"))); | 1129 _assertSource( |
| 1130 "@A", AstTestFactory.annotation(AstTestFactory.identifier3("A"))); |
1124 } | 1131 } |
1125 | 1132 |
1126 void test_visitAnnotation_constructor() { | 1133 void test_visitAnnotation_constructor() { |
1127 _assertSource( | 1134 _assertSource( |
1128 "@A.c()", | 1135 "@A.c()", |
1129 AstFactory.annotation2(AstFactory.identifier3("A"), | 1136 AstTestFactory.annotation2(AstTestFactory.identifier3("A"), |
1130 AstFactory.identifier3("c"), AstFactory.argumentList())); | 1137 AstTestFactory.identifier3("c"), AstTestFactory.argumentList())); |
1131 } | 1138 } |
1132 | 1139 |
1133 void test_visitArgumentList() { | 1140 void test_visitArgumentList() { |
1134 _assertSource( | 1141 _assertSource( |
1135 "(a, b)", | 1142 "(a, b)", |
1136 AstFactory.argumentList( | 1143 AstTestFactory.argumentList([ |
1137 [AstFactory.identifier3("a"), AstFactory.identifier3("b")])); | 1144 AstTestFactory.identifier3("a"), |
| 1145 AstTestFactory.identifier3("b") |
| 1146 ])); |
1138 } | 1147 } |
1139 | 1148 |
1140 void test_visitAsExpression() { | 1149 void test_visitAsExpression() { |
1141 _assertSource( | 1150 _assertSource( |
1142 "e as T", | 1151 "e as T", |
1143 AstFactory.asExpression( | 1152 AstTestFactory.asExpression( |
1144 AstFactory.identifier3("e"), AstFactory.typeName4("T"))); | 1153 AstTestFactory.identifier3("e"), AstTestFactory.typeName4("T"))); |
1145 } | 1154 } |
1146 | 1155 |
1147 void test_visitAssertStatement() { | 1156 void test_visitAssertStatement() { |
1148 _assertSource( | 1157 _assertSource("assert (a);", |
1149 "assert (a);", AstFactory.assertStatement(AstFactory.identifier3("a"))); | 1158 AstTestFactory.assertStatement(AstTestFactory.identifier3("a"))); |
1150 } | 1159 } |
1151 | 1160 |
1152 void test_visitAssertStatement_withMessage() { | 1161 void test_visitAssertStatement_withMessage() { |
1153 _assertSource( | 1162 _assertSource( |
1154 "assert (a, b);", | 1163 "assert (a, b);", |
1155 AstFactory.assertStatement( | 1164 AstTestFactory.assertStatement( |
1156 AstFactory.identifier3("a"), AstFactory.identifier3('b'))); | 1165 AstTestFactory.identifier3("a"), AstTestFactory.identifier3('b'))); |
1157 } | 1166 } |
1158 | 1167 |
1159 void test_visitAssignmentExpression() { | 1168 void test_visitAssignmentExpression() { |
1160 _assertSource( | 1169 _assertSource( |
1161 "a = b", | 1170 "a = b", |
1162 AstFactory.assignmentExpression(AstFactory.identifier3("a"), | 1171 AstTestFactory.assignmentExpression(AstTestFactory.identifier3("a"), |
1163 TokenType.EQ, AstFactory.identifier3("b"))); | 1172 TokenType.EQ, AstTestFactory.identifier3("b"))); |
1164 } | 1173 } |
1165 | 1174 |
1166 void test_visitAwaitExpression() { | 1175 void test_visitAwaitExpression() { |
1167 _assertSource( | 1176 _assertSource("await e", |
1168 "await e", AstFactory.awaitExpression(AstFactory.identifier3("e"))); | 1177 AstTestFactory.awaitExpression(AstTestFactory.identifier3("e"))); |
1169 } | 1178 } |
1170 | 1179 |
1171 void test_visitBinaryExpression() { | 1180 void test_visitBinaryExpression() { |
1172 _assertSource( | 1181 _assertSource( |
1173 "a + b", | 1182 "a + b", |
1174 AstFactory.binaryExpression(AstFactory.identifier3("a"), TokenType.PLUS, | 1183 AstTestFactory.binaryExpression(AstTestFactory.identifier3("a"), |
1175 AstFactory.identifier3("b"))); | 1184 TokenType.PLUS, AstTestFactory.identifier3("b"))); |
1176 } | 1185 } |
1177 | 1186 |
1178 void test_visitBlock_empty() { | 1187 void test_visitBlock_empty() { |
1179 _assertSource("{}", AstFactory.block()); | 1188 _assertSource("{}", AstTestFactory.block()); |
1180 } | 1189 } |
1181 | 1190 |
1182 void test_visitBlock_nonEmpty() { | 1191 void test_visitBlock_nonEmpty() { |
1183 _assertSource( | 1192 _assertSource( |
1184 "{break; break;}", | 1193 "{break; break;}", |
1185 AstFactory | 1194 AstTestFactory.block([ |
1186 .block([AstFactory.breakStatement(), AstFactory.breakStatement()])); | 1195 AstTestFactory.breakStatement(), |
| 1196 AstTestFactory.breakStatement() |
| 1197 ])); |
1187 } | 1198 } |
1188 | 1199 |
1189 void test_visitBlockFunctionBody_async() { | 1200 void test_visitBlockFunctionBody_async() { |
1190 _assertSource("async {}", AstFactory.asyncBlockFunctionBody()); | 1201 _assertSource("async {}", AstTestFactory.asyncBlockFunctionBody()); |
1191 } | 1202 } |
1192 | 1203 |
1193 void test_visitBlockFunctionBody_async_star() { | 1204 void test_visitBlockFunctionBody_async_star() { |
1194 _assertSource("async* {}", AstFactory.asyncGeneratorBlockFunctionBody()); | 1205 _assertSource( |
| 1206 "async* {}", AstTestFactory.asyncGeneratorBlockFunctionBody()); |
1195 } | 1207 } |
1196 | 1208 |
1197 void test_visitBlockFunctionBody_simple() { | 1209 void test_visitBlockFunctionBody_simple() { |
1198 _assertSource("{}", AstFactory.blockFunctionBody2()); | 1210 _assertSource("{}", AstTestFactory.blockFunctionBody2()); |
1199 } | 1211 } |
1200 | 1212 |
1201 void test_visitBlockFunctionBody_sync() { | 1213 void test_visitBlockFunctionBody_sync() { |
1202 _assertSource("sync {}", AstFactory.syncBlockFunctionBody()); | 1214 _assertSource("sync {}", AstTestFactory.syncBlockFunctionBody()); |
1203 } | 1215 } |
1204 | 1216 |
1205 void test_visitBlockFunctionBody_sync_star() { | 1217 void test_visitBlockFunctionBody_sync_star() { |
1206 _assertSource("sync* {}", AstFactory.syncGeneratorBlockFunctionBody()); | 1218 _assertSource("sync* {}", AstTestFactory.syncGeneratorBlockFunctionBody()); |
1207 } | 1219 } |
1208 | 1220 |
1209 void test_visitBooleanLiteral_false() { | 1221 void test_visitBooleanLiteral_false() { |
1210 _assertSource("false", AstFactory.booleanLiteral(false)); | 1222 _assertSource("false", AstTestFactory.booleanLiteral(false)); |
1211 } | 1223 } |
1212 | 1224 |
1213 void test_visitBooleanLiteral_true() { | 1225 void test_visitBooleanLiteral_true() { |
1214 _assertSource("true", AstFactory.booleanLiteral(true)); | 1226 _assertSource("true", AstTestFactory.booleanLiteral(true)); |
1215 } | 1227 } |
1216 | 1228 |
1217 void test_visitBreakStatement_label() { | 1229 void test_visitBreakStatement_label() { |
1218 _assertSource("break l;", AstFactory.breakStatement2("l")); | 1230 _assertSource("break l;", AstTestFactory.breakStatement2("l")); |
1219 } | 1231 } |
1220 | 1232 |
1221 void test_visitBreakStatement_noLabel() { | 1233 void test_visitBreakStatement_noLabel() { |
1222 _assertSource("break;", AstFactory.breakStatement()); | 1234 _assertSource("break;", AstTestFactory.breakStatement()); |
1223 } | 1235 } |
1224 | 1236 |
1225 void test_visitCascadeExpression_field() { | 1237 void test_visitCascadeExpression_field() { |
1226 _assertSource( | 1238 _assertSource( |
1227 "a..b..c", | 1239 "a..b..c", |
1228 AstFactory.cascadeExpression(AstFactory.identifier3("a"), [ | 1240 AstTestFactory.cascadeExpression(AstTestFactory.identifier3("a"), [ |
1229 AstFactory.cascadedPropertyAccess("b"), | 1241 AstTestFactory.cascadedPropertyAccess("b"), |
1230 AstFactory.cascadedPropertyAccess("c") | 1242 AstTestFactory.cascadedPropertyAccess("c") |
1231 ])); | 1243 ])); |
1232 } | 1244 } |
1233 | 1245 |
1234 void test_visitCascadeExpression_index() { | 1246 void test_visitCascadeExpression_index() { |
1235 _assertSource( | 1247 _assertSource( |
1236 "a..[0]..[1]", | 1248 "a..[0]..[1]", |
1237 AstFactory.cascadeExpression(AstFactory.identifier3("a"), [ | 1249 AstTestFactory.cascadeExpression(AstTestFactory.identifier3("a"), [ |
1238 AstFactory.cascadedIndexExpression(AstFactory.integer(0)), | 1250 AstTestFactory.cascadedIndexExpression(AstTestFactory.integer(0)), |
1239 AstFactory.cascadedIndexExpression(AstFactory.integer(1)) | 1251 AstTestFactory.cascadedIndexExpression(AstTestFactory.integer(1)) |
1240 ])); | 1252 ])); |
1241 } | 1253 } |
1242 | 1254 |
1243 void test_visitCascadeExpression_method() { | 1255 void test_visitCascadeExpression_method() { |
1244 _assertSource( | 1256 _assertSource( |
1245 "a..b()..c()", | 1257 "a..b()..c()", |
1246 AstFactory.cascadeExpression(AstFactory.identifier3("a"), [ | 1258 AstTestFactory.cascadeExpression(AstTestFactory.identifier3("a"), [ |
1247 AstFactory.cascadedMethodInvocation("b"), | 1259 AstTestFactory.cascadedMethodInvocation("b"), |
1248 AstFactory.cascadedMethodInvocation("c") | 1260 AstTestFactory.cascadedMethodInvocation("c") |
1249 ])); | 1261 ])); |
1250 } | 1262 } |
1251 | 1263 |
1252 void test_visitCatchClause_catch_noStack() { | 1264 void test_visitCatchClause_catch_noStack() { |
1253 _assertSource("catch (e) {}", AstFactory.catchClause("e")); | 1265 _assertSource("catch (e) {}", AstTestFactory.catchClause("e")); |
1254 } | 1266 } |
1255 | 1267 |
1256 void test_visitCatchClause_catch_stack() { | 1268 void test_visitCatchClause_catch_stack() { |
1257 _assertSource("catch (e, s) {}", AstFactory.catchClause2("e", "s")); | 1269 _assertSource("catch (e, s) {}", AstTestFactory.catchClause2("e", "s")); |
1258 } | 1270 } |
1259 | 1271 |
1260 void test_visitCatchClause_on() { | 1272 void test_visitCatchClause_on() { |
1261 _assertSource( | 1273 _assertSource( |
1262 "on E {}", AstFactory.catchClause3(AstFactory.typeName4("E"))); | 1274 "on E {}", AstTestFactory.catchClause3(AstTestFactory.typeName4("E"))); |
1263 } | 1275 } |
1264 | 1276 |
1265 void test_visitCatchClause_on_catch() { | 1277 void test_visitCatchClause_on_catch() { |
1266 _assertSource("on E catch (e) {}", | 1278 _assertSource("on E catch (e) {}", |
1267 AstFactory.catchClause4(AstFactory.typeName4("E"), "e")); | 1279 AstTestFactory.catchClause4(AstTestFactory.typeName4("E"), "e")); |
1268 } | 1280 } |
1269 | 1281 |
1270 void test_visitClassDeclaration_abstract() { | 1282 void test_visitClassDeclaration_abstract() { |
1271 _assertSource( | 1283 _assertSource( |
1272 "abstract class C {}", | 1284 "abstract class C {}", |
1273 AstFactory.classDeclaration( | 1285 AstTestFactory.classDeclaration( |
1274 Keyword.ABSTRACT, "C", null, null, null, null)); | 1286 Keyword.ABSTRACT, "C", null, null, null, null)); |
1275 } | 1287 } |
1276 | 1288 |
1277 void test_visitClassDeclaration_empty() { | 1289 void test_visitClassDeclaration_empty() { |
1278 _assertSource("class C {}", | 1290 _assertSource("class C {}", |
1279 AstFactory.classDeclaration(null, "C", null, null, null, null)); | 1291 AstTestFactory.classDeclaration(null, "C", null, null, null, null)); |
1280 } | 1292 } |
1281 | 1293 |
1282 void test_visitClassDeclaration_extends() { | 1294 void test_visitClassDeclaration_extends() { |
1283 _assertSource( | 1295 _assertSource( |
1284 "class C extends A {}", | 1296 "class C extends A {}", |
1285 AstFactory.classDeclaration(null, "C", null, | 1297 AstTestFactory.classDeclaration( |
1286 AstFactory.extendsClause(AstFactory.typeName4("A")), null, null)); | 1298 null, |
| 1299 "C", |
| 1300 null, |
| 1301 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
| 1302 null, |
| 1303 null)); |
1287 } | 1304 } |
1288 | 1305 |
1289 void test_visitClassDeclaration_extends_implements() { | 1306 void test_visitClassDeclaration_extends_implements() { |
1290 _assertSource( | 1307 _assertSource( |
1291 "class C extends A implements B {}", | 1308 "class C extends A implements B {}", |
1292 AstFactory.classDeclaration( | 1309 AstTestFactory.classDeclaration( |
1293 null, | 1310 null, |
1294 "C", | 1311 "C", |
1295 null, | 1312 null, |
1296 AstFactory.extendsClause(AstFactory.typeName4("A")), | 1313 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
1297 null, | 1314 null, |
1298 AstFactory.implementsClause([AstFactory.typeName4("B")]))); | 1315 AstTestFactory.implementsClause([AstTestFactory.typeName4("B")]))); |
1299 } | 1316 } |
1300 | 1317 |
1301 void test_visitClassDeclaration_extends_with() { | 1318 void test_visitClassDeclaration_extends_with() { |
1302 _assertSource( | 1319 _assertSource( |
1303 "class C extends A with M {}", | 1320 "class C extends A with M {}", |
1304 AstFactory.classDeclaration( | 1321 AstTestFactory.classDeclaration( |
1305 null, | 1322 null, |
1306 "C", | 1323 "C", |
1307 null, | 1324 null, |
1308 AstFactory.extendsClause(AstFactory.typeName4("A")), | 1325 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
1309 AstFactory.withClause([AstFactory.typeName4("M")]), | 1326 AstTestFactory.withClause([AstTestFactory.typeName4("M")]), |
1310 null)); | 1327 null)); |
1311 } | 1328 } |
1312 | 1329 |
1313 void test_visitClassDeclaration_extends_with_implements() { | 1330 void test_visitClassDeclaration_extends_with_implements() { |
1314 _assertSource( | 1331 _assertSource( |
1315 "class C extends A with M implements B {}", | 1332 "class C extends A with M implements B {}", |
1316 AstFactory.classDeclaration( | 1333 AstTestFactory.classDeclaration( |
1317 null, | 1334 null, |
1318 "C", | 1335 "C", |
1319 null, | 1336 null, |
1320 AstFactory.extendsClause(AstFactory.typeName4("A")), | 1337 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
1321 AstFactory.withClause([AstFactory.typeName4("M")]), | 1338 AstTestFactory.withClause([AstTestFactory.typeName4("M")]), |
1322 AstFactory.implementsClause([AstFactory.typeName4("B")]))); | 1339 AstTestFactory.implementsClause([AstTestFactory.typeName4("B")]))); |
1323 } | 1340 } |
1324 | 1341 |
1325 void test_visitClassDeclaration_implements() { | 1342 void test_visitClassDeclaration_implements() { |
1326 _assertSource( | 1343 _assertSource( |
1327 "class C implements B {}", | 1344 "class C implements B {}", |
1328 AstFactory.classDeclaration(null, "C", null, null, null, | 1345 AstTestFactory.classDeclaration(null, "C", null, null, null, |
1329 AstFactory.implementsClause([AstFactory.typeName4("B")]))); | 1346 AstTestFactory.implementsClause([AstTestFactory.typeName4("B")]))); |
1330 } | 1347 } |
1331 | 1348 |
1332 void test_visitClassDeclaration_multipleMember() { | 1349 void test_visitClassDeclaration_multipleMember() { |
1333 _assertSource( | 1350 _assertSource( |
1334 "class C {var a; var b;}", | 1351 "class C {var a; var b;}", |
1335 AstFactory.classDeclaration(null, "C", null, null, null, null, [ | 1352 AstTestFactory.classDeclaration(null, "C", null, null, null, null, [ |
1336 AstFactory.fieldDeclaration2( | 1353 AstTestFactory.fieldDeclaration2( |
1337 false, Keyword.VAR, [AstFactory.variableDeclaration("a")]), | 1354 false, Keyword.VAR, [AstTestFactory.variableDeclaration("a")]), |
1338 AstFactory.fieldDeclaration2( | 1355 AstTestFactory.fieldDeclaration2( |
1339 false, Keyword.VAR, [AstFactory.variableDeclaration("b")]) | 1356 false, Keyword.VAR, [AstTestFactory.variableDeclaration("b")]) |
1340 ])); | 1357 ])); |
1341 } | 1358 } |
1342 | 1359 |
1343 void test_visitClassDeclaration_parameters() { | 1360 void test_visitClassDeclaration_parameters() { |
1344 _assertSource( | 1361 _assertSource( |
1345 "class C<E> {}", | 1362 "class C<E> {}", |
1346 AstFactory.classDeclaration( | 1363 AstTestFactory.classDeclaration(null, "C", |
1347 null, "C", AstFactory.typeParameterList(["E"]), null, null, null)); | 1364 AstTestFactory.typeParameterList(["E"]), null, null, null)); |
1348 } | 1365 } |
1349 | 1366 |
1350 void test_visitClassDeclaration_parameters_extends() { | 1367 void test_visitClassDeclaration_parameters_extends() { |
1351 _assertSource( | 1368 _assertSource( |
1352 "class C<E> extends A {}", | 1369 "class C<E> extends A {}", |
1353 AstFactory.classDeclaration( | 1370 AstTestFactory.classDeclaration( |
1354 null, | 1371 null, |
1355 "C", | 1372 "C", |
1356 AstFactory.typeParameterList(["E"]), | 1373 AstTestFactory.typeParameterList(["E"]), |
1357 AstFactory.extendsClause(AstFactory.typeName4("A")), | 1374 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
1358 null, | 1375 null, |
1359 null)); | 1376 null)); |
1360 } | 1377 } |
1361 | 1378 |
1362 void test_visitClassDeclaration_parameters_extends_implements() { | 1379 void test_visitClassDeclaration_parameters_extends_implements() { |
1363 _assertSource( | 1380 _assertSource( |
1364 "class C<E> extends A implements B {}", | 1381 "class C<E> extends A implements B {}", |
1365 AstFactory.classDeclaration( | 1382 AstTestFactory.classDeclaration( |
1366 null, | 1383 null, |
1367 "C", | 1384 "C", |
1368 AstFactory.typeParameterList(["E"]), | 1385 AstTestFactory.typeParameterList(["E"]), |
1369 AstFactory.extendsClause(AstFactory.typeName4("A")), | 1386 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
1370 null, | 1387 null, |
1371 AstFactory.implementsClause([AstFactory.typeName4("B")]))); | 1388 AstTestFactory.implementsClause([AstTestFactory.typeName4("B")]))); |
1372 } | 1389 } |
1373 | 1390 |
1374 void test_visitClassDeclaration_parameters_extends_with() { | 1391 void test_visitClassDeclaration_parameters_extends_with() { |
1375 _assertSource( | 1392 _assertSource( |
1376 "class C<E> extends A with M {}", | 1393 "class C<E> extends A with M {}", |
1377 AstFactory.classDeclaration( | 1394 AstTestFactory.classDeclaration( |
1378 null, | 1395 null, |
1379 "C", | 1396 "C", |
1380 AstFactory.typeParameterList(["E"]), | 1397 AstTestFactory.typeParameterList(["E"]), |
1381 AstFactory.extendsClause(AstFactory.typeName4("A")), | 1398 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
1382 AstFactory.withClause([AstFactory.typeName4("M")]), | 1399 AstTestFactory.withClause([AstTestFactory.typeName4("M")]), |
1383 null)); | 1400 null)); |
1384 } | 1401 } |
1385 | 1402 |
1386 void test_visitClassDeclaration_parameters_extends_with_implements() { | 1403 void test_visitClassDeclaration_parameters_extends_with_implements() { |
1387 _assertSource( | 1404 _assertSource( |
1388 "class C<E> extends A with M implements B {}", | 1405 "class C<E> extends A with M implements B {}", |
1389 AstFactory.classDeclaration( | 1406 AstTestFactory.classDeclaration( |
1390 null, | 1407 null, |
1391 "C", | 1408 "C", |
1392 AstFactory.typeParameterList(["E"]), | 1409 AstTestFactory.typeParameterList(["E"]), |
1393 AstFactory.extendsClause(AstFactory.typeName4("A")), | 1410 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
1394 AstFactory.withClause([AstFactory.typeName4("M")]), | 1411 AstTestFactory.withClause([AstTestFactory.typeName4("M")]), |
1395 AstFactory.implementsClause([AstFactory.typeName4("B")]))); | 1412 AstTestFactory.implementsClause([AstTestFactory.typeName4("B")]))); |
1396 } | 1413 } |
1397 | 1414 |
1398 void test_visitClassDeclaration_parameters_implements() { | 1415 void test_visitClassDeclaration_parameters_implements() { |
1399 _assertSource( | 1416 _assertSource( |
1400 "class C<E> implements B {}", | 1417 "class C<E> implements B {}", |
1401 AstFactory.classDeclaration( | 1418 AstTestFactory.classDeclaration( |
1402 null, | 1419 null, |
1403 "C", | 1420 "C", |
1404 AstFactory.typeParameterList(["E"]), | 1421 AstTestFactory.typeParameterList(["E"]), |
1405 null, | 1422 null, |
1406 null, | 1423 null, |
1407 AstFactory.implementsClause([AstFactory.typeName4("B")]))); | 1424 AstTestFactory.implementsClause([AstTestFactory.typeName4("B")]))); |
1408 } | 1425 } |
1409 | 1426 |
1410 void test_visitClassDeclaration_singleMember() { | 1427 void test_visitClassDeclaration_singleMember() { |
1411 _assertSource( | 1428 _assertSource( |
1412 "class C {var a;}", | 1429 "class C {var a;}", |
1413 AstFactory.classDeclaration(null, "C", null, null, null, null, [ | 1430 AstTestFactory.classDeclaration(null, "C", null, null, null, null, [ |
1414 AstFactory.fieldDeclaration2( | 1431 AstTestFactory.fieldDeclaration2( |
1415 false, Keyword.VAR, [AstFactory.variableDeclaration("a")]) | 1432 false, Keyword.VAR, [AstTestFactory.variableDeclaration("a")]) |
1416 ])); | 1433 ])); |
1417 } | 1434 } |
1418 | 1435 |
1419 void test_visitClassDeclaration_withMetadata() { | 1436 void test_visitClassDeclaration_withMetadata() { |
1420 ClassDeclaration declaration = | 1437 ClassDeclaration declaration = |
1421 AstFactory.classDeclaration(null, "C", null, null, null, null); | 1438 AstTestFactory.classDeclaration(null, "C", null, null, null, null); |
1422 declaration.metadata | 1439 declaration.metadata.add( |
1423 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 1440 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
1424 _assertSource("@deprecated class C {}", declaration); | 1441 _assertSource("@deprecated class C {}", declaration); |
1425 } | 1442 } |
1426 | 1443 |
1427 void test_visitClassTypeAlias_abstract() { | 1444 void test_visitClassTypeAlias_abstract() { |
1428 _assertSource( | 1445 _assertSource( |
1429 "abstract class C = S with M1;", | 1446 "abstract class C = S with M1;", |
1430 AstFactory.classTypeAlias( | 1447 AstTestFactory.classTypeAlias( |
1431 "C", | 1448 "C", |
1432 null, | 1449 null, |
1433 Keyword.ABSTRACT, | 1450 Keyword.ABSTRACT, |
1434 AstFactory.typeName4("S"), | 1451 AstTestFactory.typeName4("S"), |
1435 AstFactory.withClause([AstFactory.typeName4("M1")]), | 1452 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
1436 null)); | 1453 null)); |
1437 } | 1454 } |
1438 | 1455 |
1439 void test_visitClassTypeAlias_abstract_implements() { | 1456 void test_visitClassTypeAlias_abstract_implements() { |
1440 _assertSource( | 1457 _assertSource( |
1441 "abstract class C = S with M1 implements I;", | 1458 "abstract class C = S with M1 implements I;", |
1442 AstFactory.classTypeAlias( | 1459 AstTestFactory.classTypeAlias( |
1443 "C", | 1460 "C", |
1444 null, | 1461 null, |
1445 Keyword.ABSTRACT, | 1462 Keyword.ABSTRACT, |
1446 AstFactory.typeName4("S"), | 1463 AstTestFactory.typeName4("S"), |
1447 AstFactory.withClause([AstFactory.typeName4("M1")]), | 1464 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
1448 AstFactory.implementsClause([AstFactory.typeName4("I")]))); | 1465 AstTestFactory.implementsClause([AstTestFactory.typeName4("I")]))); |
1449 } | 1466 } |
1450 | 1467 |
1451 void test_visitClassTypeAlias_generic() { | 1468 void test_visitClassTypeAlias_generic() { |
1452 _assertSource( | 1469 _assertSource( |
1453 "class C<E> = S<E> with M1<E>;", | 1470 "class C<E> = S<E> with M1<E>;", |
1454 AstFactory.classTypeAlias( | 1471 AstTestFactory.classTypeAlias( |
1455 "C", | 1472 "C", |
1456 AstFactory.typeParameterList(["E"]), | 1473 AstTestFactory.typeParameterList(["E"]), |
1457 null, | 1474 null, |
1458 AstFactory.typeName4("S", [AstFactory.typeName4("E")]), | 1475 AstTestFactory.typeName4("S", [AstTestFactory.typeName4("E")]), |
1459 AstFactory.withClause([ | 1476 AstTestFactory.withClause([ |
1460 AstFactory.typeName4("M1", [AstFactory.typeName4("E")]) | 1477 AstTestFactory.typeName4("M1", [AstTestFactory.typeName4("E")]) |
1461 ]), | 1478 ]), |
1462 null)); | 1479 null)); |
1463 } | 1480 } |
1464 | 1481 |
1465 void test_visitClassTypeAlias_implements() { | 1482 void test_visitClassTypeAlias_implements() { |
1466 _assertSource( | 1483 _assertSource( |
1467 "class C = S with M1 implements I;", | 1484 "class C = S with M1 implements I;", |
1468 AstFactory.classTypeAlias( | 1485 AstTestFactory.classTypeAlias( |
1469 "C", | 1486 "C", |
1470 null, | 1487 null, |
1471 null, | 1488 null, |
1472 AstFactory.typeName4("S"), | 1489 AstTestFactory.typeName4("S"), |
1473 AstFactory.withClause([AstFactory.typeName4("M1")]), | 1490 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
1474 AstFactory.implementsClause([AstFactory.typeName4("I")]))); | 1491 AstTestFactory.implementsClause([AstTestFactory.typeName4("I")]))); |
1475 } | 1492 } |
1476 | 1493 |
1477 void test_visitClassTypeAlias_minimal() { | 1494 void test_visitClassTypeAlias_minimal() { |
1478 _assertSource( | 1495 _assertSource( |
1479 "class C = S with M1;", | 1496 "class C = S with M1;", |
1480 AstFactory.classTypeAlias("C", null, null, AstFactory.typeName4("S"), | 1497 AstTestFactory.classTypeAlias( |
1481 AstFactory.withClause([AstFactory.typeName4("M1")]), null)); | 1498 "C", |
| 1499 null, |
| 1500 null, |
| 1501 AstTestFactory.typeName4("S"), |
| 1502 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
| 1503 null)); |
1482 } | 1504 } |
1483 | 1505 |
1484 void test_visitClassTypeAlias_parameters_abstract() { | 1506 void test_visitClassTypeAlias_parameters_abstract() { |
1485 _assertSource( | 1507 _assertSource( |
1486 "abstract class C<E> = S with M1;", | 1508 "abstract class C<E> = S with M1;", |
1487 AstFactory.classTypeAlias( | 1509 AstTestFactory.classTypeAlias( |
1488 "C", | 1510 "C", |
1489 AstFactory.typeParameterList(["E"]), | 1511 AstTestFactory.typeParameterList(["E"]), |
1490 Keyword.ABSTRACT, | 1512 Keyword.ABSTRACT, |
1491 AstFactory.typeName4("S"), | 1513 AstTestFactory.typeName4("S"), |
1492 AstFactory.withClause([AstFactory.typeName4("M1")]), | 1514 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
1493 null)); | 1515 null)); |
1494 } | 1516 } |
1495 | 1517 |
1496 void test_visitClassTypeAlias_parameters_abstract_implements() { | 1518 void test_visitClassTypeAlias_parameters_abstract_implements() { |
1497 _assertSource( | 1519 _assertSource( |
1498 "abstract class C<E> = S with M1 implements I;", | 1520 "abstract class C<E> = S with M1 implements I;", |
1499 AstFactory.classTypeAlias( | 1521 AstTestFactory.classTypeAlias( |
1500 "C", | 1522 "C", |
1501 AstFactory.typeParameterList(["E"]), | 1523 AstTestFactory.typeParameterList(["E"]), |
1502 Keyword.ABSTRACT, | 1524 Keyword.ABSTRACT, |
1503 AstFactory.typeName4("S"), | 1525 AstTestFactory.typeName4("S"), |
1504 AstFactory.withClause([AstFactory.typeName4("M1")]), | 1526 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
1505 AstFactory.implementsClause([AstFactory.typeName4("I")]))); | 1527 AstTestFactory.implementsClause([AstTestFactory.typeName4("I")]))); |
1506 } | 1528 } |
1507 | 1529 |
1508 void test_visitClassTypeAlias_parameters_implements() { | 1530 void test_visitClassTypeAlias_parameters_implements() { |
1509 _assertSource( | 1531 _assertSource( |
1510 "class C<E> = S with M1 implements I;", | 1532 "class C<E> = S with M1 implements I;", |
1511 AstFactory.classTypeAlias( | 1533 AstTestFactory.classTypeAlias( |
1512 "C", | 1534 "C", |
1513 AstFactory.typeParameterList(["E"]), | 1535 AstTestFactory.typeParameterList(["E"]), |
1514 null, | 1536 null, |
1515 AstFactory.typeName4("S"), | 1537 AstTestFactory.typeName4("S"), |
1516 AstFactory.withClause([AstFactory.typeName4("M1")]), | 1538 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
1517 AstFactory.implementsClause([AstFactory.typeName4("I")]))); | 1539 AstTestFactory.implementsClause([AstTestFactory.typeName4("I")]))); |
1518 } | 1540 } |
1519 | 1541 |
1520 void test_visitClassTypeAlias_withMetadata() { | 1542 void test_visitClassTypeAlias_withMetadata() { |
1521 ClassTypeAlias declaration = AstFactory.classTypeAlias( | 1543 ClassTypeAlias declaration = AstTestFactory.classTypeAlias( |
1522 "C", | 1544 "C", |
1523 null, | 1545 null, |
1524 null, | 1546 null, |
1525 AstFactory.typeName4("S"), | 1547 AstTestFactory.typeName4("S"), |
1526 AstFactory.withClause([AstFactory.typeName4("M1")]), | 1548 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
1527 null); | 1549 null); |
1528 declaration.metadata | 1550 declaration.metadata.add( |
1529 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 1551 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
1530 _assertSource("@deprecated class C = S with M1;", declaration); | 1552 _assertSource("@deprecated class C = S with M1;", declaration); |
1531 } | 1553 } |
1532 | 1554 |
1533 void test_visitComment() { | 1555 void test_visitComment() { |
1534 _assertSource( | 1556 _assertSource( |
1535 "", | 1557 "", |
1536 Comment.createBlockComment( | 1558 Comment.createBlockComment( |
1537 <Token>[TokenFactory.tokenFromString("/* comment */")])); | 1559 <Token>[TokenFactory.tokenFromString("/* comment */")])); |
1538 } | 1560 } |
1539 | 1561 |
1540 void test_visitCommentReference() { | 1562 void test_visitCommentReference() { |
1541 _assertSource("", new CommentReference(null, AstFactory.identifier3("a"))); | 1563 _assertSource( |
| 1564 "", new CommentReference(null, AstTestFactory.identifier3("a"))); |
1542 } | 1565 } |
1543 | 1566 |
1544 void test_visitCompilationUnit_declaration() { | 1567 void test_visitCompilationUnit_declaration() { |
1545 _assertSource( | 1568 _assertSource( |
1546 "var a;", | 1569 "var a;", |
1547 AstFactory.compilationUnit2([ | 1570 AstTestFactory.compilationUnit2([ |
1548 AstFactory.topLevelVariableDeclaration2( | 1571 AstTestFactory.topLevelVariableDeclaration2( |
1549 Keyword.VAR, [AstFactory.variableDeclaration("a")]) | 1572 Keyword.VAR, [AstTestFactory.variableDeclaration("a")]) |
1550 ])); | 1573 ])); |
1551 } | 1574 } |
1552 | 1575 |
1553 void test_visitCompilationUnit_directive() { | 1576 void test_visitCompilationUnit_directive() { |
1554 _assertSource("library l;", | 1577 _assertSource( |
1555 AstFactory.compilationUnit3([AstFactory.libraryDirective2("l")])); | 1578 "library l;", |
| 1579 AstTestFactory |
| 1580 .compilationUnit3([AstTestFactory.libraryDirective2("l")])); |
1556 } | 1581 } |
1557 | 1582 |
1558 void test_visitCompilationUnit_directive_declaration() { | 1583 void test_visitCompilationUnit_directive_declaration() { |
1559 _assertSource( | 1584 _assertSource( |
1560 "library l; var a;", | 1585 "library l; var a;", |
1561 AstFactory.compilationUnit4([ | 1586 AstTestFactory.compilationUnit4([ |
1562 AstFactory.libraryDirective2("l") | 1587 AstTestFactory.libraryDirective2("l") |
1563 ], [ | 1588 ], [ |
1564 AstFactory.topLevelVariableDeclaration2( | 1589 AstTestFactory.topLevelVariableDeclaration2( |
1565 Keyword.VAR, [AstFactory.variableDeclaration("a")]) | 1590 Keyword.VAR, [AstTestFactory.variableDeclaration("a")]) |
1566 ])); | 1591 ])); |
1567 } | 1592 } |
1568 | 1593 |
1569 void test_visitCompilationUnit_empty() { | 1594 void test_visitCompilationUnit_empty() { |
1570 _assertSource("", AstFactory.compilationUnit()); | 1595 _assertSource("", AstTestFactory.compilationUnit()); |
1571 } | 1596 } |
1572 | 1597 |
1573 void test_visitCompilationUnit_script() { | 1598 void test_visitCompilationUnit_script() { |
1574 _assertSource( | 1599 _assertSource( |
1575 "!#/bin/dartvm", AstFactory.compilationUnit5("!#/bin/dartvm")); | 1600 "!#/bin/dartvm", AstTestFactory.compilationUnit5("!#/bin/dartvm")); |
1576 } | 1601 } |
1577 | 1602 |
1578 void test_visitCompilationUnit_script_declaration() { | 1603 void test_visitCompilationUnit_script_declaration() { |
1579 _assertSource( | 1604 _assertSource( |
1580 "!#/bin/dartvm var a;", | 1605 "!#/bin/dartvm var a;", |
1581 AstFactory.compilationUnit6("!#/bin/dartvm", [ | 1606 AstTestFactory.compilationUnit6("!#/bin/dartvm", [ |
1582 AstFactory.topLevelVariableDeclaration2( | 1607 AstTestFactory.topLevelVariableDeclaration2( |
1583 Keyword.VAR, [AstFactory.variableDeclaration("a")]) | 1608 Keyword.VAR, [AstTestFactory.variableDeclaration("a")]) |
1584 ])); | 1609 ])); |
1585 } | 1610 } |
1586 | 1611 |
1587 void test_visitCompilationUnit_script_directive() { | 1612 void test_visitCompilationUnit_script_directive() { |
1588 _assertSource( | 1613 _assertSource( |
1589 "!#/bin/dartvm library l;", | 1614 "!#/bin/dartvm library l;", |
1590 AstFactory.compilationUnit7( | 1615 AstTestFactory.compilationUnit7( |
1591 "!#/bin/dartvm", [AstFactory.libraryDirective2("l")])); | 1616 "!#/bin/dartvm", [AstTestFactory.libraryDirective2("l")])); |
1592 } | 1617 } |
1593 | 1618 |
1594 void test_visitCompilationUnit_script_directives_declarations() { | 1619 void test_visitCompilationUnit_script_directives_declarations() { |
1595 _assertSource( | 1620 _assertSource( |
1596 "!#/bin/dartvm library l; var a;", | 1621 "!#/bin/dartvm library l; var a;", |
1597 AstFactory.compilationUnit8("!#/bin/dartvm", [ | 1622 AstTestFactory.compilationUnit8("!#/bin/dartvm", [ |
1598 AstFactory.libraryDirective2("l") | 1623 AstTestFactory.libraryDirective2("l") |
1599 ], [ | 1624 ], [ |
1600 AstFactory.topLevelVariableDeclaration2( | 1625 AstTestFactory.topLevelVariableDeclaration2( |
1601 Keyword.VAR, [AstFactory.variableDeclaration("a")]) | 1626 Keyword.VAR, [AstTestFactory.variableDeclaration("a")]) |
1602 ])); | 1627 ])); |
1603 } | 1628 } |
1604 | 1629 |
1605 void test_visitConditionalExpression() { | 1630 void test_visitConditionalExpression() { |
1606 _assertSource( | 1631 _assertSource( |
1607 "a ? b : c", | 1632 "a ? b : c", |
1608 AstFactory.conditionalExpression(AstFactory.identifier3("a"), | 1633 AstTestFactory.conditionalExpression(AstTestFactory.identifier3("a"), |
1609 AstFactory.identifier3("b"), AstFactory.identifier3("c"))); | 1634 AstTestFactory.identifier3("b"), AstTestFactory.identifier3("c"))); |
1610 } | 1635 } |
1611 | 1636 |
1612 void test_visitConstructorDeclaration_const() { | 1637 void test_visitConstructorDeclaration_const() { |
1613 _assertSource( | 1638 _assertSource( |
1614 "const C() {}", | 1639 "const C() {}", |
1615 AstFactory.constructorDeclaration2( | 1640 AstTestFactory.constructorDeclaration2( |
1616 Keyword.CONST, | 1641 Keyword.CONST, |
1617 null, | 1642 null, |
1618 AstFactory.identifier3("C"), | 1643 AstTestFactory.identifier3("C"), |
1619 null, | 1644 null, |
1620 AstFactory.formalParameterList(), | 1645 AstTestFactory.formalParameterList(), |
1621 null, | 1646 null, |
1622 AstFactory.blockFunctionBody2())); | 1647 AstTestFactory.blockFunctionBody2())); |
1623 } | 1648 } |
1624 | 1649 |
1625 void test_visitConstructorDeclaration_external() { | 1650 void test_visitConstructorDeclaration_external() { |
1626 _assertSource( | 1651 _assertSource( |
1627 "external C();", | 1652 "external C();", |
1628 AstFactory.constructorDeclaration(AstFactory.identifier3("C"), null, | 1653 AstTestFactory.constructorDeclaration(AstTestFactory.identifier3("C"), |
1629 AstFactory.formalParameterList(), null)); | 1654 null, AstTestFactory.formalParameterList(), null)); |
1630 } | 1655 } |
1631 | 1656 |
1632 void test_visitConstructorDeclaration_minimal() { | 1657 void test_visitConstructorDeclaration_minimal() { |
1633 _assertSource( | 1658 _assertSource( |
1634 "C() {}", | 1659 "C() {}", |
1635 AstFactory.constructorDeclaration2( | 1660 AstTestFactory.constructorDeclaration2( |
1636 null, | 1661 null, |
1637 null, | 1662 null, |
1638 AstFactory.identifier3("C"), | 1663 AstTestFactory.identifier3("C"), |
1639 null, | 1664 null, |
1640 AstFactory.formalParameterList(), | 1665 AstTestFactory.formalParameterList(), |
1641 null, | 1666 null, |
1642 AstFactory.blockFunctionBody2())); | 1667 AstTestFactory.blockFunctionBody2())); |
1643 } | 1668 } |
1644 | 1669 |
1645 void test_visitConstructorDeclaration_multipleInitializers() { | 1670 void test_visitConstructorDeclaration_multipleInitializers() { |
1646 _assertSource( | 1671 _assertSource( |
1647 "C() : a = b, c = d {}", | 1672 "C() : a = b, c = d {}", |
1648 AstFactory.constructorDeclaration2( | 1673 AstTestFactory.constructorDeclaration2( |
1649 null, | 1674 null, |
1650 null, | 1675 null, |
1651 AstFactory.identifier3("C"), | 1676 AstTestFactory.identifier3("C"), |
1652 null, | 1677 null, |
1653 AstFactory.formalParameterList(), | 1678 AstTestFactory.formalParameterList(), |
1654 [ | 1679 [ |
1655 AstFactory.constructorFieldInitializer( | 1680 AstTestFactory.constructorFieldInitializer( |
1656 false, "a", AstFactory.identifier3("b")), | 1681 false, "a", AstTestFactory.identifier3("b")), |
1657 AstFactory.constructorFieldInitializer( | 1682 AstTestFactory.constructorFieldInitializer( |
1658 false, "c", AstFactory.identifier3("d")) | 1683 false, "c", AstTestFactory.identifier3("d")) |
1659 ], | 1684 ], |
1660 AstFactory.blockFunctionBody2())); | 1685 AstTestFactory.blockFunctionBody2())); |
1661 } | 1686 } |
1662 | 1687 |
1663 void test_visitConstructorDeclaration_multipleParameters() { | 1688 void test_visitConstructorDeclaration_multipleParameters() { |
1664 _assertSource( | 1689 _assertSource( |
1665 "C(var a, var b) {}", | 1690 "C(var a, var b) {}", |
1666 AstFactory.constructorDeclaration2( | 1691 AstTestFactory.constructorDeclaration2( |
1667 null, | 1692 null, |
1668 null, | 1693 null, |
1669 AstFactory.identifier3("C"), | 1694 AstTestFactory.identifier3("C"), |
1670 null, | 1695 null, |
1671 AstFactory.formalParameterList([ | 1696 AstTestFactory.formalParameterList([ |
1672 AstFactory.simpleFormalParameter(Keyword.VAR, "a"), | 1697 AstTestFactory.simpleFormalParameter(Keyword.VAR, "a"), |
1673 AstFactory.simpleFormalParameter(Keyword.VAR, "b") | 1698 AstTestFactory.simpleFormalParameter(Keyword.VAR, "b") |
1674 ]), | 1699 ]), |
1675 null, | 1700 null, |
1676 AstFactory.blockFunctionBody2())); | 1701 AstTestFactory.blockFunctionBody2())); |
1677 } | 1702 } |
1678 | 1703 |
1679 void test_visitConstructorDeclaration_named() { | 1704 void test_visitConstructorDeclaration_named() { |
1680 _assertSource( | 1705 _assertSource( |
1681 "C.m() {}", | 1706 "C.m() {}", |
1682 AstFactory.constructorDeclaration2( | 1707 AstTestFactory.constructorDeclaration2( |
1683 null, | 1708 null, |
1684 null, | 1709 null, |
1685 AstFactory.identifier3("C"), | 1710 AstTestFactory.identifier3("C"), |
1686 "m", | 1711 "m", |
1687 AstFactory.formalParameterList(), | 1712 AstTestFactory.formalParameterList(), |
1688 null, | 1713 null, |
1689 AstFactory.blockFunctionBody2())); | 1714 AstTestFactory.blockFunctionBody2())); |
1690 } | 1715 } |
1691 | 1716 |
1692 void test_visitConstructorDeclaration_singleInitializer() { | 1717 void test_visitConstructorDeclaration_singleInitializer() { |
1693 _assertSource( | 1718 _assertSource( |
1694 "C() : a = b {}", | 1719 "C() : a = b {}", |
1695 AstFactory.constructorDeclaration2( | 1720 AstTestFactory.constructorDeclaration2( |
1696 null, | 1721 null, |
1697 null, | 1722 null, |
1698 AstFactory.identifier3("C"), | 1723 AstTestFactory.identifier3("C"), |
1699 null, | 1724 null, |
1700 AstFactory.formalParameterList(), | 1725 AstTestFactory.formalParameterList(), |
1701 [ | 1726 [ |
1702 AstFactory.constructorFieldInitializer( | 1727 AstTestFactory.constructorFieldInitializer( |
1703 false, "a", AstFactory.identifier3("b")) | 1728 false, "a", AstTestFactory.identifier3("b")) |
1704 ], | 1729 ], |
1705 AstFactory.blockFunctionBody2())); | 1730 AstTestFactory.blockFunctionBody2())); |
1706 } | 1731 } |
1707 | 1732 |
1708 void test_visitConstructorDeclaration_withMetadata() { | 1733 void test_visitConstructorDeclaration_withMetadata() { |
1709 ConstructorDeclaration declaration = AstFactory.constructorDeclaration2( | 1734 ConstructorDeclaration declaration = AstTestFactory.constructorDeclaration2( |
1710 null, | 1735 null, |
1711 null, | 1736 null, |
1712 AstFactory.identifier3("C"), | 1737 AstTestFactory.identifier3("C"), |
1713 null, | 1738 null, |
1714 AstFactory.formalParameterList(), | 1739 AstTestFactory.formalParameterList(), |
1715 null, | 1740 null, |
1716 AstFactory.blockFunctionBody2()); | 1741 AstTestFactory.blockFunctionBody2()); |
1717 declaration.metadata | 1742 declaration.metadata.add( |
1718 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 1743 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
1719 _assertSource("@deprecated C() {}", declaration); | 1744 _assertSource("@deprecated C() {}", declaration); |
1720 } | 1745 } |
1721 | 1746 |
1722 void test_visitConstructorFieldInitializer_withoutThis() { | 1747 void test_visitConstructorFieldInitializer_withoutThis() { |
1723 _assertSource( | 1748 _assertSource( |
1724 "a = b", | 1749 "a = b", |
1725 AstFactory.constructorFieldInitializer( | 1750 AstTestFactory.constructorFieldInitializer( |
1726 false, "a", AstFactory.identifier3("b"))); | 1751 false, "a", AstTestFactory.identifier3("b"))); |
1727 } | 1752 } |
1728 | 1753 |
1729 void test_visitConstructorFieldInitializer_withThis() { | 1754 void test_visitConstructorFieldInitializer_withThis() { |
1730 _assertSource( | 1755 _assertSource( |
1731 "this.a = b", | 1756 "this.a = b", |
1732 AstFactory.constructorFieldInitializer( | 1757 AstTestFactory.constructorFieldInitializer( |
1733 true, "a", AstFactory.identifier3("b"))); | 1758 true, "a", AstTestFactory.identifier3("b"))); |
1734 } | 1759 } |
1735 | 1760 |
1736 void test_visitConstructorName_named_prefix() { | 1761 void test_visitConstructorName_named_prefix() { |
1737 _assertSource("p.C.n", | 1762 _assertSource( |
1738 AstFactory.constructorName(AstFactory.typeName4("p.C.n"), null)); | 1763 "p.C.n", |
| 1764 AstTestFactory.constructorName( |
| 1765 AstTestFactory.typeName4("p.C.n"), null)); |
1739 } | 1766 } |
1740 | 1767 |
1741 void test_visitConstructorName_unnamed_noPrefix() { | 1768 void test_visitConstructorName_unnamed_noPrefix() { |
1742 _assertSource( | 1769 _assertSource("C", |
1743 "C", AstFactory.constructorName(AstFactory.typeName4("C"), null)); | 1770 AstTestFactory.constructorName(AstTestFactory.typeName4("C"), null)); |
1744 } | 1771 } |
1745 | 1772 |
1746 void test_visitConstructorName_unnamed_prefix() { | 1773 void test_visitConstructorName_unnamed_prefix() { |
1747 _assertSource( | 1774 _assertSource( |
1748 "p.C", | 1775 "p.C", |
1749 AstFactory.constructorName( | 1776 AstTestFactory.constructorName( |
1750 AstFactory.typeName3(AstFactory.identifier5("p", "C")), null)); | 1777 AstTestFactory.typeName3(AstTestFactory.identifier5("p", "C")), |
| 1778 null)); |
1751 } | 1779 } |
1752 | 1780 |
1753 void test_visitContinueStatement_label() { | 1781 void test_visitContinueStatement_label() { |
1754 _assertSource("continue l;", AstFactory.continueStatement("l")); | 1782 _assertSource("continue l;", AstTestFactory.continueStatement("l")); |
1755 } | 1783 } |
1756 | 1784 |
1757 void test_visitContinueStatement_noLabel() { | 1785 void test_visitContinueStatement_noLabel() { |
1758 _assertSource("continue;", AstFactory.continueStatement()); | 1786 _assertSource("continue;", AstTestFactory.continueStatement()); |
1759 } | 1787 } |
1760 | 1788 |
1761 void test_visitDefaultFormalParameter_annotation() { | 1789 void test_visitDefaultFormalParameter_annotation() { |
1762 DefaultFormalParameter parameter = AstFactory.positionalFormalParameter( | 1790 DefaultFormalParameter parameter = AstTestFactory.positionalFormalParameter( |
1763 AstFactory.simpleFormalParameter3("p"), AstFactory.integer(0)); | 1791 AstTestFactory.simpleFormalParameter3("p"), AstTestFactory.integer(0)); |
1764 parameter.metadata.add(AstFactory.annotation(AstFactory.identifier3("A"))); | 1792 parameter.metadata |
| 1793 .add(AstTestFactory.annotation(AstTestFactory.identifier3("A"))); |
1765 _assertSource('@A p = 0', parameter); | 1794 _assertSource('@A p = 0', parameter); |
1766 } | 1795 } |
1767 | 1796 |
1768 void test_visitDefaultFormalParameter_named_noValue() { | 1797 void test_visitDefaultFormalParameter_named_noValue() { |
1769 _assertSource( | 1798 _assertSource( |
1770 "p", | 1799 "p", |
1771 AstFactory.namedFormalParameter( | 1800 AstTestFactory.namedFormalParameter( |
1772 AstFactory.simpleFormalParameter3("p"), null)); | 1801 AstTestFactory.simpleFormalParameter3("p"), null)); |
1773 } | 1802 } |
1774 | 1803 |
1775 void test_visitDefaultFormalParameter_named_value() { | 1804 void test_visitDefaultFormalParameter_named_value() { |
1776 _assertSource( | 1805 _assertSource( |
1777 "p : 0", | 1806 "p : 0", |
1778 AstFactory.namedFormalParameter( | 1807 AstTestFactory.namedFormalParameter( |
1779 AstFactory.simpleFormalParameter3("p"), AstFactory.integer(0))); | 1808 AstTestFactory.simpleFormalParameter3("p"), |
| 1809 AstTestFactory.integer(0))); |
1780 } | 1810 } |
1781 | 1811 |
1782 void test_visitDefaultFormalParameter_positional_noValue() { | 1812 void test_visitDefaultFormalParameter_positional_noValue() { |
1783 _assertSource( | 1813 _assertSource( |
1784 "p", | 1814 "p", |
1785 AstFactory.positionalFormalParameter( | 1815 AstTestFactory.positionalFormalParameter( |
1786 AstFactory.simpleFormalParameter3("p"), null)); | 1816 AstTestFactory.simpleFormalParameter3("p"), null)); |
1787 } | 1817 } |
1788 | 1818 |
1789 void test_visitDefaultFormalParameter_positional_value() { | 1819 void test_visitDefaultFormalParameter_positional_value() { |
1790 _assertSource( | 1820 _assertSource( |
1791 "p = 0", | 1821 "p = 0", |
1792 AstFactory.positionalFormalParameter( | 1822 AstTestFactory.positionalFormalParameter( |
1793 AstFactory.simpleFormalParameter3("p"), AstFactory.integer(0))); | 1823 AstTestFactory.simpleFormalParameter3("p"), |
| 1824 AstTestFactory.integer(0))); |
1794 } | 1825 } |
1795 | 1826 |
1796 void test_visitDoStatement() { | 1827 void test_visitDoStatement() { |
1797 _assertSource( | 1828 _assertSource( |
1798 "do {} while (c);", | 1829 "do {} while (c);", |
1799 AstFactory.doStatement( | 1830 AstTestFactory.doStatement( |
1800 AstFactory.block(), AstFactory.identifier3("c"))); | 1831 AstTestFactory.block(), AstTestFactory.identifier3("c"))); |
1801 } | 1832 } |
1802 | 1833 |
1803 void test_visitDoubleLiteral() { | 1834 void test_visitDoubleLiteral() { |
1804 _assertSource("4.2", AstFactory.doubleLiteral(4.2)); | 1835 _assertSource("4.2", AstTestFactory.doubleLiteral(4.2)); |
1805 } | 1836 } |
1806 | 1837 |
1807 void test_visitEmptyFunctionBody() { | 1838 void test_visitEmptyFunctionBody() { |
1808 _assertSource(";", AstFactory.emptyFunctionBody()); | 1839 _assertSource(";", AstTestFactory.emptyFunctionBody()); |
1809 } | 1840 } |
1810 | 1841 |
1811 void test_visitEmptyStatement() { | 1842 void test_visitEmptyStatement() { |
1812 _assertSource(";", AstFactory.emptyStatement()); | 1843 _assertSource(";", AstTestFactory.emptyStatement()); |
1813 } | 1844 } |
1814 | 1845 |
1815 void test_visitEnumDeclaration_multiple() { | 1846 void test_visitEnumDeclaration_multiple() { |
1816 _assertSource( | 1847 _assertSource("enum E {ONE, TWO}", |
1817 "enum E {ONE, TWO}", AstFactory.enumDeclaration2("E", ["ONE", "TWO"])); | 1848 AstTestFactory.enumDeclaration2("E", ["ONE", "TWO"])); |
1818 } | 1849 } |
1819 | 1850 |
1820 void test_visitEnumDeclaration_single() { | 1851 void test_visitEnumDeclaration_single() { |
1821 _assertSource("enum E {ONE}", AstFactory.enumDeclaration2("E", ["ONE"])); | 1852 _assertSource( |
| 1853 "enum E {ONE}", AstTestFactory.enumDeclaration2("E", ["ONE"])); |
1822 } | 1854 } |
1823 | 1855 |
1824 void test_visitExportDirective_combinator() { | 1856 void test_visitExportDirective_combinator() { |
1825 _assertSource( | 1857 _assertSource( |
1826 "export 'a.dart' show A;", | 1858 "export 'a.dart' show A;", |
1827 AstFactory.exportDirective2("a.dart", [ | 1859 AstTestFactory.exportDirective2("a.dart", [ |
1828 AstFactory.showCombinator([AstFactory.identifier3("A")]) | 1860 AstTestFactory.showCombinator([AstTestFactory.identifier3("A")]) |
1829 ])); | 1861 ])); |
1830 } | 1862 } |
1831 | 1863 |
1832 void test_visitExportDirective_combinators() { | 1864 void test_visitExportDirective_combinators() { |
1833 _assertSource( | 1865 _assertSource( |
1834 "export 'a.dart' show A hide B;", | 1866 "export 'a.dart' show A hide B;", |
1835 AstFactory.exportDirective2("a.dart", [ | 1867 AstTestFactory.exportDirective2("a.dart", [ |
1836 AstFactory.showCombinator([AstFactory.identifier3("A")]), | 1868 AstTestFactory.showCombinator([AstTestFactory.identifier3("A")]), |
1837 AstFactory.hideCombinator([AstFactory.identifier3("B")]) | 1869 AstTestFactory.hideCombinator([AstTestFactory.identifier3("B")]) |
1838 ])); | 1870 ])); |
1839 } | 1871 } |
1840 | 1872 |
1841 void test_visitExportDirective_minimal() { | 1873 void test_visitExportDirective_minimal() { |
1842 _assertSource("export 'a.dart';", AstFactory.exportDirective2("a.dart")); | 1874 _assertSource( |
| 1875 "export 'a.dart';", AstTestFactory.exportDirective2("a.dart")); |
1843 } | 1876 } |
1844 | 1877 |
1845 void test_visitExportDirective_withMetadata() { | 1878 void test_visitExportDirective_withMetadata() { |
1846 ExportDirective directive = AstFactory.exportDirective2("a.dart"); | 1879 ExportDirective directive = AstTestFactory.exportDirective2("a.dart"); |
1847 directive.metadata | 1880 directive.metadata.add( |
1848 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 1881 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
1849 _assertSource("@deprecated export 'a.dart';", directive); | 1882 _assertSource("@deprecated export 'a.dart';", directive); |
1850 } | 1883 } |
1851 | 1884 |
1852 void test_visitExpressionFunctionBody_async() { | 1885 void test_visitExpressionFunctionBody_async() { |
1853 _assertSource("async => a;", | 1886 _assertSource( |
1854 AstFactory.asyncExpressionFunctionBody(AstFactory.identifier3("a"))); | 1887 "async => a;", |
| 1888 AstTestFactory |
| 1889 .asyncExpressionFunctionBody(AstTestFactory.identifier3("a"))); |
1855 } | 1890 } |
1856 | 1891 |
1857 void test_visitExpressionFunctionBody_simple() { | 1892 void test_visitExpressionFunctionBody_simple() { |
1858 _assertSource("=> a;", | 1893 _assertSource("=> a;", |
1859 AstFactory.expressionFunctionBody(AstFactory.identifier3("a"))); | 1894 AstTestFactory.expressionFunctionBody(AstTestFactory.identifier3("a"))); |
1860 } | 1895 } |
1861 | 1896 |
1862 void test_visitExpressionStatement() { | 1897 void test_visitExpressionStatement() { |
1863 _assertSource( | 1898 _assertSource("a;", |
1864 "a;", AstFactory.expressionStatement(AstFactory.identifier3("a"))); | 1899 AstTestFactory.expressionStatement(AstTestFactory.identifier3("a"))); |
1865 } | 1900 } |
1866 | 1901 |
1867 void test_visitExtendsClause() { | 1902 void test_visitExtendsClause() { |
1868 _assertSource( | 1903 _assertSource("extends C", |
1869 "extends C", AstFactory.extendsClause(AstFactory.typeName4("C"))); | 1904 AstTestFactory.extendsClause(AstTestFactory.typeName4("C"))); |
1870 } | 1905 } |
1871 | 1906 |
1872 void test_visitFieldDeclaration_instance() { | 1907 void test_visitFieldDeclaration_instance() { |
1873 _assertSource( | 1908 _assertSource( |
1874 "var a;", | 1909 "var a;", |
1875 AstFactory.fieldDeclaration2( | 1910 AstTestFactory.fieldDeclaration2( |
1876 false, Keyword.VAR, [AstFactory.variableDeclaration("a")])); | 1911 false, Keyword.VAR, [AstTestFactory.variableDeclaration("a")])); |
1877 } | 1912 } |
1878 | 1913 |
1879 void test_visitFieldDeclaration_static() { | 1914 void test_visitFieldDeclaration_static() { |
1880 _assertSource( | 1915 _assertSource( |
1881 "static var a;", | 1916 "static var a;", |
1882 AstFactory.fieldDeclaration2( | 1917 AstTestFactory.fieldDeclaration2( |
1883 true, Keyword.VAR, [AstFactory.variableDeclaration("a")])); | 1918 true, Keyword.VAR, [AstTestFactory.variableDeclaration("a")])); |
1884 } | 1919 } |
1885 | 1920 |
1886 void test_visitFieldDeclaration_withMetadata() { | 1921 void test_visitFieldDeclaration_withMetadata() { |
1887 FieldDeclaration declaration = AstFactory.fieldDeclaration2( | 1922 FieldDeclaration declaration = AstTestFactory.fieldDeclaration2( |
1888 false, Keyword.VAR, [AstFactory.variableDeclaration("a")]); | 1923 false, Keyword.VAR, [AstTestFactory.variableDeclaration("a")]); |
1889 declaration.metadata | 1924 declaration.metadata.add( |
1890 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 1925 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
1891 _assertSource("@deprecated var a;", declaration); | 1926 _assertSource("@deprecated var a;", declaration); |
1892 } | 1927 } |
1893 | 1928 |
1894 void test_visitFieldFormalParameter_annotation() { | 1929 void test_visitFieldFormalParameter_annotation() { |
1895 FieldFormalParameter parameter = AstFactory.fieldFormalParameter2('f'); | 1930 FieldFormalParameter parameter = AstTestFactory.fieldFormalParameter2('f'); |
1896 parameter.metadata.add(AstFactory.annotation(AstFactory.identifier3("A"))); | 1931 parameter.metadata |
| 1932 .add(AstTestFactory.annotation(AstTestFactory.identifier3("A"))); |
1897 _assertSource('@A this.f', parameter); | 1933 _assertSource('@A this.f', parameter); |
1898 } | 1934 } |
1899 | 1935 |
1900 void test_visitFieldFormalParameter_functionTyped() { | 1936 void test_visitFieldFormalParameter_functionTyped() { |
1901 _assertSource( | 1937 _assertSource( |
1902 "A this.a(b)", | 1938 "A this.a(b)", |
1903 AstFactory.fieldFormalParameter( | 1939 AstTestFactory.fieldFormalParameter( |
1904 null, | 1940 null, |
1905 AstFactory.typeName4("A"), | 1941 AstTestFactory.typeName4("A"), |
1906 "a", | 1942 "a", |
1907 AstFactory.formalParameterList( | 1943 AstTestFactory.formalParameterList( |
1908 [AstFactory.simpleFormalParameter3("b")]))); | 1944 [AstTestFactory.simpleFormalParameter3("b")]))); |
1909 } | 1945 } |
1910 | 1946 |
1911 void test_visitFieldFormalParameter_functionTyped_typeParameters() { | 1947 void test_visitFieldFormalParameter_functionTyped_typeParameters() { |
1912 _assertSource( | 1948 _assertSource( |
1913 "A this.a<E, F>(b)", | 1949 "A this.a<E, F>(b)", |
1914 new FieldFormalParameter( | 1950 new FieldFormalParameter( |
1915 null, | 1951 null, |
1916 null, | 1952 null, |
1917 null, | 1953 null, |
1918 AstFactory.typeName4('A'), | 1954 AstTestFactory.typeName4('A'), |
1919 TokenFactory.tokenFromKeyword(Keyword.THIS), | 1955 TokenFactory.tokenFromKeyword(Keyword.THIS), |
1920 TokenFactory.tokenFromType(TokenType.PERIOD), | 1956 TokenFactory.tokenFromType(TokenType.PERIOD), |
1921 AstFactory.identifier3('a'), | 1957 AstTestFactory.identifier3('a'), |
1922 AstFactory.typeParameterList(['E', 'F']), | 1958 AstTestFactory.typeParameterList(['E', 'F']), |
1923 AstFactory.formalParameterList( | 1959 AstTestFactory.formalParameterList( |
1924 [AstFactory.simpleFormalParameter3("b")]))); | 1960 [AstTestFactory.simpleFormalParameter3("b")]))); |
1925 } | 1961 } |
1926 | 1962 |
1927 void test_visitFieldFormalParameter_keyword() { | 1963 void test_visitFieldFormalParameter_keyword() { |
1928 _assertSource( | 1964 _assertSource("var this.a", |
1929 "var this.a", AstFactory.fieldFormalParameter(Keyword.VAR, null, "a")); | 1965 AstTestFactory.fieldFormalParameter(Keyword.VAR, null, "a")); |
1930 } | 1966 } |
1931 | 1967 |
1932 void test_visitFieldFormalParameter_keywordAndType() { | 1968 void test_visitFieldFormalParameter_keywordAndType() { |
1933 _assertSource( | 1969 _assertSource( |
1934 "final A this.a", | 1970 "final A this.a", |
1935 AstFactory.fieldFormalParameter( | 1971 AstTestFactory.fieldFormalParameter( |
1936 Keyword.FINAL, AstFactory.typeName4("A"), "a")); | 1972 Keyword.FINAL, AstTestFactory.typeName4("A"), "a")); |
1937 } | 1973 } |
1938 | 1974 |
1939 void test_visitFieldFormalParameter_type() { | 1975 void test_visitFieldFormalParameter_type() { |
1940 _assertSource("A this.a", | 1976 _assertSource( |
1941 AstFactory.fieldFormalParameter(null, AstFactory.typeName4("A"), "a")); | 1977 "A this.a", |
| 1978 AstTestFactory.fieldFormalParameter( |
| 1979 null, AstTestFactory.typeName4("A"), "a")); |
1942 } | 1980 } |
1943 | 1981 |
1944 void test_visitForEachStatement_declared() { | 1982 void test_visitForEachStatement_declared() { |
1945 _assertSource( | 1983 _assertSource( |
1946 "for (var a in b) {}", | 1984 "for (var a in b) {}", |
1947 AstFactory.forEachStatement(AstFactory.declaredIdentifier3("a"), | 1985 AstTestFactory.forEachStatement(AstTestFactory.declaredIdentifier3("a"), |
1948 AstFactory.identifier3("b"), AstFactory.block())); | 1986 AstTestFactory.identifier3("b"), AstTestFactory.block())); |
1949 } | 1987 } |
1950 | 1988 |
1951 void test_visitForEachStatement_variable() { | 1989 void test_visitForEachStatement_variable() { |
1952 _assertSource( | 1990 _assertSource( |
1953 "for (a in b) {}", | 1991 "for (a in b) {}", |
1954 new ForEachStatement.withReference( | 1992 new ForEachStatement.withReference( |
1955 null, | 1993 null, |
1956 TokenFactory.tokenFromKeyword(Keyword.FOR), | 1994 TokenFactory.tokenFromKeyword(Keyword.FOR), |
1957 TokenFactory.tokenFromType(TokenType.OPEN_PAREN), | 1995 TokenFactory.tokenFromType(TokenType.OPEN_PAREN), |
1958 AstFactory.identifier3("a"), | 1996 AstTestFactory.identifier3("a"), |
1959 TokenFactory.tokenFromKeyword(Keyword.IN), | 1997 TokenFactory.tokenFromKeyword(Keyword.IN), |
1960 AstFactory.identifier3("b"), | 1998 AstTestFactory.identifier3("b"), |
1961 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), | 1999 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), |
1962 AstFactory.block())); | 2000 AstTestFactory.block())); |
1963 } | 2001 } |
1964 | 2002 |
1965 void test_visitForEachStatement_variable_await() { | 2003 void test_visitForEachStatement_variable_await() { |
1966 _assertSource( | 2004 _assertSource( |
1967 "await for (a in b) {}", | 2005 "await for (a in b) {}", |
1968 new ForEachStatement.withReference( | 2006 new ForEachStatement.withReference( |
1969 TokenFactory.tokenFromString("await"), | 2007 TokenFactory.tokenFromString("await"), |
1970 TokenFactory.tokenFromKeyword(Keyword.FOR), | 2008 TokenFactory.tokenFromKeyword(Keyword.FOR), |
1971 TokenFactory.tokenFromType(TokenType.OPEN_PAREN), | 2009 TokenFactory.tokenFromType(TokenType.OPEN_PAREN), |
1972 AstFactory.identifier3("a"), | 2010 AstTestFactory.identifier3("a"), |
1973 TokenFactory.tokenFromKeyword(Keyword.IN), | 2011 TokenFactory.tokenFromKeyword(Keyword.IN), |
1974 AstFactory.identifier3("b"), | 2012 AstTestFactory.identifier3("b"), |
1975 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), | 2013 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), |
1976 AstFactory.block())); | 2014 AstTestFactory.block())); |
1977 } | 2015 } |
1978 | 2016 |
1979 void test_visitFormalParameterList_empty() { | 2017 void test_visitFormalParameterList_empty() { |
1980 _assertSource("()", AstFactory.formalParameterList()); | 2018 _assertSource("()", AstTestFactory.formalParameterList()); |
1981 } | 2019 } |
1982 | 2020 |
1983 void test_visitFormalParameterList_n() { | 2021 void test_visitFormalParameterList_n() { |
1984 _assertSource( | 2022 _assertSource( |
1985 "({a : 0})", | 2023 "({a : 0})", |
1986 AstFactory.formalParameterList([ | 2024 AstTestFactory.formalParameterList([ |
1987 AstFactory.namedFormalParameter( | 2025 AstTestFactory.namedFormalParameter( |
1988 AstFactory.simpleFormalParameter3("a"), AstFactory.integer(0)) | 2026 AstTestFactory.simpleFormalParameter3("a"), |
| 2027 AstTestFactory.integer(0)) |
1989 ])); | 2028 ])); |
1990 } | 2029 } |
1991 | 2030 |
1992 void test_visitFormalParameterList_nn() { | 2031 void test_visitFormalParameterList_nn() { |
1993 _assertSource( | 2032 _assertSource( |
1994 "({a : 0, b : 1})", | 2033 "({a : 0, b : 1})", |
1995 AstFactory.formalParameterList([ | 2034 AstTestFactory.formalParameterList([ |
1996 AstFactory.namedFormalParameter( | 2035 AstTestFactory.namedFormalParameter( |
1997 AstFactory.simpleFormalParameter3("a"), AstFactory.integer(0)), | 2036 AstTestFactory.simpleFormalParameter3("a"), |
1998 AstFactory.namedFormalParameter( | 2037 AstTestFactory.integer(0)), |
1999 AstFactory.simpleFormalParameter3("b"), AstFactory.integer(1)) | 2038 AstTestFactory.namedFormalParameter( |
| 2039 AstTestFactory.simpleFormalParameter3("b"), |
| 2040 AstTestFactory.integer(1)) |
2000 ])); | 2041 ])); |
2001 } | 2042 } |
2002 | 2043 |
2003 void test_visitFormalParameterList_p() { | 2044 void test_visitFormalParameterList_p() { |
2004 _assertSource( | 2045 _assertSource( |
2005 "([a = 0])", | 2046 "([a = 0])", |
2006 AstFactory.formalParameterList([ | 2047 AstTestFactory.formalParameterList([ |
2007 AstFactory.positionalFormalParameter( | 2048 AstTestFactory.positionalFormalParameter( |
2008 AstFactory.simpleFormalParameter3("a"), AstFactory.integer(0)) | 2049 AstTestFactory.simpleFormalParameter3("a"), |
| 2050 AstTestFactory.integer(0)) |
2009 ])); | 2051 ])); |
2010 } | 2052 } |
2011 | 2053 |
2012 void test_visitFormalParameterList_pp() { | 2054 void test_visitFormalParameterList_pp() { |
2013 _assertSource( | 2055 _assertSource( |
2014 "([a = 0, b = 1])", | 2056 "([a = 0, b = 1])", |
2015 AstFactory.formalParameterList([ | 2057 AstTestFactory.formalParameterList([ |
2016 AstFactory.positionalFormalParameter( | 2058 AstTestFactory.positionalFormalParameter( |
2017 AstFactory.simpleFormalParameter3("a"), AstFactory.integer(0)), | 2059 AstTestFactory.simpleFormalParameter3("a"), |
2018 AstFactory.positionalFormalParameter( | 2060 AstTestFactory.integer(0)), |
2019 AstFactory.simpleFormalParameter3("b"), AstFactory.integer(1)) | 2061 AstTestFactory.positionalFormalParameter( |
| 2062 AstTestFactory.simpleFormalParameter3("b"), |
| 2063 AstTestFactory.integer(1)) |
2020 ])); | 2064 ])); |
2021 } | 2065 } |
2022 | 2066 |
2023 void test_visitFormalParameterList_r() { | 2067 void test_visitFormalParameterList_r() { |
2024 _assertSource( | 2068 _assertSource( |
2025 "(a)", | 2069 "(a)", |
2026 AstFactory | 2070 AstTestFactory |
2027 .formalParameterList([AstFactory.simpleFormalParameter3("a")])); | 2071 .formalParameterList([AstTestFactory.simpleFormalParameter3("a")])); |
2028 } | 2072 } |
2029 | 2073 |
2030 void test_visitFormalParameterList_rn() { | 2074 void test_visitFormalParameterList_rn() { |
2031 _assertSource( | 2075 _assertSource( |
2032 "(a, {b : 1})", | 2076 "(a, {b : 1})", |
2033 AstFactory.formalParameterList([ | 2077 AstTestFactory.formalParameterList([ |
2034 AstFactory.simpleFormalParameter3("a"), | 2078 AstTestFactory.simpleFormalParameter3("a"), |
2035 AstFactory.namedFormalParameter( | 2079 AstTestFactory.namedFormalParameter( |
2036 AstFactory.simpleFormalParameter3("b"), AstFactory.integer(1)) | 2080 AstTestFactory.simpleFormalParameter3("b"), |
| 2081 AstTestFactory.integer(1)) |
2037 ])); | 2082 ])); |
2038 } | 2083 } |
2039 | 2084 |
2040 void test_visitFormalParameterList_rnn() { | 2085 void test_visitFormalParameterList_rnn() { |
2041 _assertSource( | 2086 _assertSource( |
2042 "(a, {b : 1, c : 2})", | 2087 "(a, {b : 1, c : 2})", |
2043 AstFactory.formalParameterList([ | 2088 AstTestFactory.formalParameterList([ |
2044 AstFactory.simpleFormalParameter3("a"), | 2089 AstTestFactory.simpleFormalParameter3("a"), |
2045 AstFactory.namedFormalParameter( | 2090 AstTestFactory.namedFormalParameter( |
2046 AstFactory.simpleFormalParameter3("b"), AstFactory.integer(1)), | 2091 AstTestFactory.simpleFormalParameter3("b"), |
2047 AstFactory.namedFormalParameter( | 2092 AstTestFactory.integer(1)), |
2048 AstFactory.simpleFormalParameter3("c"), AstFactory.integer(2)) | 2093 AstTestFactory.namedFormalParameter( |
| 2094 AstTestFactory.simpleFormalParameter3("c"), |
| 2095 AstTestFactory.integer(2)) |
2049 ])); | 2096 ])); |
2050 } | 2097 } |
2051 | 2098 |
2052 void test_visitFormalParameterList_rp() { | 2099 void test_visitFormalParameterList_rp() { |
2053 _assertSource( | 2100 _assertSource( |
2054 "(a, [b = 1])", | 2101 "(a, [b = 1])", |
2055 AstFactory.formalParameterList([ | 2102 AstTestFactory.formalParameterList([ |
2056 AstFactory.simpleFormalParameter3("a"), | 2103 AstTestFactory.simpleFormalParameter3("a"), |
2057 AstFactory.positionalFormalParameter( | 2104 AstTestFactory.positionalFormalParameter( |
2058 AstFactory.simpleFormalParameter3("b"), AstFactory.integer(1)) | 2105 AstTestFactory.simpleFormalParameter3("b"), |
| 2106 AstTestFactory.integer(1)) |
2059 ])); | 2107 ])); |
2060 } | 2108 } |
2061 | 2109 |
2062 void test_visitFormalParameterList_rpp() { | 2110 void test_visitFormalParameterList_rpp() { |
2063 _assertSource( | 2111 _assertSource( |
2064 "(a, [b = 1, c = 2])", | 2112 "(a, [b = 1, c = 2])", |
2065 AstFactory.formalParameterList([ | 2113 AstTestFactory.formalParameterList([ |
2066 AstFactory.simpleFormalParameter3("a"), | 2114 AstTestFactory.simpleFormalParameter3("a"), |
2067 AstFactory.positionalFormalParameter( | 2115 AstTestFactory.positionalFormalParameter( |
2068 AstFactory.simpleFormalParameter3("b"), AstFactory.integer(1)), | 2116 AstTestFactory.simpleFormalParameter3("b"), |
2069 AstFactory.positionalFormalParameter( | 2117 AstTestFactory.integer(1)), |
2070 AstFactory.simpleFormalParameter3("c"), AstFactory.integer(2)) | 2118 AstTestFactory.positionalFormalParameter( |
| 2119 AstTestFactory.simpleFormalParameter3("c"), |
| 2120 AstTestFactory.integer(2)) |
2071 ])); | 2121 ])); |
2072 } | 2122 } |
2073 | 2123 |
2074 void test_visitFormalParameterList_rr() { | 2124 void test_visitFormalParameterList_rr() { |
2075 _assertSource( | 2125 _assertSource( |
2076 "(a, b)", | 2126 "(a, b)", |
2077 AstFactory.formalParameterList([ | 2127 AstTestFactory.formalParameterList([ |
2078 AstFactory.simpleFormalParameter3("a"), | 2128 AstTestFactory.simpleFormalParameter3("a"), |
2079 AstFactory.simpleFormalParameter3("b") | 2129 AstTestFactory.simpleFormalParameter3("b") |
2080 ])); | 2130 ])); |
2081 } | 2131 } |
2082 | 2132 |
2083 void test_visitFormalParameterList_rrn() { | 2133 void test_visitFormalParameterList_rrn() { |
2084 _assertSource( | 2134 _assertSource( |
2085 "(a, b, {c : 3})", | 2135 "(a, b, {c : 3})", |
2086 AstFactory.formalParameterList([ | 2136 AstTestFactory.formalParameterList([ |
2087 AstFactory.simpleFormalParameter3("a"), | 2137 AstTestFactory.simpleFormalParameter3("a"), |
2088 AstFactory.simpleFormalParameter3("b"), | 2138 AstTestFactory.simpleFormalParameter3("b"), |
2089 AstFactory.namedFormalParameter( | 2139 AstTestFactory.namedFormalParameter( |
2090 AstFactory.simpleFormalParameter3("c"), AstFactory.integer(3)) | 2140 AstTestFactory.simpleFormalParameter3("c"), |
| 2141 AstTestFactory.integer(3)) |
2091 ])); | 2142 ])); |
2092 } | 2143 } |
2093 | 2144 |
2094 void test_visitFormalParameterList_rrnn() { | 2145 void test_visitFormalParameterList_rrnn() { |
2095 _assertSource( | 2146 _assertSource( |
2096 "(a, b, {c : 3, d : 4})", | 2147 "(a, b, {c : 3, d : 4})", |
2097 AstFactory.formalParameterList([ | 2148 AstTestFactory.formalParameterList([ |
2098 AstFactory.simpleFormalParameter3("a"), | 2149 AstTestFactory.simpleFormalParameter3("a"), |
2099 AstFactory.simpleFormalParameter3("b"), | 2150 AstTestFactory.simpleFormalParameter3("b"), |
2100 AstFactory.namedFormalParameter( | 2151 AstTestFactory.namedFormalParameter( |
2101 AstFactory.simpleFormalParameter3("c"), AstFactory.integer(3)), | 2152 AstTestFactory.simpleFormalParameter3("c"), |
2102 AstFactory.namedFormalParameter( | 2153 AstTestFactory.integer(3)), |
2103 AstFactory.simpleFormalParameter3("d"), AstFactory.integer(4)) | 2154 AstTestFactory.namedFormalParameter( |
| 2155 AstTestFactory.simpleFormalParameter3("d"), |
| 2156 AstTestFactory.integer(4)) |
2104 ])); | 2157 ])); |
2105 } | 2158 } |
2106 | 2159 |
2107 void test_visitFormalParameterList_rrp() { | 2160 void test_visitFormalParameterList_rrp() { |
2108 _assertSource( | 2161 _assertSource( |
2109 "(a, b, [c = 3])", | 2162 "(a, b, [c = 3])", |
2110 AstFactory.formalParameterList([ | 2163 AstTestFactory.formalParameterList([ |
2111 AstFactory.simpleFormalParameter3("a"), | 2164 AstTestFactory.simpleFormalParameter3("a"), |
2112 AstFactory.simpleFormalParameter3("b"), | 2165 AstTestFactory.simpleFormalParameter3("b"), |
2113 AstFactory.positionalFormalParameter( | 2166 AstTestFactory.positionalFormalParameter( |
2114 AstFactory.simpleFormalParameter3("c"), AstFactory.integer(3)) | 2167 AstTestFactory.simpleFormalParameter3("c"), |
| 2168 AstTestFactory.integer(3)) |
2115 ])); | 2169 ])); |
2116 } | 2170 } |
2117 | 2171 |
2118 void test_visitFormalParameterList_rrpp() { | 2172 void test_visitFormalParameterList_rrpp() { |
2119 _assertSource( | 2173 _assertSource( |
2120 "(a, b, [c = 3, d = 4])", | 2174 "(a, b, [c = 3, d = 4])", |
2121 AstFactory.formalParameterList([ | 2175 AstTestFactory.formalParameterList([ |
2122 AstFactory.simpleFormalParameter3("a"), | 2176 AstTestFactory.simpleFormalParameter3("a"), |
2123 AstFactory.simpleFormalParameter3("b"), | 2177 AstTestFactory.simpleFormalParameter3("b"), |
2124 AstFactory.positionalFormalParameter( | 2178 AstTestFactory.positionalFormalParameter( |
2125 AstFactory.simpleFormalParameter3("c"), AstFactory.integer(3)), | 2179 AstTestFactory.simpleFormalParameter3("c"), |
2126 AstFactory.positionalFormalParameter( | 2180 AstTestFactory.integer(3)), |
2127 AstFactory.simpleFormalParameter3("d"), AstFactory.integer(4)) | 2181 AstTestFactory.positionalFormalParameter( |
| 2182 AstTestFactory.simpleFormalParameter3("d"), |
| 2183 AstTestFactory.integer(4)) |
2128 ])); | 2184 ])); |
2129 } | 2185 } |
2130 | 2186 |
2131 void test_visitForStatement_c() { | 2187 void test_visitForStatement_c() { |
2132 _assertSource( | 2188 _assertSource( |
2133 "for (; c;) {}", | 2189 "for (; c;) {}", |
2134 AstFactory.forStatement( | 2190 AstTestFactory.forStatement(null, AstTestFactory.identifier3("c"), null, |
2135 null, AstFactory.identifier3("c"), null, AstFactory.block())); | 2191 AstTestFactory.block())); |
2136 } | 2192 } |
2137 | 2193 |
2138 void test_visitForStatement_cu() { | 2194 void test_visitForStatement_cu() { |
2139 _assertSource( | 2195 _assertSource( |
2140 "for (; c; u) {}", | 2196 "for (; c; u) {}", |
2141 AstFactory.forStatement(null, AstFactory.identifier3("c"), | 2197 AstTestFactory.forStatement(null, AstTestFactory.identifier3("c"), |
2142 [AstFactory.identifier3("u")], AstFactory.block())); | 2198 [AstTestFactory.identifier3("u")], AstTestFactory.block())); |
2143 } | 2199 } |
2144 | 2200 |
2145 void test_visitForStatement_e() { | 2201 void test_visitForStatement_e() { |
2146 _assertSource( | 2202 _assertSource( |
2147 "for (e;;) {}", | 2203 "for (e;;) {}", |
2148 AstFactory.forStatement( | 2204 AstTestFactory.forStatement(AstTestFactory.identifier3("e"), null, null, |
2149 AstFactory.identifier3("e"), null, null, AstFactory.block())); | 2205 AstTestFactory.block())); |
2150 } | 2206 } |
2151 | 2207 |
2152 void test_visitForStatement_ec() { | 2208 void test_visitForStatement_ec() { |
2153 _assertSource( | 2209 _assertSource( |
2154 "for (e; c;) {}", | 2210 "for (e; c;) {}", |
2155 AstFactory.forStatement(AstFactory.identifier3("e"), | 2211 AstTestFactory.forStatement(AstTestFactory.identifier3("e"), |
2156 AstFactory.identifier3("c"), null, AstFactory.block())); | 2212 AstTestFactory.identifier3("c"), null, AstTestFactory.block())); |
2157 } | 2213 } |
2158 | 2214 |
2159 void test_visitForStatement_ecu() { | 2215 void test_visitForStatement_ecu() { |
2160 _assertSource( | 2216 _assertSource( |
2161 "for (e; c; u) {}", | 2217 "for (e; c; u) {}", |
2162 AstFactory.forStatement( | 2218 AstTestFactory.forStatement( |
2163 AstFactory.identifier3("e"), | 2219 AstTestFactory.identifier3("e"), |
2164 AstFactory.identifier3("c"), | 2220 AstTestFactory.identifier3("c"), |
2165 [AstFactory.identifier3("u")], | 2221 [AstTestFactory.identifier3("u")], |
2166 AstFactory.block())); | 2222 AstTestFactory.block())); |
2167 } | 2223 } |
2168 | 2224 |
2169 void test_visitForStatement_eu() { | 2225 void test_visitForStatement_eu() { |
2170 _assertSource( | 2226 _assertSource( |
2171 "for (e;; u) {}", | 2227 "for (e;; u) {}", |
2172 AstFactory.forStatement(AstFactory.identifier3("e"), null, | 2228 AstTestFactory.forStatement(AstTestFactory.identifier3("e"), null, |
2173 [AstFactory.identifier3("u")], AstFactory.block())); | 2229 [AstTestFactory.identifier3("u")], AstTestFactory.block())); |
2174 } | 2230 } |
2175 | 2231 |
2176 void test_visitForStatement_i() { | 2232 void test_visitForStatement_i() { |
2177 _assertSource( | 2233 _assertSource( |
2178 "for (var i;;) {}", | 2234 "for (var i;;) {}", |
2179 AstFactory.forStatement2( | 2235 AstTestFactory.forStatement2( |
2180 AstFactory.variableDeclarationList2( | 2236 AstTestFactory.variableDeclarationList2( |
2181 Keyword.VAR, [AstFactory.variableDeclaration("i")]), | 2237 Keyword.VAR, [AstTestFactory.variableDeclaration("i")]), |
2182 null, | 2238 null, |
2183 null, | 2239 null, |
2184 AstFactory.block())); | 2240 AstTestFactory.block())); |
2185 } | 2241 } |
2186 | 2242 |
2187 void test_visitForStatement_ic() { | 2243 void test_visitForStatement_ic() { |
2188 _assertSource( | 2244 _assertSource( |
2189 "for (var i; c;) {}", | 2245 "for (var i; c;) {}", |
2190 AstFactory.forStatement2( | 2246 AstTestFactory.forStatement2( |
2191 AstFactory.variableDeclarationList2( | 2247 AstTestFactory.variableDeclarationList2( |
2192 Keyword.VAR, [AstFactory.variableDeclaration("i")]), | 2248 Keyword.VAR, [AstTestFactory.variableDeclaration("i")]), |
2193 AstFactory.identifier3("c"), | 2249 AstTestFactory.identifier3("c"), |
2194 null, | 2250 null, |
2195 AstFactory.block())); | 2251 AstTestFactory.block())); |
2196 } | 2252 } |
2197 | 2253 |
2198 void test_visitForStatement_icu() { | 2254 void test_visitForStatement_icu() { |
2199 _assertSource( | 2255 _assertSource( |
2200 "for (var i; c; u) {}", | 2256 "for (var i; c; u) {}", |
2201 AstFactory.forStatement2( | 2257 AstTestFactory.forStatement2( |
2202 AstFactory.variableDeclarationList2( | 2258 AstTestFactory.variableDeclarationList2( |
2203 Keyword.VAR, [AstFactory.variableDeclaration("i")]), | 2259 Keyword.VAR, [AstTestFactory.variableDeclaration("i")]), |
2204 AstFactory.identifier3("c"), | 2260 AstTestFactory.identifier3("c"), |
2205 [AstFactory.identifier3("u")], | 2261 [AstTestFactory.identifier3("u")], |
2206 AstFactory.block())); | 2262 AstTestFactory.block())); |
2207 } | 2263 } |
2208 | 2264 |
2209 void test_visitForStatement_iu() { | 2265 void test_visitForStatement_iu() { |
2210 _assertSource( | 2266 _assertSource( |
2211 "for (var i;; u) {}", | 2267 "for (var i;; u) {}", |
2212 AstFactory.forStatement2( | 2268 AstTestFactory.forStatement2( |
2213 AstFactory.variableDeclarationList2( | 2269 AstTestFactory.variableDeclarationList2( |
2214 Keyword.VAR, [AstFactory.variableDeclaration("i")]), | 2270 Keyword.VAR, [AstTestFactory.variableDeclaration("i")]), |
2215 null, | 2271 null, |
2216 [AstFactory.identifier3("u")], | 2272 [AstTestFactory.identifier3("u")], |
2217 AstFactory.block())); | 2273 AstTestFactory.block())); |
2218 } | 2274 } |
2219 | 2275 |
2220 void test_visitForStatement_u() { | 2276 void test_visitForStatement_u() { |
2221 _assertSource( | 2277 _assertSource( |
2222 "for (;; u) {}", | 2278 "for (;; u) {}", |
2223 AstFactory.forStatement( | 2279 AstTestFactory.forStatement(null, null, |
2224 null, null, [AstFactory.identifier3("u")], AstFactory.block())); | 2280 [AstTestFactory.identifier3("u")], AstTestFactory.block())); |
2225 } | 2281 } |
2226 | 2282 |
2227 void test_visitFunctionDeclaration_external() { | 2283 void test_visitFunctionDeclaration_external() { |
2228 FunctionDeclaration functionDeclaration = AstFactory.functionDeclaration( | 2284 FunctionDeclaration functionDeclaration = |
2229 null, | 2285 AstTestFactory.functionDeclaration( |
2230 null, | 2286 null, |
2231 "f", | 2287 null, |
2232 AstFactory.functionExpression2( | 2288 "f", |
2233 AstFactory.formalParameterList(), AstFactory.emptyFunctionBody())); | 2289 AstTestFactory.functionExpression2( |
| 2290 AstTestFactory.formalParameterList(), |
| 2291 AstTestFactory.emptyFunctionBody())); |
2234 functionDeclaration.externalKeyword = | 2292 functionDeclaration.externalKeyword = |
2235 TokenFactory.tokenFromKeyword(Keyword.EXTERNAL); | 2293 TokenFactory.tokenFromKeyword(Keyword.EXTERNAL); |
2236 _assertSource("external f();", functionDeclaration); | 2294 _assertSource("external f();", functionDeclaration); |
2237 } | 2295 } |
2238 | 2296 |
2239 void test_visitFunctionDeclaration_getter() { | 2297 void test_visitFunctionDeclaration_getter() { |
2240 _assertSource( | 2298 _assertSource( |
2241 "get f() {}", | 2299 "get f() {}", |
2242 AstFactory.functionDeclaration( | 2300 AstTestFactory.functionDeclaration( |
2243 null, Keyword.GET, "f", AstFactory.functionExpression())); | 2301 null, Keyword.GET, "f", AstTestFactory.functionExpression())); |
2244 } | 2302 } |
2245 | 2303 |
2246 void test_visitFunctionDeclaration_local_blockBody() { | 2304 void test_visitFunctionDeclaration_local_blockBody() { |
2247 FunctionDeclaration f = AstFactory.functionDeclaration( | 2305 FunctionDeclaration f = AstTestFactory.functionDeclaration( |
2248 null, null, "f", AstFactory.functionExpression()); | 2306 null, null, "f", AstTestFactory.functionExpression()); |
2249 FunctionDeclarationStatement fStatement = | 2307 FunctionDeclarationStatement fStatement = |
2250 new FunctionDeclarationStatement(f); | 2308 new FunctionDeclarationStatement(f); |
2251 _assertSource( | 2309 _assertSource( |
2252 "main() {f() {} 42;}", | 2310 "main() {f() {} 42;}", |
2253 AstFactory.functionDeclaration( | 2311 AstTestFactory.functionDeclaration( |
2254 null, | 2312 null, |
2255 null, | 2313 null, |
2256 "main", | 2314 "main", |
2257 AstFactory.functionExpression2( | 2315 AstTestFactory.functionExpression2( |
2258 AstFactory.formalParameterList(), | 2316 AstTestFactory.formalParameterList(), |
2259 AstFactory.blockFunctionBody2([ | 2317 AstTestFactory.blockFunctionBody2([ |
2260 fStatement, | 2318 fStatement, |
2261 AstFactory.expressionStatement(AstFactory.integer(42)) | 2319 AstTestFactory.expressionStatement(AstTestFactory.integer(42)) |
2262 ])))); | 2320 ])))); |
2263 } | 2321 } |
2264 | 2322 |
2265 void test_visitFunctionDeclaration_local_expressionBody() { | 2323 void test_visitFunctionDeclaration_local_expressionBody() { |
2266 FunctionDeclaration f = AstFactory.functionDeclaration( | 2324 FunctionDeclaration f = AstTestFactory.functionDeclaration( |
2267 null, | 2325 null, |
2268 null, | 2326 null, |
2269 "f", | 2327 "f", |
2270 AstFactory.functionExpression2(AstFactory.formalParameterList(), | 2328 AstTestFactory.functionExpression2(AstTestFactory.formalParameterList(), |
2271 AstFactory.expressionFunctionBody(AstFactory.integer(1)))); | 2329 AstTestFactory.expressionFunctionBody(AstTestFactory.integer(1)))); |
2272 FunctionDeclarationStatement fStatement = | 2330 FunctionDeclarationStatement fStatement = |
2273 new FunctionDeclarationStatement(f); | 2331 new FunctionDeclarationStatement(f); |
2274 _assertSource( | 2332 _assertSource( |
2275 "main() {f() => 1; 2;}", | 2333 "main() {f() => 1; 2;}", |
2276 AstFactory.functionDeclaration( | 2334 AstTestFactory.functionDeclaration( |
2277 null, | 2335 null, |
2278 null, | 2336 null, |
2279 "main", | 2337 "main", |
2280 AstFactory.functionExpression2( | 2338 AstTestFactory.functionExpression2( |
2281 AstFactory.formalParameterList(), | 2339 AstTestFactory.formalParameterList(), |
2282 AstFactory.blockFunctionBody2([ | 2340 AstTestFactory.blockFunctionBody2([ |
2283 fStatement, | 2341 fStatement, |
2284 AstFactory.expressionStatement(AstFactory.integer(2)) | 2342 AstTestFactory.expressionStatement(AstTestFactory.integer(2)) |
2285 ])))); | 2343 ])))); |
2286 } | 2344 } |
2287 | 2345 |
2288 void test_visitFunctionDeclaration_normal() { | 2346 void test_visitFunctionDeclaration_normal() { |
2289 _assertSource( | 2347 _assertSource( |
2290 "f() {}", | 2348 "f() {}", |
2291 AstFactory.functionDeclaration( | 2349 AstTestFactory.functionDeclaration( |
2292 null, null, "f", AstFactory.functionExpression())); | 2350 null, null, "f", AstTestFactory.functionExpression())); |
2293 } | 2351 } |
2294 | 2352 |
2295 void test_visitFunctionDeclaration_setter() { | 2353 void test_visitFunctionDeclaration_setter() { |
2296 _assertSource( | 2354 _assertSource( |
2297 "set f() {}", | 2355 "set f() {}", |
2298 AstFactory.functionDeclaration( | 2356 AstTestFactory.functionDeclaration( |
2299 null, Keyword.SET, "f", AstFactory.functionExpression())); | 2357 null, Keyword.SET, "f", AstTestFactory.functionExpression())); |
2300 } | 2358 } |
2301 | 2359 |
2302 void test_visitFunctionDeclaration_typeParameters() { | 2360 void test_visitFunctionDeclaration_typeParameters() { |
2303 _assertSource( | 2361 _assertSource( |
2304 "f<E>() {}", | 2362 "f<E>() {}", |
2305 AstFactory.functionDeclaration( | 2363 AstTestFactory.functionDeclaration( |
2306 null, | 2364 null, |
2307 null, | 2365 null, |
2308 "f", | 2366 "f", |
2309 AstFactory.functionExpression3( | 2367 AstTestFactory.functionExpression3( |
2310 AstFactory.typeParameterList(['E']), | 2368 AstTestFactory.typeParameterList(['E']), |
2311 AstFactory.formalParameterList(), | 2369 AstTestFactory.formalParameterList(), |
2312 AstFactory.blockFunctionBody2()))); | 2370 AstTestFactory.blockFunctionBody2()))); |
2313 } | 2371 } |
2314 | 2372 |
2315 void test_visitFunctionDeclaration_withMetadata() { | 2373 void test_visitFunctionDeclaration_withMetadata() { |
2316 FunctionDeclaration declaration = AstFactory.functionDeclaration( | 2374 FunctionDeclaration declaration = AstTestFactory.functionDeclaration( |
2317 null, null, "f", AstFactory.functionExpression()); | 2375 null, null, "f", AstTestFactory.functionExpression()); |
2318 declaration.metadata | 2376 declaration.metadata.add( |
2319 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 2377 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
2320 _assertSource("@deprecated f() {}", declaration); | 2378 _assertSource("@deprecated f() {}", declaration); |
2321 } | 2379 } |
2322 | 2380 |
2323 void test_visitFunctionDeclarationStatement() { | 2381 void test_visitFunctionDeclarationStatement() { |
2324 _assertSource( | 2382 _assertSource( |
2325 "f() {}", | 2383 "f() {}", |
2326 AstFactory.functionDeclarationStatement( | 2384 AstTestFactory.functionDeclarationStatement( |
2327 null, null, "f", AstFactory.functionExpression())); | 2385 null, null, "f", AstTestFactory.functionExpression())); |
2328 } | 2386 } |
2329 | 2387 |
2330 void test_visitFunctionExpression() { | 2388 void test_visitFunctionExpression() { |
2331 _assertSource("() {}", AstFactory.functionExpression()); | 2389 _assertSource("() {}", AstTestFactory.functionExpression()); |
2332 } | 2390 } |
2333 | 2391 |
2334 void test_visitFunctionExpression_typeParameters() { | 2392 void test_visitFunctionExpression_typeParameters() { |
2335 _assertSource( | 2393 _assertSource( |
2336 "<E>() {}", | 2394 "<E>() {}", |
2337 AstFactory.functionExpression3(AstFactory.typeParameterList(['E']), | 2395 AstTestFactory.functionExpression3( |
2338 AstFactory.formalParameterList(), AstFactory.blockFunctionBody2())); | 2396 AstTestFactory.typeParameterList(['E']), |
| 2397 AstTestFactory.formalParameterList(), |
| 2398 AstTestFactory.blockFunctionBody2())); |
2339 } | 2399 } |
2340 | 2400 |
2341 void test_visitFunctionExpressionInvocation_minimal() { | 2401 void test_visitFunctionExpressionInvocation_minimal() { |
2342 _assertSource("f()", | 2402 _assertSource( |
2343 AstFactory.functionExpressionInvocation(AstFactory.identifier3("f"))); | 2403 "f()", |
| 2404 AstTestFactory |
| 2405 .functionExpressionInvocation(AstTestFactory.identifier3("f"))); |
2344 } | 2406 } |
2345 | 2407 |
2346 void test_visitFunctionExpressionInvocation_typeArguments() { | 2408 void test_visitFunctionExpressionInvocation_typeArguments() { |
2347 _assertSource( | 2409 _assertSource( |
2348 "f<A>()", | 2410 "f<A>()", |
2349 AstFactory.functionExpressionInvocation2(AstFactory.identifier3("f"), | 2411 AstTestFactory.functionExpressionInvocation2( |
2350 AstFactory.typeArgumentList([AstFactory.typeName4('A')]))); | 2412 AstTestFactory.identifier3("f"), |
| 2413 AstTestFactory.typeArgumentList([AstTestFactory.typeName4('A')]))); |
2351 } | 2414 } |
2352 | 2415 |
2353 void test_visitFunctionTypeAlias_generic() { | 2416 void test_visitFunctionTypeAlias_generic() { |
2354 _assertSource( | 2417 _assertSource( |
2355 "typedef A F<B>();", | 2418 "typedef A F<B>();", |
2356 AstFactory.typeAlias( | 2419 AstTestFactory.typeAlias( |
2357 AstFactory.typeName4("A"), | 2420 AstTestFactory.typeName4("A"), |
2358 "F", | 2421 "F", |
2359 AstFactory.typeParameterList(["B"]), | 2422 AstTestFactory.typeParameterList(["B"]), |
2360 AstFactory.formalParameterList())); | 2423 AstTestFactory.formalParameterList())); |
2361 } | 2424 } |
2362 | 2425 |
2363 void test_visitFunctionTypeAlias_nonGeneric() { | 2426 void test_visitFunctionTypeAlias_nonGeneric() { |
2364 _assertSource( | 2427 _assertSource( |
2365 "typedef A F();", | 2428 "typedef A F();", |
2366 AstFactory.typeAlias(AstFactory.typeName4("A"), "F", null, | 2429 AstTestFactory.typeAlias(AstTestFactory.typeName4("A"), "F", null, |
2367 AstFactory.formalParameterList())); | 2430 AstTestFactory.formalParameterList())); |
2368 } | 2431 } |
2369 | 2432 |
2370 void test_visitFunctionTypeAlias_withMetadata() { | 2433 void test_visitFunctionTypeAlias_withMetadata() { |
2371 FunctionTypeAlias declaration = AstFactory.typeAlias( | 2434 FunctionTypeAlias declaration = AstTestFactory.typeAlias( |
2372 AstFactory.typeName4("A"), "F", null, AstFactory.formalParameterList()); | 2435 AstTestFactory.typeName4("A"), |
2373 declaration.metadata | 2436 "F", |
2374 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 2437 null, |
| 2438 AstTestFactory.formalParameterList()); |
| 2439 declaration.metadata.add( |
| 2440 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
2375 _assertSource("@deprecated typedef A F();", declaration); | 2441 _assertSource("@deprecated typedef A F();", declaration); |
2376 } | 2442 } |
2377 | 2443 |
2378 void test_visitFunctionTypedFormalParameter_annotation() { | 2444 void test_visitFunctionTypedFormalParameter_annotation() { |
2379 FunctionTypedFormalParameter parameter = | 2445 FunctionTypedFormalParameter parameter = |
2380 AstFactory.functionTypedFormalParameter(null, "f"); | 2446 AstTestFactory.functionTypedFormalParameter(null, "f"); |
2381 parameter.metadata.add(AstFactory.annotation(AstFactory.identifier3("A"))); | 2447 parameter.metadata |
| 2448 .add(AstTestFactory.annotation(AstTestFactory.identifier3("A"))); |
2382 _assertSource('@A f()', parameter); | 2449 _assertSource('@A f()', parameter); |
2383 } | 2450 } |
2384 | 2451 |
2385 void test_visitFunctionTypedFormalParameter_noType() { | 2452 void test_visitFunctionTypedFormalParameter_noType() { |
2386 _assertSource("f()", AstFactory.functionTypedFormalParameter(null, "f")); | 2453 _assertSource( |
| 2454 "f()", AstTestFactory.functionTypedFormalParameter(null, "f")); |
2387 } | 2455 } |
2388 | 2456 |
2389 void test_visitFunctionTypedFormalParameter_type() { | 2457 void test_visitFunctionTypedFormalParameter_type() { |
2390 _assertSource( | 2458 _assertSource( |
2391 "T f()", | 2459 "T f()", |
2392 AstFactory.functionTypedFormalParameter( | 2460 AstTestFactory.functionTypedFormalParameter( |
2393 AstFactory.typeName4("T"), "f")); | 2461 AstTestFactory.typeName4("T"), "f")); |
2394 } | 2462 } |
2395 | 2463 |
2396 void test_visitFunctionTypedFormalParameter_typeParameters() { | 2464 void test_visitFunctionTypedFormalParameter_typeParameters() { |
2397 _assertSource( | 2465 _assertSource( |
2398 "T f<E>()", | 2466 "T f<E>()", |
2399 new FunctionTypedFormalParameter( | 2467 new FunctionTypedFormalParameter( |
2400 null, | 2468 null, |
2401 null, | 2469 null, |
2402 AstFactory.typeName4("T"), | 2470 AstTestFactory.typeName4("T"), |
2403 AstFactory.identifier3('f'), | 2471 AstTestFactory.identifier3('f'), |
2404 AstFactory.typeParameterList(['E']), | 2472 AstTestFactory.typeParameterList(['E']), |
2405 AstFactory.formalParameterList([]))); | 2473 AstTestFactory.formalParameterList([]))); |
2406 } | 2474 } |
2407 | 2475 |
2408 void test_visitIfStatement_withElse() { | 2476 void test_visitIfStatement_withElse() { |
2409 _assertSource( | 2477 _assertSource( |
2410 "if (c) {} else {}", | 2478 "if (c) {} else {}", |
2411 AstFactory.ifStatement2(AstFactory.identifier3("c"), AstFactory.block(), | 2479 AstTestFactory.ifStatement2(AstTestFactory.identifier3("c"), |
2412 AstFactory.block())); | 2480 AstTestFactory.block(), AstTestFactory.block())); |
2413 } | 2481 } |
2414 | 2482 |
2415 void test_visitIfStatement_withoutElse() { | 2483 void test_visitIfStatement_withoutElse() { |
2416 _assertSource( | 2484 _assertSource( |
2417 "if (c) {}", | 2485 "if (c) {}", |
2418 AstFactory.ifStatement( | 2486 AstTestFactory.ifStatement( |
2419 AstFactory.identifier3("c"), AstFactory.block())); | 2487 AstTestFactory.identifier3("c"), AstTestFactory.block())); |
2420 } | 2488 } |
2421 | 2489 |
2422 void test_visitImplementsClause_multiple() { | 2490 void test_visitImplementsClause_multiple() { |
2423 _assertSource( | 2491 _assertSource( |
2424 "implements A, B", | 2492 "implements A, B", |
2425 AstFactory.implementsClause( | 2493 AstTestFactory.implementsClause( |
2426 [AstFactory.typeName4("A"), AstFactory.typeName4("B")])); | 2494 [AstTestFactory.typeName4("A"), AstTestFactory.typeName4("B")])); |
2427 } | 2495 } |
2428 | 2496 |
2429 void test_visitImplementsClause_single() { | 2497 void test_visitImplementsClause_single() { |
2430 _assertSource("implements A", | 2498 _assertSource("implements A", |
2431 AstFactory.implementsClause([AstFactory.typeName4("A")])); | 2499 AstTestFactory.implementsClause([AstTestFactory.typeName4("A")])); |
2432 } | 2500 } |
2433 | 2501 |
2434 void test_visitImportDirective_combinator() { | 2502 void test_visitImportDirective_combinator() { |
2435 _assertSource( | 2503 _assertSource( |
2436 "import 'a.dart' show A;", | 2504 "import 'a.dart' show A;", |
2437 AstFactory.importDirective3("a.dart", null, [ | 2505 AstTestFactory.importDirective3("a.dart", null, [ |
2438 AstFactory.showCombinator([AstFactory.identifier3("A")]) | 2506 AstTestFactory.showCombinator([AstTestFactory.identifier3("A")]) |
2439 ])); | 2507 ])); |
2440 } | 2508 } |
2441 | 2509 |
2442 void test_visitImportDirective_combinators() { | 2510 void test_visitImportDirective_combinators() { |
2443 _assertSource( | 2511 _assertSource( |
2444 "import 'a.dart' show A hide B;", | 2512 "import 'a.dart' show A hide B;", |
2445 AstFactory.importDirective3("a.dart", null, [ | 2513 AstTestFactory.importDirective3("a.dart", null, [ |
2446 AstFactory.showCombinator([AstFactory.identifier3("A")]), | 2514 AstTestFactory.showCombinator([AstTestFactory.identifier3("A")]), |
2447 AstFactory.hideCombinator([AstFactory.identifier3("B")]) | 2515 AstTestFactory.hideCombinator([AstTestFactory.identifier3("B")]) |
2448 ])); | 2516 ])); |
2449 } | 2517 } |
2450 | 2518 |
2451 void test_visitImportDirective_deferred() { | 2519 void test_visitImportDirective_deferred() { |
2452 _assertSource("import 'a.dart' deferred as p;", | 2520 _assertSource("import 'a.dart' deferred as p;", |
2453 AstFactory.importDirective2("a.dart", true, "p")); | 2521 AstTestFactory.importDirective2("a.dart", true, "p")); |
2454 } | 2522 } |
2455 | 2523 |
2456 void test_visitImportDirective_minimal() { | 2524 void test_visitImportDirective_minimal() { |
2457 _assertSource( | 2525 _assertSource( |
2458 "import 'a.dart';", AstFactory.importDirective3("a.dart", null)); | 2526 "import 'a.dart';", AstTestFactory.importDirective3("a.dart", null)); |
2459 } | 2527 } |
2460 | 2528 |
2461 void test_visitImportDirective_prefix() { | 2529 void test_visitImportDirective_prefix() { |
2462 _assertSource( | 2530 _assertSource("import 'a.dart' as p;", |
2463 "import 'a.dart' as p;", AstFactory.importDirective3("a.dart", "p")); | 2531 AstTestFactory.importDirective3("a.dart", "p")); |
2464 } | 2532 } |
2465 | 2533 |
2466 void test_visitImportDirective_prefix_combinator() { | 2534 void test_visitImportDirective_prefix_combinator() { |
2467 _assertSource( | 2535 _assertSource( |
2468 "import 'a.dart' as p show A;", | 2536 "import 'a.dart' as p show A;", |
2469 AstFactory.importDirective3("a.dart", "p", [ | 2537 AstTestFactory.importDirective3("a.dart", "p", [ |
2470 AstFactory.showCombinator([AstFactory.identifier3("A")]) | 2538 AstTestFactory.showCombinator([AstTestFactory.identifier3("A")]) |
2471 ])); | 2539 ])); |
2472 } | 2540 } |
2473 | 2541 |
2474 void test_visitImportDirective_prefix_combinators() { | 2542 void test_visitImportDirective_prefix_combinators() { |
2475 _assertSource( | 2543 _assertSource( |
2476 "import 'a.dart' as p show A hide B;", | 2544 "import 'a.dart' as p show A hide B;", |
2477 AstFactory.importDirective3("a.dart", "p", [ | 2545 AstTestFactory.importDirective3("a.dart", "p", [ |
2478 AstFactory.showCombinator([AstFactory.identifier3("A")]), | 2546 AstTestFactory.showCombinator([AstTestFactory.identifier3("A")]), |
2479 AstFactory.hideCombinator([AstFactory.identifier3("B")]) | 2547 AstTestFactory.hideCombinator([AstTestFactory.identifier3("B")]) |
2480 ])); | 2548 ])); |
2481 } | 2549 } |
2482 | 2550 |
2483 void test_visitImportDirective_withMetadata() { | 2551 void test_visitImportDirective_withMetadata() { |
2484 ImportDirective directive = AstFactory.importDirective3("a.dart", null); | 2552 ImportDirective directive = AstTestFactory.importDirective3("a.dart", null); |
2485 directive.metadata | 2553 directive.metadata.add( |
2486 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 2554 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
2487 _assertSource("@deprecated import 'a.dart';", directive); | 2555 _assertSource("@deprecated import 'a.dart';", directive); |
2488 } | 2556 } |
2489 | 2557 |
2490 void test_visitImportHideCombinator_multiple() { | 2558 void test_visitImportHideCombinator_multiple() { |
2491 _assertSource( | 2559 _assertSource( |
2492 "hide a, b", | 2560 "hide a, b", |
2493 AstFactory.hideCombinator( | 2561 AstTestFactory.hideCombinator([ |
2494 [AstFactory.identifier3("a"), AstFactory.identifier3("b")])); | 2562 AstTestFactory.identifier3("a"), |
| 2563 AstTestFactory.identifier3("b") |
| 2564 ])); |
2495 } | 2565 } |
2496 | 2566 |
2497 void test_visitImportHideCombinator_single() { | 2567 void test_visitImportHideCombinator_single() { |
2498 _assertSource( | 2568 _assertSource("hide a", |
2499 "hide a", AstFactory.hideCombinator([AstFactory.identifier3("a")])); | 2569 AstTestFactory.hideCombinator([AstTestFactory.identifier3("a")])); |
2500 } | 2570 } |
2501 | 2571 |
2502 void test_visitImportShowCombinator_multiple() { | 2572 void test_visitImportShowCombinator_multiple() { |
2503 _assertSource( | 2573 _assertSource( |
2504 "show a, b", | 2574 "show a, b", |
2505 AstFactory.showCombinator( | 2575 AstTestFactory.showCombinator([ |
2506 [AstFactory.identifier3("a"), AstFactory.identifier3("b")])); | 2576 AstTestFactory.identifier3("a"), |
| 2577 AstTestFactory.identifier3("b") |
| 2578 ])); |
2507 } | 2579 } |
2508 | 2580 |
2509 void test_visitImportShowCombinator_single() { | 2581 void test_visitImportShowCombinator_single() { |
2510 _assertSource( | 2582 _assertSource("show a", |
2511 "show a", AstFactory.showCombinator([AstFactory.identifier3("a")])); | 2583 AstTestFactory.showCombinator([AstTestFactory.identifier3("a")])); |
2512 } | 2584 } |
2513 | 2585 |
2514 void test_visitIndexExpression() { | 2586 void test_visitIndexExpression() { |
2515 _assertSource( | 2587 _assertSource( |
2516 "a[i]", | 2588 "a[i]", |
2517 AstFactory.indexExpression( | 2589 AstTestFactory.indexExpression( |
2518 AstFactory.identifier3("a"), AstFactory.identifier3("i"))); | 2590 AstTestFactory.identifier3("a"), AstTestFactory.identifier3("i"))); |
2519 } | 2591 } |
2520 | 2592 |
2521 void test_visitInstanceCreationExpression_const() { | 2593 void test_visitInstanceCreationExpression_const() { |
2522 _assertSource( | 2594 _assertSource( |
2523 "const C()", | 2595 "const C()", |
2524 AstFactory.instanceCreationExpression2( | 2596 AstTestFactory.instanceCreationExpression2( |
2525 Keyword.CONST, AstFactory.typeName4("C"))); | 2597 Keyword.CONST, AstTestFactory.typeName4("C"))); |
2526 } | 2598 } |
2527 | 2599 |
2528 void test_visitInstanceCreationExpression_named() { | 2600 void test_visitInstanceCreationExpression_named() { |
2529 _assertSource( | 2601 _assertSource( |
2530 "new C.c()", | 2602 "new C.c()", |
2531 AstFactory.instanceCreationExpression3( | 2603 AstTestFactory.instanceCreationExpression3( |
2532 Keyword.NEW, AstFactory.typeName4("C"), "c")); | 2604 Keyword.NEW, AstTestFactory.typeName4("C"), "c")); |
2533 } | 2605 } |
2534 | 2606 |
2535 void test_visitInstanceCreationExpression_unnamed() { | 2607 void test_visitInstanceCreationExpression_unnamed() { |
2536 _assertSource( | 2608 _assertSource( |
2537 "new C()", | 2609 "new C()", |
2538 AstFactory.instanceCreationExpression2( | 2610 AstTestFactory.instanceCreationExpression2( |
2539 Keyword.NEW, AstFactory.typeName4("C"))); | 2611 Keyword.NEW, AstTestFactory.typeName4("C"))); |
2540 } | 2612 } |
2541 | 2613 |
2542 void test_visitIntegerLiteral() { | 2614 void test_visitIntegerLiteral() { |
2543 _assertSource("42", AstFactory.integer(42)); | 2615 _assertSource("42", AstTestFactory.integer(42)); |
2544 } | 2616 } |
2545 | 2617 |
2546 void test_visitInterpolationExpression_expression() { | 2618 void test_visitInterpolationExpression_expression() { |
2547 _assertSource("\${a}", | 2619 _assertSource( |
2548 AstFactory.interpolationExpression(AstFactory.identifier3("a"))); | 2620 "\${a}", |
| 2621 AstTestFactory |
| 2622 .interpolationExpression(AstTestFactory.identifier3("a"))); |
2549 } | 2623 } |
2550 | 2624 |
2551 void test_visitInterpolationExpression_identifier() { | 2625 void test_visitInterpolationExpression_identifier() { |
2552 _assertSource("\$a", AstFactory.interpolationExpression2("a")); | 2626 _assertSource("\$a", AstTestFactory.interpolationExpression2("a")); |
2553 } | 2627 } |
2554 | 2628 |
2555 void test_visitInterpolationString() { | 2629 void test_visitInterpolationString() { |
2556 _assertSource("'x", AstFactory.interpolationString("'x", "x")); | 2630 _assertSource("'x", AstTestFactory.interpolationString("'x", "x")); |
2557 } | 2631 } |
2558 | 2632 |
2559 void test_visitIsExpression_negated() { | 2633 void test_visitIsExpression_negated() { |
2560 _assertSource( | 2634 _assertSource( |
2561 "a is! C", | 2635 "a is! C", |
2562 AstFactory.isExpression( | 2636 AstTestFactory.isExpression(AstTestFactory.identifier3("a"), true, |
2563 AstFactory.identifier3("a"), true, AstFactory.typeName4("C"))); | 2637 AstTestFactory.typeName4("C"))); |
2564 } | 2638 } |
2565 | 2639 |
2566 void test_visitIsExpression_normal() { | 2640 void test_visitIsExpression_normal() { |
2567 _assertSource( | 2641 _assertSource( |
2568 "a is C", | 2642 "a is C", |
2569 AstFactory.isExpression( | 2643 AstTestFactory.isExpression(AstTestFactory.identifier3("a"), false, |
2570 AstFactory.identifier3("a"), false, AstFactory.typeName4("C"))); | 2644 AstTestFactory.typeName4("C"))); |
2571 } | 2645 } |
2572 | 2646 |
2573 void test_visitLabel() { | 2647 void test_visitLabel() { |
2574 _assertSource("a:", AstFactory.label2("a")); | 2648 _assertSource("a:", AstTestFactory.label2("a")); |
2575 } | 2649 } |
2576 | 2650 |
2577 void test_visitLabeledStatement_multiple() { | 2651 void test_visitLabeledStatement_multiple() { |
2578 _assertSource( | 2652 _assertSource( |
2579 "a: b: return;", | 2653 "a: b: return;", |
2580 AstFactory.labeledStatement( | 2654 AstTestFactory.labeledStatement( |
2581 [AstFactory.label2("a"), AstFactory.label2("b")], | 2655 [AstTestFactory.label2("a"), AstTestFactory.label2("b")], |
2582 AstFactory.returnStatement())); | 2656 AstTestFactory.returnStatement())); |
2583 } | 2657 } |
2584 | 2658 |
2585 void test_visitLabeledStatement_single() { | 2659 void test_visitLabeledStatement_single() { |
2586 _assertSource( | 2660 _assertSource( |
2587 "a: return;", | 2661 "a: return;", |
2588 AstFactory.labeledStatement( | 2662 AstTestFactory.labeledStatement( |
2589 [AstFactory.label2("a")], AstFactory.returnStatement())); | 2663 [AstTestFactory.label2("a")], AstTestFactory.returnStatement())); |
2590 } | 2664 } |
2591 | 2665 |
2592 void test_visitLibraryDirective() { | 2666 void test_visitLibraryDirective() { |
2593 _assertSource("library l;", AstFactory.libraryDirective2("l")); | 2667 _assertSource("library l;", AstTestFactory.libraryDirective2("l")); |
2594 } | 2668 } |
2595 | 2669 |
2596 void test_visitLibraryDirective_withMetadata() { | 2670 void test_visitLibraryDirective_withMetadata() { |
2597 LibraryDirective directive = AstFactory.libraryDirective2("l"); | 2671 LibraryDirective directive = AstTestFactory.libraryDirective2("l"); |
2598 directive.metadata | 2672 directive.metadata.add( |
2599 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 2673 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
2600 _assertSource("@deprecated library l;", directive); | 2674 _assertSource("@deprecated library l;", directive); |
2601 } | 2675 } |
2602 | 2676 |
2603 void test_visitLibraryIdentifier_multiple() { | 2677 void test_visitLibraryIdentifier_multiple() { |
2604 _assertSource( | 2678 _assertSource( |
2605 "a.b.c", | 2679 "a.b.c", |
2606 AstFactory.libraryIdentifier([ | 2680 AstTestFactory.libraryIdentifier([ |
2607 AstFactory.identifier3("a"), | 2681 AstTestFactory.identifier3("a"), |
2608 AstFactory.identifier3("b"), | 2682 AstTestFactory.identifier3("b"), |
2609 AstFactory.identifier3("c") | 2683 AstTestFactory.identifier3("c") |
2610 ])); | 2684 ])); |
2611 } | 2685 } |
2612 | 2686 |
2613 void test_visitLibraryIdentifier_single() { | 2687 void test_visitLibraryIdentifier_single() { |
2614 _assertSource( | 2688 _assertSource("a", |
2615 "a", AstFactory.libraryIdentifier([AstFactory.identifier3("a")])); | 2689 AstTestFactory.libraryIdentifier([AstTestFactory.identifier3("a")])); |
2616 } | 2690 } |
2617 | 2691 |
2618 void test_visitListLiteral_const() { | 2692 void test_visitListLiteral_const() { |
2619 _assertSource("const []", AstFactory.listLiteral2(Keyword.CONST, null)); | 2693 _assertSource("const []", AstTestFactory.listLiteral2(Keyword.CONST, null)); |
2620 } | 2694 } |
2621 | 2695 |
2622 void test_visitListLiteral_empty() { | 2696 void test_visitListLiteral_empty() { |
2623 _assertSource("[]", AstFactory.listLiteral()); | 2697 _assertSource("[]", AstTestFactory.listLiteral()); |
2624 } | 2698 } |
2625 | 2699 |
2626 void test_visitListLiteral_nonEmpty() { | 2700 void test_visitListLiteral_nonEmpty() { |
2627 _assertSource( | 2701 _assertSource( |
2628 "[a, b, c]", | 2702 "[a, b, c]", |
2629 AstFactory.listLiteral([ | 2703 AstTestFactory.listLiteral([ |
2630 AstFactory.identifier3("a"), | 2704 AstTestFactory.identifier3("a"), |
2631 AstFactory.identifier3("b"), | 2705 AstTestFactory.identifier3("b"), |
2632 AstFactory.identifier3("c") | 2706 AstTestFactory.identifier3("c") |
2633 ])); | 2707 ])); |
2634 } | 2708 } |
2635 | 2709 |
2636 void test_visitMapLiteral_const() { | 2710 void test_visitMapLiteral_const() { |
2637 _assertSource("const {}", AstFactory.mapLiteral(Keyword.CONST, null)); | 2711 _assertSource("const {}", AstTestFactory.mapLiteral(Keyword.CONST, null)); |
2638 } | 2712 } |
2639 | 2713 |
2640 void test_visitMapLiteral_empty() { | 2714 void test_visitMapLiteral_empty() { |
2641 _assertSource("{}", AstFactory.mapLiteral2()); | 2715 _assertSource("{}", AstTestFactory.mapLiteral2()); |
2642 } | 2716 } |
2643 | 2717 |
2644 void test_visitMapLiteral_nonEmpty() { | 2718 void test_visitMapLiteral_nonEmpty() { |
2645 _assertSource( | 2719 _assertSource( |
2646 "{'a' : a, 'b' : b, 'c' : c}", | 2720 "{'a' : a, 'b' : b, 'c' : c}", |
2647 AstFactory.mapLiteral2([ | 2721 AstTestFactory.mapLiteral2([ |
2648 AstFactory.mapLiteralEntry("a", AstFactory.identifier3("a")), | 2722 AstTestFactory.mapLiteralEntry("a", AstTestFactory.identifier3("a")), |
2649 AstFactory.mapLiteralEntry("b", AstFactory.identifier3("b")), | 2723 AstTestFactory.mapLiteralEntry("b", AstTestFactory.identifier3("b")), |
2650 AstFactory.mapLiteralEntry("c", AstFactory.identifier3("c")) | 2724 AstTestFactory.mapLiteralEntry("c", AstTestFactory.identifier3("c")) |
2651 ])); | 2725 ])); |
2652 } | 2726 } |
2653 | 2727 |
2654 void test_visitMapLiteralEntry() { | 2728 void test_visitMapLiteralEntry() { |
2655 _assertSource("'a' : b", | 2729 _assertSource("'a' : b", |
2656 AstFactory.mapLiteralEntry("a", AstFactory.identifier3("b"))); | 2730 AstTestFactory.mapLiteralEntry("a", AstTestFactory.identifier3("b"))); |
2657 } | 2731 } |
2658 | 2732 |
2659 void test_visitMethodDeclaration_external() { | 2733 void test_visitMethodDeclaration_external() { |
2660 _assertSource( | 2734 _assertSource( |
2661 "external m();", | 2735 "external m();", |
2662 AstFactory.methodDeclaration(null, null, null, null, | 2736 AstTestFactory.methodDeclaration( |
2663 AstFactory.identifier3("m"), AstFactory.formalParameterList())); | 2737 null, |
| 2738 null, |
| 2739 null, |
| 2740 null, |
| 2741 AstTestFactory.identifier3("m"), |
| 2742 AstTestFactory.formalParameterList())); |
2664 } | 2743 } |
2665 | 2744 |
2666 void test_visitMethodDeclaration_external_returnType() { | 2745 void test_visitMethodDeclaration_external_returnType() { |
2667 _assertSource( | 2746 _assertSource( |
2668 "external T m();", | 2747 "external T m();", |
2669 AstFactory.methodDeclaration( | 2748 AstTestFactory.methodDeclaration( |
2670 null, | 2749 null, |
2671 AstFactory.typeName4("T"), | 2750 AstTestFactory.typeName4("T"), |
2672 null, | 2751 null, |
2673 null, | 2752 null, |
2674 AstFactory.identifier3("m"), | 2753 AstTestFactory.identifier3("m"), |
2675 AstFactory.formalParameterList())); | 2754 AstTestFactory.formalParameterList())); |
2676 } | 2755 } |
2677 | 2756 |
2678 void test_visitMethodDeclaration_getter() { | 2757 void test_visitMethodDeclaration_getter() { |
2679 _assertSource( | 2758 _assertSource( |
2680 "get m {}", | 2759 "get m {}", |
2681 AstFactory.methodDeclaration2( | 2760 AstTestFactory.methodDeclaration2( |
2682 null, | 2761 null, |
2683 null, | 2762 null, |
2684 Keyword.GET, | 2763 Keyword.GET, |
2685 null, | 2764 null, |
2686 AstFactory.identifier3("m"), | 2765 AstTestFactory.identifier3("m"), |
2687 null, | 2766 null, |
2688 AstFactory.blockFunctionBody2())); | 2767 AstTestFactory.blockFunctionBody2())); |
2689 } | 2768 } |
2690 | 2769 |
2691 void test_visitMethodDeclaration_getter_returnType() { | 2770 void test_visitMethodDeclaration_getter_returnType() { |
2692 _assertSource( | 2771 _assertSource( |
2693 "T get m {}", | 2772 "T get m {}", |
2694 AstFactory.methodDeclaration2( | 2773 AstTestFactory.methodDeclaration2( |
2695 null, | 2774 null, |
2696 AstFactory.typeName4("T"), | 2775 AstTestFactory.typeName4("T"), |
2697 Keyword.GET, | 2776 Keyword.GET, |
2698 null, | 2777 null, |
2699 AstFactory.identifier3("m"), | 2778 AstTestFactory.identifier3("m"), |
2700 null, | 2779 null, |
2701 AstFactory.blockFunctionBody2())); | 2780 AstTestFactory.blockFunctionBody2())); |
2702 } | 2781 } |
2703 | 2782 |
2704 void test_visitMethodDeclaration_getter_seturnType() { | 2783 void test_visitMethodDeclaration_getter_seturnType() { |
2705 _assertSource( | 2784 _assertSource( |
2706 "T set m(var v) {}", | 2785 "T set m(var v) {}", |
2707 AstFactory.methodDeclaration2( | 2786 AstTestFactory.methodDeclaration2( |
2708 null, | 2787 null, |
2709 AstFactory.typeName4("T"), | 2788 AstTestFactory.typeName4("T"), |
2710 Keyword.SET, | 2789 Keyword.SET, |
2711 null, | 2790 null, |
2712 AstFactory.identifier3("m"), | 2791 AstTestFactory.identifier3("m"), |
2713 AstFactory.formalParameterList( | 2792 AstTestFactory.formalParameterList( |
2714 [AstFactory.simpleFormalParameter(Keyword.VAR, "v")]), | 2793 [AstTestFactory.simpleFormalParameter(Keyword.VAR, "v")]), |
2715 AstFactory.blockFunctionBody2())); | 2794 AstTestFactory.blockFunctionBody2())); |
2716 } | 2795 } |
2717 | 2796 |
2718 void test_visitMethodDeclaration_minimal() { | 2797 void test_visitMethodDeclaration_minimal() { |
2719 _assertSource( | 2798 _assertSource( |
2720 "m() {}", | 2799 "m() {}", |
2721 AstFactory.methodDeclaration2( | 2800 AstTestFactory.methodDeclaration2( |
2722 null, | 2801 null, |
2723 null, | 2802 null, |
2724 null, | 2803 null, |
2725 null, | 2804 null, |
2726 AstFactory.identifier3("m"), | 2805 AstTestFactory.identifier3("m"), |
2727 AstFactory.formalParameterList(), | 2806 AstTestFactory.formalParameterList(), |
2728 AstFactory.blockFunctionBody2())); | 2807 AstTestFactory.blockFunctionBody2())); |
2729 } | 2808 } |
2730 | 2809 |
2731 void test_visitMethodDeclaration_multipleParameters() { | 2810 void test_visitMethodDeclaration_multipleParameters() { |
2732 _assertSource( | 2811 _assertSource( |
2733 "m(var a, var b) {}", | 2812 "m(var a, var b) {}", |
2734 AstFactory.methodDeclaration2( | 2813 AstTestFactory.methodDeclaration2( |
2735 null, | 2814 null, |
2736 null, | 2815 null, |
2737 null, | 2816 null, |
2738 null, | 2817 null, |
2739 AstFactory.identifier3("m"), | 2818 AstTestFactory.identifier3("m"), |
2740 AstFactory.formalParameterList([ | 2819 AstTestFactory.formalParameterList([ |
2741 AstFactory.simpleFormalParameter(Keyword.VAR, "a"), | 2820 AstTestFactory.simpleFormalParameter(Keyword.VAR, "a"), |
2742 AstFactory.simpleFormalParameter(Keyword.VAR, "b") | 2821 AstTestFactory.simpleFormalParameter(Keyword.VAR, "b") |
2743 ]), | 2822 ]), |
2744 AstFactory.blockFunctionBody2())); | 2823 AstTestFactory.blockFunctionBody2())); |
2745 } | 2824 } |
2746 | 2825 |
2747 void test_visitMethodDeclaration_operator() { | 2826 void test_visitMethodDeclaration_operator() { |
2748 _assertSource( | 2827 _assertSource( |
2749 "operator +() {}", | 2828 "operator +() {}", |
2750 AstFactory.methodDeclaration2( | 2829 AstTestFactory.methodDeclaration2( |
2751 null, | 2830 null, |
2752 null, | 2831 null, |
2753 null, | 2832 null, |
2754 Keyword.OPERATOR, | 2833 Keyword.OPERATOR, |
2755 AstFactory.identifier3("+"), | 2834 AstTestFactory.identifier3("+"), |
2756 AstFactory.formalParameterList(), | 2835 AstTestFactory.formalParameterList(), |
2757 AstFactory.blockFunctionBody2())); | 2836 AstTestFactory.blockFunctionBody2())); |
2758 } | 2837 } |
2759 | 2838 |
2760 void test_visitMethodDeclaration_operator_returnType() { | 2839 void test_visitMethodDeclaration_operator_returnType() { |
2761 _assertSource( | 2840 _assertSource( |
2762 "T operator +() {}", | 2841 "T operator +() {}", |
2763 AstFactory.methodDeclaration2( | 2842 AstTestFactory.methodDeclaration2( |
2764 null, | 2843 null, |
2765 AstFactory.typeName4("T"), | 2844 AstTestFactory.typeName4("T"), |
2766 null, | 2845 null, |
2767 Keyword.OPERATOR, | 2846 Keyword.OPERATOR, |
2768 AstFactory.identifier3("+"), | 2847 AstTestFactory.identifier3("+"), |
2769 AstFactory.formalParameterList(), | 2848 AstTestFactory.formalParameterList(), |
2770 AstFactory.blockFunctionBody2())); | 2849 AstTestFactory.blockFunctionBody2())); |
2771 } | 2850 } |
2772 | 2851 |
2773 void test_visitMethodDeclaration_returnType() { | 2852 void test_visitMethodDeclaration_returnType() { |
2774 _assertSource( | 2853 _assertSource( |
2775 "T m() {}", | 2854 "T m() {}", |
2776 AstFactory.methodDeclaration2( | 2855 AstTestFactory.methodDeclaration2( |
2777 null, | 2856 null, |
2778 AstFactory.typeName4("T"), | 2857 AstTestFactory.typeName4("T"), |
2779 null, | 2858 null, |
2780 null, | 2859 null, |
2781 AstFactory.identifier3("m"), | 2860 AstTestFactory.identifier3("m"), |
2782 AstFactory.formalParameterList(), | 2861 AstTestFactory.formalParameterList(), |
2783 AstFactory.blockFunctionBody2())); | 2862 AstTestFactory.blockFunctionBody2())); |
2784 } | 2863 } |
2785 | 2864 |
2786 void test_visitMethodDeclaration_setter() { | 2865 void test_visitMethodDeclaration_setter() { |
2787 _assertSource( | 2866 _assertSource( |
2788 "set m(var v) {}", | 2867 "set m(var v) {}", |
2789 AstFactory.methodDeclaration2( | 2868 AstTestFactory.methodDeclaration2( |
2790 null, | 2869 null, |
2791 null, | 2870 null, |
2792 Keyword.SET, | 2871 Keyword.SET, |
2793 null, | 2872 null, |
2794 AstFactory.identifier3("m"), | 2873 AstTestFactory.identifier3("m"), |
2795 AstFactory.formalParameterList( | 2874 AstTestFactory.formalParameterList( |
2796 [AstFactory.simpleFormalParameter(Keyword.VAR, "v")]), | 2875 [AstTestFactory.simpleFormalParameter(Keyword.VAR, "v")]), |
2797 AstFactory.blockFunctionBody2())); | 2876 AstTestFactory.blockFunctionBody2())); |
2798 } | 2877 } |
2799 | 2878 |
2800 void test_visitMethodDeclaration_static() { | 2879 void test_visitMethodDeclaration_static() { |
2801 _assertSource( | 2880 _assertSource( |
2802 "static m() {}", | 2881 "static m() {}", |
2803 AstFactory.methodDeclaration2( | 2882 AstTestFactory.methodDeclaration2( |
2804 Keyword.STATIC, | 2883 Keyword.STATIC, |
2805 null, | 2884 null, |
2806 null, | 2885 null, |
2807 null, | 2886 null, |
2808 AstFactory.identifier3("m"), | 2887 AstTestFactory.identifier3("m"), |
2809 AstFactory.formalParameterList(), | 2888 AstTestFactory.formalParameterList(), |
2810 AstFactory.blockFunctionBody2())); | 2889 AstTestFactory.blockFunctionBody2())); |
2811 } | 2890 } |
2812 | 2891 |
2813 void test_visitMethodDeclaration_static_returnType() { | 2892 void test_visitMethodDeclaration_static_returnType() { |
2814 _assertSource( | 2893 _assertSource( |
2815 "static T m() {}", | 2894 "static T m() {}", |
2816 AstFactory.methodDeclaration2( | 2895 AstTestFactory.methodDeclaration2( |
2817 Keyword.STATIC, | 2896 Keyword.STATIC, |
2818 AstFactory.typeName4("T"), | 2897 AstTestFactory.typeName4("T"), |
2819 null, | 2898 null, |
2820 null, | 2899 null, |
2821 AstFactory.identifier3("m"), | 2900 AstTestFactory.identifier3("m"), |
2822 AstFactory.formalParameterList(), | 2901 AstTestFactory.formalParameterList(), |
2823 AstFactory.blockFunctionBody2())); | 2902 AstTestFactory.blockFunctionBody2())); |
2824 } | 2903 } |
2825 | 2904 |
2826 void test_visitMethodDeclaration_typeParameters() { | 2905 void test_visitMethodDeclaration_typeParameters() { |
2827 _assertSource( | 2906 _assertSource( |
2828 "m<E>() {}", | 2907 "m<E>() {}", |
2829 AstFactory.methodDeclaration3( | 2908 AstTestFactory.methodDeclaration3( |
2830 null, | 2909 null, |
2831 null, | 2910 null, |
2832 null, | 2911 null, |
2833 null, | 2912 null, |
2834 AstFactory.identifier3("m"), | 2913 AstTestFactory.identifier3("m"), |
2835 AstFactory.typeParameterList(['E']), | 2914 AstTestFactory.typeParameterList(['E']), |
2836 AstFactory.formalParameterList(), | 2915 AstTestFactory.formalParameterList(), |
2837 AstFactory.blockFunctionBody2())); | 2916 AstTestFactory.blockFunctionBody2())); |
2838 } | 2917 } |
2839 | 2918 |
2840 void test_visitMethodDeclaration_withMetadata() { | 2919 void test_visitMethodDeclaration_withMetadata() { |
2841 MethodDeclaration declaration = AstFactory.methodDeclaration2( | 2920 MethodDeclaration declaration = AstTestFactory.methodDeclaration2( |
2842 null, | 2921 null, |
2843 null, | 2922 null, |
2844 null, | 2923 null, |
2845 null, | 2924 null, |
2846 AstFactory.identifier3("m"), | 2925 AstTestFactory.identifier3("m"), |
2847 AstFactory.formalParameterList(), | 2926 AstTestFactory.formalParameterList(), |
2848 AstFactory.blockFunctionBody2()); | 2927 AstTestFactory.blockFunctionBody2()); |
2849 declaration.metadata | 2928 declaration.metadata.add( |
2850 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 2929 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
2851 _assertSource("@deprecated m() {}", declaration); | 2930 _assertSource("@deprecated m() {}", declaration); |
2852 } | 2931 } |
2853 | 2932 |
2854 void test_visitMethodInvocation_conditional() { | 2933 void test_visitMethodInvocation_conditional() { |
2855 _assertSource( | 2934 _assertSource( |
2856 "t?.m()", | 2935 "t?.m()", |
2857 AstFactory.methodInvocation( | 2936 AstTestFactory.methodInvocation(AstTestFactory.identifier3("t"), "m", |
2858 AstFactory.identifier3("t"), "m", null, TokenType.QUESTION_PERIOD)); | 2937 null, TokenType.QUESTION_PERIOD)); |
2859 } | 2938 } |
2860 | 2939 |
2861 void test_visitMethodInvocation_noTarget() { | 2940 void test_visitMethodInvocation_noTarget() { |
2862 _assertSource("m()", AstFactory.methodInvocation2("m")); | 2941 _assertSource("m()", AstTestFactory.methodInvocation2("m")); |
2863 } | 2942 } |
2864 | 2943 |
2865 void test_visitMethodInvocation_target() { | 2944 void test_visitMethodInvocation_target() { |
2866 _assertSource( | 2945 _assertSource("t.m()", |
2867 "t.m()", AstFactory.methodInvocation(AstFactory.identifier3("t"), "m")); | 2946 AstTestFactory.methodInvocation(AstTestFactory.identifier3("t"), "m")); |
2868 } | 2947 } |
2869 | 2948 |
2870 void test_visitMethodInvocation_typeArguments() { | 2949 void test_visitMethodInvocation_typeArguments() { |
2871 _assertSource( | 2950 _assertSource( |
2872 "m<A>()", | 2951 "m<A>()", |
2873 AstFactory.methodInvocation3(null, "m", | 2952 AstTestFactory.methodInvocation3(null, "m", |
2874 AstFactory.typeArgumentList([AstFactory.typeName4('A')]))); | 2953 AstTestFactory.typeArgumentList([AstTestFactory.typeName4('A')]))); |
2875 } | 2954 } |
2876 | 2955 |
2877 void test_visitNamedExpression() { | 2956 void test_visitNamedExpression() { |
2878 _assertSource( | 2957 _assertSource("a: b", |
2879 "a: b", AstFactory.namedExpression2("a", AstFactory.identifier3("b"))); | 2958 AstTestFactory.namedExpression2("a", AstTestFactory.identifier3("b"))); |
2880 } | 2959 } |
2881 | 2960 |
2882 void test_visitNamedFormalParameter() { | 2961 void test_visitNamedFormalParameter() { |
2883 _assertSource( | 2962 _assertSource( |
2884 "var a : 0", | 2963 "var a : 0", |
2885 AstFactory.namedFormalParameter( | 2964 AstTestFactory.namedFormalParameter( |
2886 AstFactory.simpleFormalParameter(Keyword.VAR, "a"), | 2965 AstTestFactory.simpleFormalParameter(Keyword.VAR, "a"), |
2887 AstFactory.integer(0))); | 2966 AstTestFactory.integer(0))); |
2888 } | 2967 } |
2889 | 2968 |
2890 void test_visitNativeClause() { | 2969 void test_visitNativeClause() { |
2891 _assertSource("native 'code'", AstFactory.nativeClause("code")); | 2970 _assertSource("native 'code'", AstTestFactory.nativeClause("code")); |
2892 } | 2971 } |
2893 | 2972 |
2894 void test_visitNativeFunctionBody() { | 2973 void test_visitNativeFunctionBody() { |
2895 _assertSource("native 'str';", AstFactory.nativeFunctionBody("str")); | 2974 _assertSource("native 'str';", AstTestFactory.nativeFunctionBody("str")); |
2896 } | 2975 } |
2897 | 2976 |
2898 void test_visitNullLiteral() { | 2977 void test_visitNullLiteral() { |
2899 _assertSource("null", AstFactory.nullLiteral()); | 2978 _assertSource("null", AstTestFactory.nullLiteral()); |
2900 } | 2979 } |
2901 | 2980 |
2902 void test_visitParenthesizedExpression() { | 2981 void test_visitParenthesizedExpression() { |
2903 _assertSource( | 2982 _assertSource( |
2904 "(a)", AstFactory.parenthesizedExpression(AstFactory.identifier3("a"))); | 2983 "(a)", |
| 2984 AstTestFactory |
| 2985 .parenthesizedExpression(AstTestFactory.identifier3("a"))); |
2905 } | 2986 } |
2906 | 2987 |
2907 void test_visitPartDirective() { | 2988 void test_visitPartDirective() { |
2908 _assertSource("part 'a.dart';", AstFactory.partDirective2("a.dart")); | 2989 _assertSource("part 'a.dart';", AstTestFactory.partDirective2("a.dart")); |
2909 } | 2990 } |
2910 | 2991 |
2911 void test_visitPartDirective_withMetadata() { | 2992 void test_visitPartDirective_withMetadata() { |
2912 PartDirective directive = AstFactory.partDirective2("a.dart"); | 2993 PartDirective directive = AstTestFactory.partDirective2("a.dart"); |
2913 directive.metadata | 2994 directive.metadata.add( |
2914 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 2995 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
2915 _assertSource("@deprecated part 'a.dart';", directive); | 2996 _assertSource("@deprecated part 'a.dart';", directive); |
2916 } | 2997 } |
2917 | 2998 |
2918 void test_visitPartOfDirective() { | 2999 void test_visitPartOfDirective() { |
2919 _assertSource("part of l;", | 3000 _assertSource( |
2920 AstFactory.partOfDirective(AstFactory.libraryIdentifier2(["l"]))); | 3001 "part of l;", |
| 3002 AstTestFactory |
| 3003 .partOfDirective(AstTestFactory.libraryIdentifier2(["l"]))); |
2921 } | 3004 } |
2922 | 3005 |
2923 void test_visitPartOfDirective_withMetadata() { | 3006 void test_visitPartOfDirective_withMetadata() { |
2924 PartOfDirective directive = | 3007 PartOfDirective directive = AstTestFactory |
2925 AstFactory.partOfDirective(AstFactory.libraryIdentifier2(["l"])); | 3008 .partOfDirective(AstTestFactory.libraryIdentifier2(["l"])); |
2926 directive.metadata | 3009 directive.metadata.add( |
2927 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 3010 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
2928 _assertSource("@deprecated part of l;", directive); | 3011 _assertSource("@deprecated part of l;", directive); |
2929 } | 3012 } |
2930 | 3013 |
2931 void test_visitPositionalFormalParameter() { | 3014 void test_visitPositionalFormalParameter() { |
2932 _assertSource( | 3015 _assertSource( |
2933 "var a = 0", | 3016 "var a = 0", |
2934 AstFactory.positionalFormalParameter( | 3017 AstTestFactory.positionalFormalParameter( |
2935 AstFactory.simpleFormalParameter(Keyword.VAR, "a"), | 3018 AstTestFactory.simpleFormalParameter(Keyword.VAR, "a"), |
2936 AstFactory.integer(0))); | 3019 AstTestFactory.integer(0))); |
2937 } | 3020 } |
2938 | 3021 |
2939 void test_visitPostfixExpression() { | 3022 void test_visitPostfixExpression() { |
2940 _assertSource( | 3023 _assertSource( |
2941 "a++", | 3024 "a++", |
2942 AstFactory.postfixExpression( | 3025 AstTestFactory.postfixExpression( |
2943 AstFactory.identifier3("a"), TokenType.PLUS_PLUS)); | 3026 AstTestFactory.identifier3("a"), TokenType.PLUS_PLUS)); |
2944 } | 3027 } |
2945 | 3028 |
2946 void test_visitPrefixedIdentifier() { | 3029 void test_visitPrefixedIdentifier() { |
2947 _assertSource("a.b", AstFactory.identifier5("a", "b")); | 3030 _assertSource("a.b", AstTestFactory.identifier5("a", "b")); |
2948 } | 3031 } |
2949 | 3032 |
2950 void test_visitPrefixExpression() { | 3033 void test_visitPrefixExpression() { |
2951 _assertSource( | 3034 _assertSource( |
2952 "-a", | 3035 "-a", |
2953 AstFactory.prefixExpression( | 3036 AstTestFactory.prefixExpression( |
2954 TokenType.MINUS, AstFactory.identifier3("a"))); | 3037 TokenType.MINUS, AstTestFactory.identifier3("a"))); |
2955 } | 3038 } |
2956 | 3039 |
2957 void test_visitPropertyAccess() { | 3040 void test_visitPropertyAccess() { |
2958 _assertSource( | 3041 _assertSource("a.b", |
2959 "a.b", AstFactory.propertyAccess2(AstFactory.identifier3("a"), "b")); | 3042 AstTestFactory.propertyAccess2(AstTestFactory.identifier3("a"), "b")); |
2960 } | 3043 } |
2961 | 3044 |
2962 void test_visitPropertyAccess_conditional() { | 3045 void test_visitPropertyAccess_conditional() { |
2963 _assertSource( | 3046 _assertSource( |
2964 "a?.b", | 3047 "a?.b", |
2965 AstFactory.propertyAccess2( | 3048 AstTestFactory.propertyAccess2( |
2966 AstFactory.identifier3("a"), "b", TokenType.QUESTION_PERIOD)); | 3049 AstTestFactory.identifier3("a"), "b", TokenType.QUESTION_PERIOD)); |
2967 } | 3050 } |
2968 | 3051 |
2969 void test_visitRedirectingConstructorInvocation_named() { | 3052 void test_visitRedirectingConstructorInvocation_named() { |
2970 _assertSource( | 3053 _assertSource( |
2971 "this.c()", AstFactory.redirectingConstructorInvocation2("c")); | 3054 "this.c()", AstTestFactory.redirectingConstructorInvocation2("c")); |
2972 } | 3055 } |
2973 | 3056 |
2974 void test_visitRedirectingConstructorInvocation_unnamed() { | 3057 void test_visitRedirectingConstructorInvocation_unnamed() { |
2975 _assertSource("this()", AstFactory.redirectingConstructorInvocation()); | 3058 _assertSource("this()", AstTestFactory.redirectingConstructorInvocation()); |
2976 } | 3059 } |
2977 | 3060 |
2978 void test_visitRethrowExpression() { | 3061 void test_visitRethrowExpression() { |
2979 _assertSource("rethrow", AstFactory.rethrowExpression()); | 3062 _assertSource("rethrow", AstTestFactory.rethrowExpression()); |
2980 } | 3063 } |
2981 | 3064 |
2982 void test_visitReturnStatement_expression() { | 3065 void test_visitReturnStatement_expression() { |
2983 _assertSource( | 3066 _assertSource("return a;", |
2984 "return a;", AstFactory.returnStatement2(AstFactory.identifier3("a"))); | 3067 AstTestFactory.returnStatement2(AstTestFactory.identifier3("a"))); |
2985 } | 3068 } |
2986 | 3069 |
2987 void test_visitReturnStatement_noExpression() { | 3070 void test_visitReturnStatement_noExpression() { |
2988 _assertSource("return;", AstFactory.returnStatement()); | 3071 _assertSource("return;", AstTestFactory.returnStatement()); |
2989 } | 3072 } |
2990 | 3073 |
2991 void test_visitScriptTag() { | 3074 void test_visitScriptTag() { |
2992 String scriptTag = "!#/bin/dart.exe"; | 3075 String scriptTag = "!#/bin/dart.exe"; |
2993 _assertSource(scriptTag, AstFactory.scriptTag(scriptTag)); | 3076 _assertSource(scriptTag, AstTestFactory.scriptTag(scriptTag)); |
2994 } | 3077 } |
2995 | 3078 |
2996 void test_visitSimpleFormalParameter_annotation() { | 3079 void test_visitSimpleFormalParameter_annotation() { |
2997 SimpleFormalParameter parameter = AstFactory.simpleFormalParameter3('x'); | 3080 SimpleFormalParameter parameter = |
2998 parameter.metadata.add(AstFactory.annotation(AstFactory.identifier3("A"))); | 3081 AstTestFactory.simpleFormalParameter3('x'); |
| 3082 parameter.metadata |
| 3083 .add(AstTestFactory.annotation(AstTestFactory.identifier3("A"))); |
2999 _assertSource('@A x', parameter); | 3084 _assertSource('@A x', parameter); |
3000 } | 3085 } |
3001 | 3086 |
3002 void test_visitSimpleFormalParameter_keyword() { | 3087 void test_visitSimpleFormalParameter_keyword() { |
3003 _assertSource("var a", AstFactory.simpleFormalParameter(Keyword.VAR, "a")); | 3088 _assertSource( |
| 3089 "var a", AstTestFactory.simpleFormalParameter(Keyword.VAR, "a")); |
3004 } | 3090 } |
3005 | 3091 |
3006 void test_visitSimpleFormalParameter_keyword_type() { | 3092 void test_visitSimpleFormalParameter_keyword_type() { |
3007 _assertSource( | 3093 _assertSource( |
3008 "final A a", | 3094 "final A a", |
3009 AstFactory.simpleFormalParameter2( | 3095 AstTestFactory.simpleFormalParameter2( |
3010 Keyword.FINAL, AstFactory.typeName4("A"), "a")); | 3096 Keyword.FINAL, AstTestFactory.typeName4("A"), "a")); |
3011 } | 3097 } |
3012 | 3098 |
3013 void test_visitSimpleFormalParameter_type() { | 3099 void test_visitSimpleFormalParameter_type() { |
3014 _assertSource("A a", | 3100 _assertSource( |
3015 AstFactory.simpleFormalParameter4(AstFactory.typeName4("A"), "a")); | 3101 "A a", |
| 3102 AstTestFactory.simpleFormalParameter4( |
| 3103 AstTestFactory.typeName4("A"), "a")); |
3016 } | 3104 } |
3017 | 3105 |
3018 void test_visitSimpleIdentifier() { | 3106 void test_visitSimpleIdentifier() { |
3019 _assertSource("a", AstFactory.identifier3("a")); | 3107 _assertSource("a", AstTestFactory.identifier3("a")); |
3020 } | 3108 } |
3021 | 3109 |
3022 void test_visitSimpleStringLiteral() { | 3110 void test_visitSimpleStringLiteral() { |
3023 _assertSource("'a'", AstFactory.string2("a")); | 3111 _assertSource("'a'", AstTestFactory.string2("a")); |
3024 } | 3112 } |
3025 | 3113 |
3026 void test_visitStringInterpolation() { | 3114 void test_visitStringInterpolation() { |
3027 _assertSource( | 3115 _assertSource( |
3028 "'a\${e}b'", | 3116 "'a\${e}b'", |
3029 AstFactory.string([ | 3117 AstTestFactory.string([ |
3030 AstFactory.interpolationString("'a", "a"), | 3118 AstTestFactory.interpolationString("'a", "a"), |
3031 AstFactory.interpolationExpression(AstFactory.identifier3("e")), | 3119 AstTestFactory |
3032 AstFactory.interpolationString("b'", "b") | 3120 .interpolationExpression(AstTestFactory.identifier3("e")), |
| 3121 AstTestFactory.interpolationString("b'", "b") |
3033 ])); | 3122 ])); |
3034 } | 3123 } |
3035 | 3124 |
3036 void test_visitSuperConstructorInvocation() { | 3125 void test_visitSuperConstructorInvocation() { |
3037 _assertSource("super()", AstFactory.superConstructorInvocation()); | 3126 _assertSource("super()", AstTestFactory.superConstructorInvocation()); |
3038 } | 3127 } |
3039 | 3128 |
3040 void test_visitSuperConstructorInvocation_named() { | 3129 void test_visitSuperConstructorInvocation_named() { |
3041 _assertSource("super.c()", AstFactory.superConstructorInvocation2("c")); | 3130 _assertSource("super.c()", AstTestFactory.superConstructorInvocation2("c")); |
3042 } | 3131 } |
3043 | 3132 |
3044 void test_visitSuperExpression() { | 3133 void test_visitSuperExpression() { |
3045 _assertSource("super", AstFactory.superExpression()); | 3134 _assertSource("super", AstTestFactory.superExpression()); |
3046 } | 3135 } |
3047 | 3136 |
3048 void test_visitSwitchCase_multipleLabels() { | 3137 void test_visitSwitchCase_multipleLabels() { |
3049 _assertSource( | 3138 _assertSource( |
3050 "l1: l2: case a: {}", | 3139 "l1: l2: case a: {}", |
3051 AstFactory.switchCase2( | 3140 AstTestFactory.switchCase2( |
3052 [AstFactory.label2("l1"), AstFactory.label2("l2")], | 3141 [AstTestFactory.label2("l1"), AstTestFactory.label2("l2")], |
3053 AstFactory.identifier3("a"), | 3142 AstTestFactory.identifier3("a"), |
3054 [AstFactory.block()])); | 3143 [AstTestFactory.block()])); |
3055 } | 3144 } |
3056 | 3145 |
3057 void test_visitSwitchCase_multipleStatements() { | 3146 void test_visitSwitchCase_multipleStatements() { |
3058 _assertSource( | 3147 _assertSource( |
3059 "case a: {} {}", | 3148 "case a: {} {}", |
3060 AstFactory.switchCase(AstFactory.identifier3("a"), | 3149 AstTestFactory.switchCase(AstTestFactory.identifier3("a"), |
3061 [AstFactory.block(), AstFactory.block()])); | 3150 [AstTestFactory.block(), AstTestFactory.block()])); |
3062 } | 3151 } |
3063 | 3152 |
3064 void test_visitSwitchCase_noLabels() { | 3153 void test_visitSwitchCase_noLabels() { |
3065 _assertSource( | 3154 _assertSource( |
3066 "case a: {}", | 3155 "case a: {}", |
3067 AstFactory | 3156 AstTestFactory.switchCase( |
3068 .switchCase(AstFactory.identifier3("a"), [AstFactory.block()])); | 3157 AstTestFactory.identifier3("a"), [AstTestFactory.block()])); |
3069 } | 3158 } |
3070 | 3159 |
3071 void test_visitSwitchCase_singleLabel() { | 3160 void test_visitSwitchCase_singleLabel() { |
3072 _assertSource( | 3161 _assertSource( |
3073 "l1: case a: {}", | 3162 "l1: case a: {}", |
3074 AstFactory.switchCase2([AstFactory.label2("l1")], | 3163 AstTestFactory.switchCase2([AstTestFactory.label2("l1")], |
3075 AstFactory.identifier3("a"), [AstFactory.block()])); | 3164 AstTestFactory.identifier3("a"), [AstTestFactory.block()])); |
3076 } | 3165 } |
3077 | 3166 |
3078 void test_visitSwitchDefault_multipleLabels() { | 3167 void test_visitSwitchDefault_multipleLabels() { |
3079 _assertSource( | 3168 _assertSource( |
3080 "l1: l2: default: {}", | 3169 "l1: l2: default: {}", |
3081 AstFactory.switchDefault( | 3170 AstTestFactory.switchDefault( |
3082 [AstFactory.label2("l1"), AstFactory.label2("l2")], | 3171 [AstTestFactory.label2("l1"), AstTestFactory.label2("l2")], |
3083 [AstFactory.block()])); | 3172 [AstTestFactory.block()])); |
3084 } | 3173 } |
3085 | 3174 |
3086 void test_visitSwitchDefault_multipleStatements() { | 3175 void test_visitSwitchDefault_multipleStatements() { |
3087 _assertSource("default: {} {}", | 3176 _assertSource( |
3088 AstFactory.switchDefault2([AstFactory.block(), AstFactory.block()])); | 3177 "default: {} {}", |
| 3178 AstTestFactory |
| 3179 .switchDefault2([AstTestFactory.block(), AstTestFactory.block()])); |
3089 } | 3180 } |
3090 | 3181 |
3091 void test_visitSwitchDefault_noLabels() { | 3182 void test_visitSwitchDefault_noLabels() { |
3092 _assertSource( | 3183 _assertSource( |
3093 "default: {}", AstFactory.switchDefault2([AstFactory.block()])); | 3184 "default: {}", AstTestFactory.switchDefault2([AstTestFactory.block()])); |
3094 } | 3185 } |
3095 | 3186 |
3096 void test_visitSwitchDefault_singleLabel() { | 3187 void test_visitSwitchDefault_singleLabel() { |
3097 _assertSource( | 3188 _assertSource( |
3098 "l1: default: {}", | 3189 "l1: default: {}", |
3099 AstFactory | 3190 AstTestFactory.switchDefault( |
3100 .switchDefault([AstFactory.label2("l1")], [AstFactory.block()])); | 3191 [AstTestFactory.label2("l1")], [AstTestFactory.block()])); |
3101 } | 3192 } |
3102 | 3193 |
3103 void test_visitSwitchStatement() { | 3194 void test_visitSwitchStatement() { |
3104 _assertSource( | 3195 _assertSource( |
3105 "switch (a) {case 'b': {} default: {}}", | 3196 "switch (a) {case 'b': {} default: {}}", |
3106 AstFactory.switchStatement(AstFactory.identifier3("a"), [ | 3197 AstTestFactory.switchStatement(AstTestFactory.identifier3("a"), [ |
3107 AstFactory.switchCase(AstFactory.string2("b"), [AstFactory.block()]), | 3198 AstTestFactory.switchCase( |
3108 AstFactory.switchDefault2([AstFactory.block()]) | 3199 AstTestFactory.string2("b"), [AstTestFactory.block()]), |
| 3200 AstTestFactory.switchDefault2([AstTestFactory.block()]) |
3109 ])); | 3201 ])); |
3110 } | 3202 } |
3111 | 3203 |
3112 void test_visitSymbolLiteral_multiple() { | 3204 void test_visitSymbolLiteral_multiple() { |
3113 _assertSource("#a.b.c", AstFactory.symbolLiteral(["a", "b", "c"])); | 3205 _assertSource("#a.b.c", AstTestFactory.symbolLiteral(["a", "b", "c"])); |
3114 } | 3206 } |
3115 | 3207 |
3116 void test_visitSymbolLiteral_single() { | 3208 void test_visitSymbolLiteral_single() { |
3117 _assertSource("#a", AstFactory.symbolLiteral(["a"])); | 3209 _assertSource("#a", AstTestFactory.symbolLiteral(["a"])); |
3118 } | 3210 } |
3119 | 3211 |
3120 void test_visitThisExpression() { | 3212 void test_visitThisExpression() { |
3121 _assertSource("this", AstFactory.thisExpression()); | 3213 _assertSource("this", AstTestFactory.thisExpression()); |
3122 } | 3214 } |
3123 | 3215 |
3124 void test_visitThrowStatement() { | 3216 void test_visitThrowStatement() { |
3125 _assertSource( | 3217 _assertSource("throw e", |
3126 "throw e", AstFactory.throwExpression2(AstFactory.identifier3("e"))); | 3218 AstTestFactory.throwExpression2(AstTestFactory.identifier3("e"))); |
3127 } | 3219 } |
3128 | 3220 |
3129 void test_visitTopLevelVariableDeclaration_multiple() { | 3221 void test_visitTopLevelVariableDeclaration_multiple() { |
3130 _assertSource( | 3222 _assertSource( |
3131 "var a;", | 3223 "var a;", |
3132 AstFactory.topLevelVariableDeclaration2( | 3224 AstTestFactory.topLevelVariableDeclaration2( |
3133 Keyword.VAR, [AstFactory.variableDeclaration("a")])); | 3225 Keyword.VAR, [AstTestFactory.variableDeclaration("a")])); |
3134 } | 3226 } |
3135 | 3227 |
3136 void test_visitTopLevelVariableDeclaration_single() { | 3228 void test_visitTopLevelVariableDeclaration_single() { |
3137 _assertSource( | 3229 _assertSource( |
3138 "var a, b;", | 3230 "var a, b;", |
3139 AstFactory.topLevelVariableDeclaration2(Keyword.VAR, [ | 3231 AstTestFactory.topLevelVariableDeclaration2(Keyword.VAR, [ |
3140 AstFactory.variableDeclaration("a"), | 3232 AstTestFactory.variableDeclaration("a"), |
3141 AstFactory.variableDeclaration("b") | 3233 AstTestFactory.variableDeclaration("b") |
3142 ])); | 3234 ])); |
3143 } | 3235 } |
3144 | 3236 |
3145 void test_visitTryStatement_catch() { | 3237 void test_visitTryStatement_catch() { |
3146 _assertSource( | 3238 _assertSource( |
3147 "try {} on E {}", | 3239 "try {} on E {}", |
3148 AstFactory.tryStatement2(AstFactory.block(), | 3240 AstTestFactory.tryStatement2(AstTestFactory.block(), |
3149 [AstFactory.catchClause3(AstFactory.typeName4("E"))])); | 3241 [AstTestFactory.catchClause3(AstTestFactory.typeName4("E"))])); |
3150 } | 3242 } |
3151 | 3243 |
3152 void test_visitTryStatement_catches() { | 3244 void test_visitTryStatement_catches() { |
3153 _assertSource( | 3245 _assertSource( |
3154 "try {} on E {} on F {}", | 3246 "try {} on E {} on F {}", |
3155 AstFactory.tryStatement2(AstFactory.block(), [ | 3247 AstTestFactory.tryStatement2(AstTestFactory.block(), [ |
3156 AstFactory.catchClause3(AstFactory.typeName4("E")), | 3248 AstTestFactory.catchClause3(AstTestFactory.typeName4("E")), |
3157 AstFactory.catchClause3(AstFactory.typeName4("F")) | 3249 AstTestFactory.catchClause3(AstTestFactory.typeName4("F")) |
3158 ])); | 3250 ])); |
3159 } | 3251 } |
3160 | 3252 |
3161 void test_visitTryStatement_catchFinally() { | 3253 void test_visitTryStatement_catchFinally() { |
3162 _assertSource( | 3254 _assertSource( |
3163 "try {} on E {} finally {}", | 3255 "try {} on E {} finally {}", |
3164 AstFactory.tryStatement3( | 3256 AstTestFactory.tryStatement3( |
3165 AstFactory.block(), | 3257 AstTestFactory.block(), |
3166 [AstFactory.catchClause3(AstFactory.typeName4("E"))], | 3258 [AstTestFactory.catchClause3(AstTestFactory.typeName4("E"))], |
3167 AstFactory.block())); | 3259 AstTestFactory.block())); |
3168 } | 3260 } |
3169 | 3261 |
3170 void test_visitTryStatement_finally() { | 3262 void test_visitTryStatement_finally() { |
3171 _assertSource("try {} finally {}", | 3263 _assertSource( |
3172 AstFactory.tryStatement(AstFactory.block(), AstFactory.block())); | 3264 "try {} finally {}", |
| 3265 AstTestFactory.tryStatement( |
| 3266 AstTestFactory.block(), AstTestFactory.block())); |
3173 } | 3267 } |
3174 | 3268 |
3175 void test_visitTypeArgumentList_multiple() { | 3269 void test_visitTypeArgumentList_multiple() { |
3176 _assertSource( | 3270 _assertSource( |
3177 "<E, F>", | 3271 "<E, F>", |
3178 AstFactory.typeArgumentList( | 3272 AstTestFactory.typeArgumentList( |
3179 [AstFactory.typeName4("E"), AstFactory.typeName4("F")])); | 3273 [AstTestFactory.typeName4("E"), AstTestFactory.typeName4("F")])); |
3180 } | 3274 } |
3181 | 3275 |
3182 void test_visitTypeArgumentList_single() { | 3276 void test_visitTypeArgumentList_single() { |
3183 _assertSource( | 3277 _assertSource("<E>", |
3184 "<E>", AstFactory.typeArgumentList([AstFactory.typeName4("E")])); | 3278 AstTestFactory.typeArgumentList([AstTestFactory.typeName4("E")])); |
3185 } | 3279 } |
3186 | 3280 |
3187 void test_visitTypeName_multipleArgs() { | 3281 void test_visitTypeName_multipleArgs() { |
3188 _assertSource( | 3282 _assertSource( |
3189 "C<D, E>", | 3283 "C<D, E>", |
3190 AstFactory.typeName4( | 3284 AstTestFactory.typeName4("C", |
3191 "C", [AstFactory.typeName4("D"), AstFactory.typeName4("E")])); | 3285 [AstTestFactory.typeName4("D"), AstTestFactory.typeName4("E")])); |
3192 } | 3286 } |
3193 | 3287 |
3194 void test_visitTypeName_nestedArg() { | 3288 void test_visitTypeName_nestedArg() { |
3195 _assertSource( | 3289 _assertSource( |
3196 "C<D<E>>", | 3290 "C<D<E>>", |
3197 AstFactory.typeName4("C", [ | 3291 AstTestFactory.typeName4("C", [ |
3198 AstFactory.typeName4("D", [AstFactory.typeName4("E")]) | 3292 AstTestFactory.typeName4("D", [AstTestFactory.typeName4("E")]) |
3199 ])); | 3293 ])); |
3200 } | 3294 } |
3201 | 3295 |
3202 void test_visitTypeName_noArgs() { | 3296 void test_visitTypeName_noArgs() { |
3203 _assertSource("C", AstFactory.typeName4("C")); | 3297 _assertSource("C", AstTestFactory.typeName4("C")); |
3204 } | 3298 } |
3205 | 3299 |
3206 void test_visitTypeName_singleArg() { | 3300 void test_visitTypeName_singleArg() { |
3207 _assertSource( | 3301 _assertSource( |
3208 "C<D>", AstFactory.typeName4("C", [AstFactory.typeName4("D")])); | 3302 "C<D>", AstTestFactory.typeName4("C", [AstTestFactory.typeName4("D")])); |
3209 } | 3303 } |
3210 | 3304 |
3211 void test_visitTypeParameter_withExtends() { | 3305 void test_visitTypeParameter_withExtends() { |
3212 _assertSource("E extends C", | 3306 _assertSource("E extends C", |
3213 AstFactory.typeParameter2("E", AstFactory.typeName4("C"))); | 3307 AstTestFactory.typeParameter2("E", AstTestFactory.typeName4("C"))); |
3214 } | 3308 } |
3215 | 3309 |
3216 void test_visitTypeParameter_withMetadata() { | 3310 void test_visitTypeParameter_withMetadata() { |
3217 TypeParameter parameter = AstFactory.typeParameter("E"); | 3311 TypeParameter parameter = AstTestFactory.typeParameter("E"); |
3218 parameter.metadata | 3312 parameter.metadata.add( |
3219 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 3313 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
3220 _assertSource("@deprecated E", parameter); | 3314 _assertSource("@deprecated E", parameter); |
3221 } | 3315 } |
3222 | 3316 |
3223 void test_visitTypeParameter_withoutExtends() { | 3317 void test_visitTypeParameter_withoutExtends() { |
3224 _assertSource("E", AstFactory.typeParameter("E")); | 3318 _assertSource("E", AstTestFactory.typeParameter("E")); |
3225 } | 3319 } |
3226 | 3320 |
3227 void test_visitTypeParameterList_multiple() { | 3321 void test_visitTypeParameterList_multiple() { |
3228 _assertSource("<E, F>", AstFactory.typeParameterList(["E", "F"])); | 3322 _assertSource("<E, F>", AstTestFactory.typeParameterList(["E", "F"])); |
3229 } | 3323 } |
3230 | 3324 |
3231 void test_visitTypeParameterList_single() { | 3325 void test_visitTypeParameterList_single() { |
3232 _assertSource("<E>", AstFactory.typeParameterList(["E"])); | 3326 _assertSource("<E>", AstTestFactory.typeParameterList(["E"])); |
3233 } | 3327 } |
3234 | 3328 |
3235 void test_visitVariableDeclaration_initialized() { | 3329 void test_visitVariableDeclaration_initialized() { |
3236 _assertSource("a = b", | 3330 _assertSource( |
3237 AstFactory.variableDeclaration2("a", AstFactory.identifier3("b"))); | 3331 "a = b", |
| 3332 AstTestFactory.variableDeclaration2( |
| 3333 "a", AstTestFactory.identifier3("b"))); |
3238 } | 3334 } |
3239 | 3335 |
3240 void test_visitVariableDeclaration_uninitialized() { | 3336 void test_visitVariableDeclaration_uninitialized() { |
3241 _assertSource("a", AstFactory.variableDeclaration("a")); | 3337 _assertSource("a", AstTestFactory.variableDeclaration("a")); |
3242 } | 3338 } |
3243 | 3339 |
3244 void test_visitVariableDeclaration_withMetadata() { | 3340 void test_visitVariableDeclaration_withMetadata() { |
3245 VariableDeclaration declaration = AstFactory.variableDeclaration("a"); | 3341 VariableDeclaration declaration = AstTestFactory.variableDeclaration("a"); |
3246 declaration.metadata | 3342 declaration.metadata.add( |
3247 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 3343 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
3248 _assertSource("@deprecated a", declaration); | 3344 _assertSource("@deprecated a", declaration); |
3249 } | 3345 } |
3250 | 3346 |
3251 void test_visitVariableDeclarationList_const_type() { | 3347 void test_visitVariableDeclarationList_const_type() { |
3252 _assertSource( | 3348 _assertSource( |
3253 "const C a, b", | 3349 "const C a, b", |
3254 AstFactory.variableDeclarationList( | 3350 AstTestFactory.variableDeclarationList( |
3255 Keyword.CONST, AstFactory.typeName4("C"), [ | 3351 Keyword.CONST, AstTestFactory.typeName4("C"), [ |
3256 AstFactory.variableDeclaration("a"), | 3352 AstTestFactory.variableDeclaration("a"), |
3257 AstFactory.variableDeclaration("b") | 3353 AstTestFactory.variableDeclaration("b") |
3258 ])); | 3354 ])); |
3259 } | 3355 } |
3260 | 3356 |
3261 void test_visitVariableDeclarationList_final_noType() { | 3357 void test_visitVariableDeclarationList_final_noType() { |
3262 _assertSource( | 3358 _assertSource( |
3263 "final a, b", | 3359 "final a, b", |
3264 AstFactory.variableDeclarationList2(Keyword.FINAL, [ | 3360 AstTestFactory.variableDeclarationList2(Keyword.FINAL, [ |
3265 AstFactory.variableDeclaration("a"), | 3361 AstTestFactory.variableDeclaration("a"), |
3266 AstFactory.variableDeclaration("b") | 3362 AstTestFactory.variableDeclaration("b") |
3267 ])); | 3363 ])); |
3268 } | 3364 } |
3269 | 3365 |
3270 void test_visitVariableDeclarationList_final_withMetadata() { | 3366 void test_visitVariableDeclarationList_final_withMetadata() { |
3271 VariableDeclarationList declarationList = AstFactory | 3367 VariableDeclarationList declarationList = AstTestFactory |
3272 .variableDeclarationList2(Keyword.FINAL, [ | 3368 .variableDeclarationList2(Keyword.FINAL, [ |
3273 AstFactory.variableDeclaration("a"), | 3369 AstTestFactory.variableDeclaration("a"), |
3274 AstFactory.variableDeclaration("b") | 3370 AstTestFactory.variableDeclaration("b") |
3275 ]); | 3371 ]); |
3276 declarationList.metadata | 3372 declarationList.metadata.add( |
3277 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 3373 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
3278 _assertSource("@deprecated final a, b", declarationList); | 3374 _assertSource("@deprecated final a, b", declarationList); |
3279 } | 3375 } |
3280 | 3376 |
3281 void test_visitVariableDeclarationList_type() { | 3377 void test_visitVariableDeclarationList_type() { |
3282 _assertSource( | 3378 _assertSource( |
3283 "C a, b", | 3379 "C a, b", |
3284 AstFactory.variableDeclarationList(null, AstFactory.typeName4("C"), [ | 3380 AstTestFactory.variableDeclarationList( |
3285 AstFactory.variableDeclaration("a"), | 3381 null, AstTestFactory.typeName4("C"), [ |
3286 AstFactory.variableDeclaration("b") | 3382 AstTestFactory.variableDeclaration("a"), |
| 3383 AstTestFactory.variableDeclaration("b") |
3287 ])); | 3384 ])); |
3288 } | 3385 } |
3289 | 3386 |
3290 void test_visitVariableDeclarationList_var() { | 3387 void test_visitVariableDeclarationList_var() { |
3291 _assertSource( | 3388 _assertSource( |
3292 "var a, b", | 3389 "var a, b", |
3293 AstFactory.variableDeclarationList2(Keyword.VAR, [ | 3390 AstTestFactory.variableDeclarationList2(Keyword.VAR, [ |
3294 AstFactory.variableDeclaration("a"), | 3391 AstTestFactory.variableDeclaration("a"), |
3295 AstFactory.variableDeclaration("b") | 3392 AstTestFactory.variableDeclaration("b") |
3296 ])); | 3393 ])); |
3297 } | 3394 } |
3298 | 3395 |
3299 void test_visitVariableDeclarationStatement() { | 3396 void test_visitVariableDeclarationStatement() { |
3300 _assertSource( | 3397 _assertSource( |
3301 "C c;", | 3398 "C c;", |
3302 AstFactory.variableDeclarationStatement(null, AstFactory.typeName4("C"), | 3399 AstTestFactory.variableDeclarationStatement( |
3303 [AstFactory.variableDeclaration("c")])); | 3400 null, |
| 3401 AstTestFactory.typeName4("C"), |
| 3402 [AstTestFactory.variableDeclaration("c")])); |
3304 } | 3403 } |
3305 | 3404 |
3306 void test_visitWhileStatement() { | 3405 void test_visitWhileStatement() { |
3307 _assertSource( | 3406 _assertSource( |
3308 "while (c) {}", | 3407 "while (c) {}", |
3309 AstFactory.whileStatement( | 3408 AstTestFactory.whileStatement( |
3310 AstFactory.identifier3("c"), AstFactory.block())); | 3409 AstTestFactory.identifier3("c"), AstTestFactory.block())); |
3311 } | 3410 } |
3312 | 3411 |
3313 void test_visitWithClause_multiple() { | 3412 void test_visitWithClause_multiple() { |
3314 _assertSource( | 3413 _assertSource( |
3315 "with A, B, C", | 3414 "with A, B, C", |
3316 AstFactory.withClause([ | 3415 AstTestFactory.withClause([ |
3317 AstFactory.typeName4("A"), | 3416 AstTestFactory.typeName4("A"), |
3318 AstFactory.typeName4("B"), | 3417 AstTestFactory.typeName4("B"), |
3319 AstFactory.typeName4("C") | 3418 AstTestFactory.typeName4("C") |
3320 ])); | 3419 ])); |
3321 } | 3420 } |
3322 | 3421 |
3323 void test_visitWithClause_single() { | 3422 void test_visitWithClause_single() { |
3324 _assertSource("with A", AstFactory.withClause([AstFactory.typeName4("A")])); | 3423 _assertSource( |
| 3424 "with A", AstTestFactory.withClause([AstTestFactory.typeName4("A")])); |
3325 } | 3425 } |
3326 | 3426 |
3327 void test_visitYieldStatement() { | 3427 void test_visitYieldStatement() { |
3328 _assertSource( | 3428 _assertSource("yield e;", |
3329 "yield e;", AstFactory.yieldStatement(AstFactory.identifier3("e"))); | 3429 AstTestFactory.yieldStatement(AstTestFactory.identifier3("e"))); |
3330 } | 3430 } |
3331 | 3431 |
3332 void test_visitYieldStatement_each() { | 3432 void test_visitYieldStatement_each() { |
3333 _assertSource("yield* e;", | 3433 _assertSource("yield* e;", |
3334 AstFactory.yieldEachStatement(AstFactory.identifier3("e"))); | 3434 AstTestFactory.yieldEachStatement(AstTestFactory.identifier3("e"))); |
3335 } | 3435 } |
3336 | 3436 |
3337 /** | 3437 /** |
3338 * Assert that a `ToSourceVisitor2` will produce the [expectedSource] when | 3438 * Assert that a `ToSourceVisitor2` will produce the [expectedSource] when |
3339 * visiting the given [node]. | 3439 * visiting the given [node]. |
3340 */ | 3440 */ |
3341 void _assertSource(String expectedSource, AstNode node) { | 3441 void _assertSource(String expectedSource, AstNode node) { |
3342 StringBuffer buffer = new StringBuffer(); | 3442 StringBuffer buffer = new StringBuffer(); |
3343 node.accept(new ToSourceVisitor2(buffer)); | 3443 node.accept(new ToSourceVisitor2(buffer)); |
3344 expect(buffer.toString(), expectedSource); | 3444 expect(buffer.toString(), expectedSource); |
3345 } | 3445 } |
3346 } | 3446 } |
3347 | 3447 |
3348 @deprecated | 3448 @deprecated |
3349 @reflectiveTest | 3449 @reflectiveTest |
3350 class ToSourceVisitorTest extends EngineTestCase { | 3450 class ToSourceVisitorTest extends EngineTestCase { |
3351 void test_visitAdjacentStrings() { | 3451 void test_visitAdjacentStrings() { |
3352 _assertSource( | 3452 _assertSource( |
3353 "'a' 'b'", | 3453 "'a' 'b'", |
3354 AstFactory.adjacentStrings( | 3454 AstTestFactory.adjacentStrings( |
3355 [AstFactory.string2("a"), AstFactory.string2("b")])); | 3455 [AstTestFactory.string2("a"), AstTestFactory.string2("b")])); |
3356 } | 3456 } |
3357 | 3457 |
3358 void test_visitAnnotation_constant() { | 3458 void test_visitAnnotation_constant() { |
3359 _assertSource("@A", AstFactory.annotation(AstFactory.identifier3("A"))); | 3459 _assertSource( |
| 3460 "@A", AstTestFactory.annotation(AstTestFactory.identifier3("A"))); |
3360 } | 3461 } |
3361 | 3462 |
3362 void test_visitAnnotation_constructor() { | 3463 void test_visitAnnotation_constructor() { |
3363 _assertSource( | 3464 _assertSource( |
3364 "@A.c()", | 3465 "@A.c()", |
3365 AstFactory.annotation2(AstFactory.identifier3("A"), | 3466 AstTestFactory.annotation2(AstTestFactory.identifier3("A"), |
3366 AstFactory.identifier3("c"), AstFactory.argumentList())); | 3467 AstTestFactory.identifier3("c"), AstTestFactory.argumentList())); |
3367 } | 3468 } |
3368 | 3469 |
3369 void test_visitArgumentList() { | 3470 void test_visitArgumentList() { |
3370 _assertSource( | 3471 _assertSource( |
3371 "(a, b)", | 3472 "(a, b)", |
3372 AstFactory.argumentList( | 3473 AstTestFactory.argumentList([ |
3373 [AstFactory.identifier3("a"), AstFactory.identifier3("b")])); | 3474 AstTestFactory.identifier3("a"), |
| 3475 AstTestFactory.identifier3("b") |
| 3476 ])); |
3374 } | 3477 } |
3375 | 3478 |
3376 void test_visitAsExpression() { | 3479 void test_visitAsExpression() { |
3377 _assertSource( | 3480 _assertSource( |
3378 "e as T", | 3481 "e as T", |
3379 AstFactory.asExpression( | 3482 AstTestFactory.asExpression( |
3380 AstFactory.identifier3("e"), AstFactory.typeName4("T"))); | 3483 AstTestFactory.identifier3("e"), AstTestFactory.typeName4("T"))); |
3381 } | 3484 } |
3382 | 3485 |
3383 void test_visitAssertStatement() { | 3486 void test_visitAssertStatement() { |
3384 _assertSource( | 3487 _assertSource("assert (a);", |
3385 "assert (a);", AstFactory.assertStatement(AstFactory.identifier3("a"))); | 3488 AstTestFactory.assertStatement(AstTestFactory.identifier3("a"))); |
3386 } | 3489 } |
3387 | 3490 |
3388 void test_visitAssertStatement_withMessage() { | 3491 void test_visitAssertStatement_withMessage() { |
3389 _assertSource( | 3492 _assertSource( |
3390 "assert (a, b);", | 3493 "assert (a, b);", |
3391 AstFactory.assertStatement( | 3494 AstTestFactory.assertStatement( |
3392 AstFactory.identifier3("a"), AstFactory.identifier3('b'))); | 3495 AstTestFactory.identifier3("a"), AstTestFactory.identifier3('b'))); |
3393 } | 3496 } |
3394 | 3497 |
3395 void test_visitAssignmentExpression() { | 3498 void test_visitAssignmentExpression() { |
3396 _assertSource( | 3499 _assertSource( |
3397 "a = b", | 3500 "a = b", |
3398 AstFactory.assignmentExpression(AstFactory.identifier3("a"), | 3501 AstTestFactory.assignmentExpression(AstTestFactory.identifier3("a"), |
3399 TokenType.EQ, AstFactory.identifier3("b"))); | 3502 TokenType.EQ, AstTestFactory.identifier3("b"))); |
3400 } | 3503 } |
3401 | 3504 |
3402 void test_visitAwaitExpression() { | 3505 void test_visitAwaitExpression() { |
3403 _assertSource( | 3506 _assertSource("await e", |
3404 "await e", AstFactory.awaitExpression(AstFactory.identifier3("e"))); | 3507 AstTestFactory.awaitExpression(AstTestFactory.identifier3("e"))); |
3405 } | 3508 } |
3406 | 3509 |
3407 void test_visitBinaryExpression() { | 3510 void test_visitBinaryExpression() { |
3408 _assertSource( | 3511 _assertSource( |
3409 "a + b", | 3512 "a + b", |
3410 AstFactory.binaryExpression(AstFactory.identifier3("a"), TokenType.PLUS, | 3513 AstTestFactory.binaryExpression(AstTestFactory.identifier3("a"), |
3411 AstFactory.identifier3("b"))); | 3514 TokenType.PLUS, AstTestFactory.identifier3("b"))); |
3412 } | 3515 } |
3413 | 3516 |
3414 void test_visitBlock_empty() { | 3517 void test_visitBlock_empty() { |
3415 _assertSource("{}", AstFactory.block()); | 3518 _assertSource("{}", AstTestFactory.block()); |
3416 } | 3519 } |
3417 | 3520 |
3418 void test_visitBlock_nonEmpty() { | 3521 void test_visitBlock_nonEmpty() { |
3419 _assertSource( | 3522 _assertSource( |
3420 "{break; break;}", | 3523 "{break; break;}", |
3421 AstFactory | 3524 AstTestFactory.block([ |
3422 .block([AstFactory.breakStatement(), AstFactory.breakStatement()])); | 3525 AstTestFactory.breakStatement(), |
| 3526 AstTestFactory.breakStatement() |
| 3527 ])); |
3423 } | 3528 } |
3424 | 3529 |
3425 void test_visitBlockFunctionBody_async() { | 3530 void test_visitBlockFunctionBody_async() { |
3426 _assertSource("async {}", AstFactory.asyncBlockFunctionBody()); | 3531 _assertSource("async {}", AstTestFactory.asyncBlockFunctionBody()); |
3427 } | 3532 } |
3428 | 3533 |
3429 void test_visitBlockFunctionBody_async_star() { | 3534 void test_visitBlockFunctionBody_async_star() { |
3430 _assertSource("async* {}", AstFactory.asyncGeneratorBlockFunctionBody()); | 3535 _assertSource( |
| 3536 "async* {}", AstTestFactory.asyncGeneratorBlockFunctionBody()); |
3431 } | 3537 } |
3432 | 3538 |
3433 void test_visitBlockFunctionBody_simple() { | 3539 void test_visitBlockFunctionBody_simple() { |
3434 _assertSource("{}", AstFactory.blockFunctionBody2()); | 3540 _assertSource("{}", AstTestFactory.blockFunctionBody2()); |
3435 } | 3541 } |
3436 | 3542 |
3437 void test_visitBlockFunctionBody_sync() { | 3543 void test_visitBlockFunctionBody_sync() { |
3438 _assertSource("sync {}", AstFactory.syncBlockFunctionBody()); | 3544 _assertSource("sync {}", AstTestFactory.syncBlockFunctionBody()); |
3439 } | 3545 } |
3440 | 3546 |
3441 void test_visitBlockFunctionBody_sync_star() { | 3547 void test_visitBlockFunctionBody_sync_star() { |
3442 _assertSource("sync* {}", AstFactory.syncGeneratorBlockFunctionBody()); | 3548 _assertSource("sync* {}", AstTestFactory.syncGeneratorBlockFunctionBody()); |
3443 } | 3549 } |
3444 | 3550 |
3445 void test_visitBooleanLiteral_false() { | 3551 void test_visitBooleanLiteral_false() { |
3446 _assertSource("false", AstFactory.booleanLiteral(false)); | 3552 _assertSource("false", AstTestFactory.booleanLiteral(false)); |
3447 } | 3553 } |
3448 | 3554 |
3449 void test_visitBooleanLiteral_true() { | 3555 void test_visitBooleanLiteral_true() { |
3450 _assertSource("true", AstFactory.booleanLiteral(true)); | 3556 _assertSource("true", AstTestFactory.booleanLiteral(true)); |
3451 } | 3557 } |
3452 | 3558 |
3453 void test_visitBreakStatement_label() { | 3559 void test_visitBreakStatement_label() { |
3454 _assertSource("break l;", AstFactory.breakStatement2("l")); | 3560 _assertSource("break l;", AstTestFactory.breakStatement2("l")); |
3455 } | 3561 } |
3456 | 3562 |
3457 void test_visitBreakStatement_noLabel() { | 3563 void test_visitBreakStatement_noLabel() { |
3458 _assertSource("break;", AstFactory.breakStatement()); | 3564 _assertSource("break;", AstTestFactory.breakStatement()); |
3459 } | 3565 } |
3460 | 3566 |
3461 void test_visitCascadeExpression_field() { | 3567 void test_visitCascadeExpression_field() { |
3462 _assertSource( | 3568 _assertSource( |
3463 "a..b..c", | 3569 "a..b..c", |
3464 AstFactory.cascadeExpression(AstFactory.identifier3("a"), [ | 3570 AstTestFactory.cascadeExpression(AstTestFactory.identifier3("a"), [ |
3465 AstFactory.cascadedPropertyAccess("b"), | 3571 AstTestFactory.cascadedPropertyAccess("b"), |
3466 AstFactory.cascadedPropertyAccess("c") | 3572 AstTestFactory.cascadedPropertyAccess("c") |
3467 ])); | 3573 ])); |
3468 } | 3574 } |
3469 | 3575 |
3470 void test_visitCascadeExpression_index() { | 3576 void test_visitCascadeExpression_index() { |
3471 _assertSource( | 3577 _assertSource( |
3472 "a..[0]..[1]", | 3578 "a..[0]..[1]", |
3473 AstFactory.cascadeExpression(AstFactory.identifier3("a"), [ | 3579 AstTestFactory.cascadeExpression(AstTestFactory.identifier3("a"), [ |
3474 AstFactory.cascadedIndexExpression(AstFactory.integer(0)), | 3580 AstTestFactory.cascadedIndexExpression(AstTestFactory.integer(0)), |
3475 AstFactory.cascadedIndexExpression(AstFactory.integer(1)) | 3581 AstTestFactory.cascadedIndexExpression(AstTestFactory.integer(1)) |
3476 ])); | 3582 ])); |
3477 } | 3583 } |
3478 | 3584 |
3479 void test_visitCascadeExpression_method() { | 3585 void test_visitCascadeExpression_method() { |
3480 _assertSource( | 3586 _assertSource( |
3481 "a..b()..c()", | 3587 "a..b()..c()", |
3482 AstFactory.cascadeExpression(AstFactory.identifier3("a"), [ | 3588 AstTestFactory.cascadeExpression(AstTestFactory.identifier3("a"), [ |
3483 AstFactory.cascadedMethodInvocation("b"), | 3589 AstTestFactory.cascadedMethodInvocation("b"), |
3484 AstFactory.cascadedMethodInvocation("c") | 3590 AstTestFactory.cascadedMethodInvocation("c") |
3485 ])); | 3591 ])); |
3486 } | 3592 } |
3487 | 3593 |
3488 void test_visitCatchClause_catch_noStack() { | 3594 void test_visitCatchClause_catch_noStack() { |
3489 _assertSource("catch (e) {}", AstFactory.catchClause("e")); | 3595 _assertSource("catch (e) {}", AstTestFactory.catchClause("e")); |
3490 } | 3596 } |
3491 | 3597 |
3492 void test_visitCatchClause_catch_stack() { | 3598 void test_visitCatchClause_catch_stack() { |
3493 _assertSource("catch (e, s) {}", AstFactory.catchClause2("e", "s")); | 3599 _assertSource("catch (e, s) {}", AstTestFactory.catchClause2("e", "s")); |
3494 } | 3600 } |
3495 | 3601 |
3496 void test_visitCatchClause_on() { | 3602 void test_visitCatchClause_on() { |
3497 _assertSource( | 3603 _assertSource( |
3498 "on E {}", AstFactory.catchClause3(AstFactory.typeName4("E"))); | 3604 "on E {}", AstTestFactory.catchClause3(AstTestFactory.typeName4("E"))); |
3499 } | 3605 } |
3500 | 3606 |
3501 void test_visitCatchClause_on_catch() { | 3607 void test_visitCatchClause_on_catch() { |
3502 _assertSource("on E catch (e) {}", | 3608 _assertSource("on E catch (e) {}", |
3503 AstFactory.catchClause4(AstFactory.typeName4("E"), "e")); | 3609 AstTestFactory.catchClause4(AstTestFactory.typeName4("E"), "e")); |
3504 } | 3610 } |
3505 | 3611 |
3506 void test_visitClassDeclaration_abstract() { | 3612 void test_visitClassDeclaration_abstract() { |
3507 _assertSource( | 3613 _assertSource( |
3508 "abstract class C {}", | 3614 "abstract class C {}", |
3509 AstFactory.classDeclaration( | 3615 AstTestFactory.classDeclaration( |
3510 Keyword.ABSTRACT, "C", null, null, null, null)); | 3616 Keyword.ABSTRACT, "C", null, null, null, null)); |
3511 } | 3617 } |
3512 | 3618 |
3513 void test_visitClassDeclaration_empty() { | 3619 void test_visitClassDeclaration_empty() { |
3514 _assertSource("class C {}", | 3620 _assertSource("class C {}", |
3515 AstFactory.classDeclaration(null, "C", null, null, null, null)); | 3621 AstTestFactory.classDeclaration(null, "C", null, null, null, null)); |
3516 } | 3622 } |
3517 | 3623 |
3518 void test_visitClassDeclaration_extends() { | 3624 void test_visitClassDeclaration_extends() { |
3519 _assertSource( | 3625 _assertSource( |
3520 "class C extends A {}", | 3626 "class C extends A {}", |
3521 AstFactory.classDeclaration(null, "C", null, | 3627 AstTestFactory.classDeclaration( |
3522 AstFactory.extendsClause(AstFactory.typeName4("A")), null, null)); | 3628 null, |
| 3629 "C", |
| 3630 null, |
| 3631 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
| 3632 null, |
| 3633 null)); |
3523 } | 3634 } |
3524 | 3635 |
3525 void test_visitClassDeclaration_extends_implements() { | 3636 void test_visitClassDeclaration_extends_implements() { |
3526 _assertSource( | 3637 _assertSource( |
3527 "class C extends A implements B {}", | 3638 "class C extends A implements B {}", |
3528 AstFactory.classDeclaration( | 3639 AstTestFactory.classDeclaration( |
3529 null, | 3640 null, |
3530 "C", | 3641 "C", |
3531 null, | 3642 null, |
3532 AstFactory.extendsClause(AstFactory.typeName4("A")), | 3643 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
3533 null, | 3644 null, |
3534 AstFactory.implementsClause([AstFactory.typeName4("B")]))); | 3645 AstTestFactory.implementsClause([AstTestFactory.typeName4("B")]))); |
3535 } | 3646 } |
3536 | 3647 |
3537 void test_visitClassDeclaration_extends_with() { | 3648 void test_visitClassDeclaration_extends_with() { |
3538 _assertSource( | 3649 _assertSource( |
3539 "class C extends A with M {}", | 3650 "class C extends A with M {}", |
3540 AstFactory.classDeclaration( | 3651 AstTestFactory.classDeclaration( |
3541 null, | 3652 null, |
3542 "C", | 3653 "C", |
3543 null, | 3654 null, |
3544 AstFactory.extendsClause(AstFactory.typeName4("A")), | 3655 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
3545 AstFactory.withClause([AstFactory.typeName4("M")]), | 3656 AstTestFactory.withClause([AstTestFactory.typeName4("M")]), |
3546 null)); | 3657 null)); |
3547 } | 3658 } |
3548 | 3659 |
3549 void test_visitClassDeclaration_extends_with_implements() { | 3660 void test_visitClassDeclaration_extends_with_implements() { |
3550 _assertSource( | 3661 _assertSource( |
3551 "class C extends A with M implements B {}", | 3662 "class C extends A with M implements B {}", |
3552 AstFactory.classDeclaration( | 3663 AstTestFactory.classDeclaration( |
3553 null, | 3664 null, |
3554 "C", | 3665 "C", |
3555 null, | 3666 null, |
3556 AstFactory.extendsClause(AstFactory.typeName4("A")), | 3667 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
3557 AstFactory.withClause([AstFactory.typeName4("M")]), | 3668 AstTestFactory.withClause([AstTestFactory.typeName4("M")]), |
3558 AstFactory.implementsClause([AstFactory.typeName4("B")]))); | 3669 AstTestFactory.implementsClause([AstTestFactory.typeName4("B")]))); |
3559 } | 3670 } |
3560 | 3671 |
3561 void test_visitClassDeclaration_implements() { | 3672 void test_visitClassDeclaration_implements() { |
3562 _assertSource( | 3673 _assertSource( |
3563 "class C implements B {}", | 3674 "class C implements B {}", |
3564 AstFactory.classDeclaration(null, "C", null, null, null, | 3675 AstTestFactory.classDeclaration(null, "C", null, null, null, |
3565 AstFactory.implementsClause([AstFactory.typeName4("B")]))); | 3676 AstTestFactory.implementsClause([AstTestFactory.typeName4("B")]))); |
3566 } | 3677 } |
3567 | 3678 |
3568 void test_visitClassDeclaration_multipleMember() { | 3679 void test_visitClassDeclaration_multipleMember() { |
3569 _assertSource( | 3680 _assertSource( |
3570 "class C {var a; var b;}", | 3681 "class C {var a; var b;}", |
3571 AstFactory.classDeclaration(null, "C", null, null, null, null, [ | 3682 AstTestFactory.classDeclaration(null, "C", null, null, null, null, [ |
3572 AstFactory.fieldDeclaration2( | 3683 AstTestFactory.fieldDeclaration2( |
3573 false, Keyword.VAR, [AstFactory.variableDeclaration("a")]), | 3684 false, Keyword.VAR, [AstTestFactory.variableDeclaration("a")]), |
3574 AstFactory.fieldDeclaration2( | 3685 AstTestFactory.fieldDeclaration2( |
3575 false, Keyword.VAR, [AstFactory.variableDeclaration("b")]) | 3686 false, Keyword.VAR, [AstTestFactory.variableDeclaration("b")]) |
3576 ])); | 3687 ])); |
3577 } | 3688 } |
3578 | 3689 |
3579 void test_visitClassDeclaration_parameters() { | 3690 void test_visitClassDeclaration_parameters() { |
3580 _assertSource( | 3691 _assertSource( |
3581 "class C<E> {}", | 3692 "class C<E> {}", |
3582 AstFactory.classDeclaration( | 3693 AstTestFactory.classDeclaration(null, "C", |
3583 null, "C", AstFactory.typeParameterList(["E"]), null, null, null)); | 3694 AstTestFactory.typeParameterList(["E"]), null, null, null)); |
3584 } | 3695 } |
3585 | 3696 |
3586 void test_visitClassDeclaration_parameters_extends() { | 3697 void test_visitClassDeclaration_parameters_extends() { |
3587 _assertSource( | 3698 _assertSource( |
3588 "class C<E> extends A {}", | 3699 "class C<E> extends A {}", |
3589 AstFactory.classDeclaration( | 3700 AstTestFactory.classDeclaration( |
3590 null, | 3701 null, |
3591 "C", | 3702 "C", |
3592 AstFactory.typeParameterList(["E"]), | 3703 AstTestFactory.typeParameterList(["E"]), |
3593 AstFactory.extendsClause(AstFactory.typeName4("A")), | 3704 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
3594 null, | 3705 null, |
3595 null)); | 3706 null)); |
3596 } | 3707 } |
3597 | 3708 |
3598 void test_visitClassDeclaration_parameters_extends_implements() { | 3709 void test_visitClassDeclaration_parameters_extends_implements() { |
3599 _assertSource( | 3710 _assertSource( |
3600 "class C<E> extends A implements B {}", | 3711 "class C<E> extends A implements B {}", |
3601 AstFactory.classDeclaration( | 3712 AstTestFactory.classDeclaration( |
3602 null, | 3713 null, |
3603 "C", | 3714 "C", |
3604 AstFactory.typeParameterList(["E"]), | 3715 AstTestFactory.typeParameterList(["E"]), |
3605 AstFactory.extendsClause(AstFactory.typeName4("A")), | 3716 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
3606 null, | 3717 null, |
3607 AstFactory.implementsClause([AstFactory.typeName4("B")]))); | 3718 AstTestFactory.implementsClause([AstTestFactory.typeName4("B")]))); |
3608 } | 3719 } |
3609 | 3720 |
3610 void test_visitClassDeclaration_parameters_extends_with() { | 3721 void test_visitClassDeclaration_parameters_extends_with() { |
3611 _assertSource( | 3722 _assertSource( |
3612 "class C<E> extends A with M {}", | 3723 "class C<E> extends A with M {}", |
3613 AstFactory.classDeclaration( | 3724 AstTestFactory.classDeclaration( |
3614 null, | 3725 null, |
3615 "C", | 3726 "C", |
3616 AstFactory.typeParameterList(["E"]), | 3727 AstTestFactory.typeParameterList(["E"]), |
3617 AstFactory.extendsClause(AstFactory.typeName4("A")), | 3728 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
3618 AstFactory.withClause([AstFactory.typeName4("M")]), | 3729 AstTestFactory.withClause([AstTestFactory.typeName4("M")]), |
3619 null)); | 3730 null)); |
3620 } | 3731 } |
3621 | 3732 |
3622 void test_visitClassDeclaration_parameters_extends_with_implements() { | 3733 void test_visitClassDeclaration_parameters_extends_with_implements() { |
3623 _assertSource( | 3734 _assertSource( |
3624 "class C<E> extends A with M implements B {}", | 3735 "class C<E> extends A with M implements B {}", |
3625 AstFactory.classDeclaration( | 3736 AstTestFactory.classDeclaration( |
3626 null, | 3737 null, |
3627 "C", | 3738 "C", |
3628 AstFactory.typeParameterList(["E"]), | 3739 AstTestFactory.typeParameterList(["E"]), |
3629 AstFactory.extendsClause(AstFactory.typeName4("A")), | 3740 AstTestFactory.extendsClause(AstTestFactory.typeName4("A")), |
3630 AstFactory.withClause([AstFactory.typeName4("M")]), | 3741 AstTestFactory.withClause([AstTestFactory.typeName4("M")]), |
3631 AstFactory.implementsClause([AstFactory.typeName4("B")]))); | 3742 AstTestFactory.implementsClause([AstTestFactory.typeName4("B")]))); |
3632 } | 3743 } |
3633 | 3744 |
3634 void test_visitClassDeclaration_parameters_implements() { | 3745 void test_visitClassDeclaration_parameters_implements() { |
3635 _assertSource( | 3746 _assertSource( |
3636 "class C<E> implements B {}", | 3747 "class C<E> implements B {}", |
3637 AstFactory.classDeclaration( | 3748 AstTestFactory.classDeclaration( |
3638 null, | 3749 null, |
3639 "C", | 3750 "C", |
3640 AstFactory.typeParameterList(["E"]), | 3751 AstTestFactory.typeParameterList(["E"]), |
3641 null, | 3752 null, |
3642 null, | 3753 null, |
3643 AstFactory.implementsClause([AstFactory.typeName4("B")]))); | 3754 AstTestFactory.implementsClause([AstTestFactory.typeName4("B")]))); |
3644 } | 3755 } |
3645 | 3756 |
3646 void test_visitClassDeclaration_singleMember() { | 3757 void test_visitClassDeclaration_singleMember() { |
3647 _assertSource( | 3758 _assertSource( |
3648 "class C {var a;}", | 3759 "class C {var a;}", |
3649 AstFactory.classDeclaration(null, "C", null, null, null, null, [ | 3760 AstTestFactory.classDeclaration(null, "C", null, null, null, null, [ |
3650 AstFactory.fieldDeclaration2( | 3761 AstTestFactory.fieldDeclaration2( |
3651 false, Keyword.VAR, [AstFactory.variableDeclaration("a")]) | 3762 false, Keyword.VAR, [AstTestFactory.variableDeclaration("a")]) |
3652 ])); | 3763 ])); |
3653 } | 3764 } |
3654 | 3765 |
3655 void test_visitClassDeclaration_withMetadata() { | 3766 void test_visitClassDeclaration_withMetadata() { |
3656 ClassDeclaration declaration = | 3767 ClassDeclaration declaration = |
3657 AstFactory.classDeclaration(null, "C", null, null, null, null); | 3768 AstTestFactory.classDeclaration(null, "C", null, null, null, null); |
3658 declaration.metadata | 3769 declaration.metadata.add( |
3659 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 3770 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
3660 _assertSource("@deprecated class C {}", declaration); | 3771 _assertSource("@deprecated class C {}", declaration); |
3661 } | 3772 } |
3662 | 3773 |
3663 void test_visitClassTypeAlias_abstract() { | 3774 void test_visitClassTypeAlias_abstract() { |
3664 _assertSource( | 3775 _assertSource( |
3665 "abstract class C = S with M1;", | 3776 "abstract class C = S with M1;", |
3666 AstFactory.classTypeAlias( | 3777 AstTestFactory.classTypeAlias( |
3667 "C", | 3778 "C", |
3668 null, | 3779 null, |
3669 Keyword.ABSTRACT, | 3780 Keyword.ABSTRACT, |
3670 AstFactory.typeName4("S"), | 3781 AstTestFactory.typeName4("S"), |
3671 AstFactory.withClause([AstFactory.typeName4("M1")]), | 3782 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
3672 null)); | 3783 null)); |
3673 } | 3784 } |
3674 | 3785 |
3675 void test_visitClassTypeAlias_abstract_implements() { | 3786 void test_visitClassTypeAlias_abstract_implements() { |
3676 _assertSource( | 3787 _assertSource( |
3677 "abstract class C = S with M1 implements I;", | 3788 "abstract class C = S with M1 implements I;", |
3678 AstFactory.classTypeAlias( | 3789 AstTestFactory.classTypeAlias( |
3679 "C", | 3790 "C", |
3680 null, | 3791 null, |
3681 Keyword.ABSTRACT, | 3792 Keyword.ABSTRACT, |
3682 AstFactory.typeName4("S"), | 3793 AstTestFactory.typeName4("S"), |
3683 AstFactory.withClause([AstFactory.typeName4("M1")]), | 3794 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
3684 AstFactory.implementsClause([AstFactory.typeName4("I")]))); | 3795 AstTestFactory.implementsClause([AstTestFactory.typeName4("I")]))); |
3685 } | 3796 } |
3686 | 3797 |
3687 void test_visitClassTypeAlias_generic() { | 3798 void test_visitClassTypeAlias_generic() { |
3688 _assertSource( | 3799 _assertSource( |
3689 "class C<E> = S<E> with M1<E>;", | 3800 "class C<E> = S<E> with M1<E>;", |
3690 AstFactory.classTypeAlias( | 3801 AstTestFactory.classTypeAlias( |
3691 "C", | 3802 "C", |
3692 AstFactory.typeParameterList(["E"]), | 3803 AstTestFactory.typeParameterList(["E"]), |
3693 null, | 3804 null, |
3694 AstFactory.typeName4("S", [AstFactory.typeName4("E")]), | 3805 AstTestFactory.typeName4("S", [AstTestFactory.typeName4("E")]), |
3695 AstFactory.withClause([ | 3806 AstTestFactory.withClause([ |
3696 AstFactory.typeName4("M1", [AstFactory.typeName4("E")]) | 3807 AstTestFactory.typeName4("M1", [AstTestFactory.typeName4("E")]) |
3697 ]), | 3808 ]), |
3698 null)); | 3809 null)); |
3699 } | 3810 } |
3700 | 3811 |
3701 void test_visitClassTypeAlias_implements() { | 3812 void test_visitClassTypeAlias_implements() { |
3702 _assertSource( | 3813 _assertSource( |
3703 "class C = S with M1 implements I;", | 3814 "class C = S with M1 implements I;", |
3704 AstFactory.classTypeAlias( | 3815 AstTestFactory.classTypeAlias( |
3705 "C", | 3816 "C", |
3706 null, | 3817 null, |
3707 null, | 3818 null, |
3708 AstFactory.typeName4("S"), | 3819 AstTestFactory.typeName4("S"), |
3709 AstFactory.withClause([AstFactory.typeName4("M1")]), | 3820 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
3710 AstFactory.implementsClause([AstFactory.typeName4("I")]))); | 3821 AstTestFactory.implementsClause([AstTestFactory.typeName4("I")]))); |
3711 } | 3822 } |
3712 | 3823 |
3713 void test_visitClassTypeAlias_minimal() { | 3824 void test_visitClassTypeAlias_minimal() { |
3714 _assertSource( | 3825 _assertSource( |
3715 "class C = S with M1;", | 3826 "class C = S with M1;", |
3716 AstFactory.classTypeAlias("C", null, null, AstFactory.typeName4("S"), | 3827 AstTestFactory.classTypeAlias( |
3717 AstFactory.withClause([AstFactory.typeName4("M1")]), null)); | 3828 "C", |
| 3829 null, |
| 3830 null, |
| 3831 AstTestFactory.typeName4("S"), |
| 3832 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
| 3833 null)); |
3718 } | 3834 } |
3719 | 3835 |
3720 void test_visitClassTypeAlias_parameters_abstract() { | 3836 void test_visitClassTypeAlias_parameters_abstract() { |
3721 _assertSource( | 3837 _assertSource( |
3722 "abstract class C<E> = S with M1;", | 3838 "abstract class C<E> = S with M1;", |
3723 AstFactory.classTypeAlias( | 3839 AstTestFactory.classTypeAlias( |
3724 "C", | 3840 "C", |
3725 AstFactory.typeParameterList(["E"]), | 3841 AstTestFactory.typeParameterList(["E"]), |
3726 Keyword.ABSTRACT, | 3842 Keyword.ABSTRACT, |
3727 AstFactory.typeName4("S"), | 3843 AstTestFactory.typeName4("S"), |
3728 AstFactory.withClause([AstFactory.typeName4("M1")]), | 3844 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
3729 null)); | 3845 null)); |
3730 } | 3846 } |
3731 | 3847 |
3732 void test_visitClassTypeAlias_parameters_abstract_implements() { | 3848 void test_visitClassTypeAlias_parameters_abstract_implements() { |
3733 _assertSource( | 3849 _assertSource( |
3734 "abstract class C<E> = S with M1 implements I;", | 3850 "abstract class C<E> = S with M1 implements I;", |
3735 AstFactory.classTypeAlias( | 3851 AstTestFactory.classTypeAlias( |
3736 "C", | 3852 "C", |
3737 AstFactory.typeParameterList(["E"]), | 3853 AstTestFactory.typeParameterList(["E"]), |
3738 Keyword.ABSTRACT, | 3854 Keyword.ABSTRACT, |
3739 AstFactory.typeName4("S"), | 3855 AstTestFactory.typeName4("S"), |
3740 AstFactory.withClause([AstFactory.typeName4("M1")]), | 3856 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
3741 AstFactory.implementsClause([AstFactory.typeName4("I")]))); | 3857 AstTestFactory.implementsClause([AstTestFactory.typeName4("I")]))); |
3742 } | 3858 } |
3743 | 3859 |
3744 void test_visitClassTypeAlias_parameters_implements() { | 3860 void test_visitClassTypeAlias_parameters_implements() { |
3745 _assertSource( | 3861 _assertSource( |
3746 "class C<E> = S with M1 implements I;", | 3862 "class C<E> = S with M1 implements I;", |
3747 AstFactory.classTypeAlias( | 3863 AstTestFactory.classTypeAlias( |
3748 "C", | 3864 "C", |
3749 AstFactory.typeParameterList(["E"]), | 3865 AstTestFactory.typeParameterList(["E"]), |
3750 null, | 3866 null, |
3751 AstFactory.typeName4("S"), | 3867 AstTestFactory.typeName4("S"), |
3752 AstFactory.withClause([AstFactory.typeName4("M1")]), | 3868 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
3753 AstFactory.implementsClause([AstFactory.typeName4("I")]))); | 3869 AstTestFactory.implementsClause([AstTestFactory.typeName4("I")]))); |
3754 } | 3870 } |
3755 | 3871 |
3756 void test_visitClassTypeAlias_withMetadata() { | 3872 void test_visitClassTypeAlias_withMetadata() { |
3757 ClassTypeAlias declaration = AstFactory.classTypeAlias( | 3873 ClassTypeAlias declaration = AstTestFactory.classTypeAlias( |
3758 "C", | 3874 "C", |
3759 null, | 3875 null, |
3760 null, | 3876 null, |
3761 AstFactory.typeName4("S"), | 3877 AstTestFactory.typeName4("S"), |
3762 AstFactory.withClause([AstFactory.typeName4("M1")]), | 3878 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), |
3763 null); | 3879 null); |
3764 declaration.metadata | 3880 declaration.metadata.add( |
3765 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 3881 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
3766 _assertSource("@deprecated class C = S with M1;", declaration); | 3882 _assertSource("@deprecated class C = S with M1;", declaration); |
3767 } | 3883 } |
3768 | 3884 |
3769 void test_visitComment() { | 3885 void test_visitComment() { |
3770 _assertSource( | 3886 _assertSource( |
3771 "", | 3887 "", |
3772 Comment.createBlockComment( | 3888 Comment.createBlockComment( |
3773 <Token>[TokenFactory.tokenFromString("/* comment */")])); | 3889 <Token>[TokenFactory.tokenFromString("/* comment */")])); |
3774 } | 3890 } |
3775 | 3891 |
3776 void test_visitCommentReference() { | 3892 void test_visitCommentReference() { |
3777 _assertSource("", new CommentReference(null, AstFactory.identifier3("a"))); | 3893 _assertSource( |
| 3894 "", new CommentReference(null, AstTestFactory.identifier3("a"))); |
3778 } | 3895 } |
3779 | 3896 |
3780 void test_visitCompilationUnit_declaration() { | 3897 void test_visitCompilationUnit_declaration() { |
3781 _assertSource( | 3898 _assertSource( |
3782 "var a;", | 3899 "var a;", |
3783 AstFactory.compilationUnit2([ | 3900 AstTestFactory.compilationUnit2([ |
3784 AstFactory.topLevelVariableDeclaration2( | 3901 AstTestFactory.topLevelVariableDeclaration2( |
3785 Keyword.VAR, [AstFactory.variableDeclaration("a")]) | 3902 Keyword.VAR, [AstTestFactory.variableDeclaration("a")]) |
3786 ])); | 3903 ])); |
3787 } | 3904 } |
3788 | 3905 |
3789 void test_visitCompilationUnit_directive() { | 3906 void test_visitCompilationUnit_directive() { |
3790 _assertSource("library l;", | 3907 _assertSource( |
3791 AstFactory.compilationUnit3([AstFactory.libraryDirective2("l")])); | 3908 "library l;", |
| 3909 AstTestFactory |
| 3910 .compilationUnit3([AstTestFactory.libraryDirective2("l")])); |
3792 } | 3911 } |
3793 | 3912 |
3794 void test_visitCompilationUnit_directive_declaration() { | 3913 void test_visitCompilationUnit_directive_declaration() { |
3795 _assertSource( | 3914 _assertSource( |
3796 "library l; var a;", | 3915 "library l; var a;", |
3797 AstFactory.compilationUnit4([ | 3916 AstTestFactory.compilationUnit4([ |
3798 AstFactory.libraryDirective2("l") | 3917 AstTestFactory.libraryDirective2("l") |
3799 ], [ | 3918 ], [ |
3800 AstFactory.topLevelVariableDeclaration2( | 3919 AstTestFactory.topLevelVariableDeclaration2( |
3801 Keyword.VAR, [AstFactory.variableDeclaration("a")]) | 3920 Keyword.VAR, [AstTestFactory.variableDeclaration("a")]) |
3802 ])); | 3921 ])); |
3803 } | 3922 } |
3804 | 3923 |
3805 void test_visitCompilationUnit_empty() { | 3924 void test_visitCompilationUnit_empty() { |
3806 _assertSource("", AstFactory.compilationUnit()); | 3925 _assertSource("", AstTestFactory.compilationUnit()); |
3807 } | 3926 } |
3808 | 3927 |
3809 void test_visitCompilationUnit_script() { | 3928 void test_visitCompilationUnit_script() { |
3810 _assertSource( | 3929 _assertSource( |
3811 "!#/bin/dartvm", AstFactory.compilationUnit5("!#/bin/dartvm")); | 3930 "!#/bin/dartvm", AstTestFactory.compilationUnit5("!#/bin/dartvm")); |
3812 } | 3931 } |
3813 | 3932 |
3814 void test_visitCompilationUnit_script_declaration() { | 3933 void test_visitCompilationUnit_script_declaration() { |
3815 _assertSource( | 3934 _assertSource( |
3816 "!#/bin/dartvm var a;", | 3935 "!#/bin/dartvm var a;", |
3817 AstFactory.compilationUnit6("!#/bin/dartvm", [ | 3936 AstTestFactory.compilationUnit6("!#/bin/dartvm", [ |
3818 AstFactory.topLevelVariableDeclaration2( | 3937 AstTestFactory.topLevelVariableDeclaration2( |
3819 Keyword.VAR, [AstFactory.variableDeclaration("a")]) | 3938 Keyword.VAR, [AstTestFactory.variableDeclaration("a")]) |
3820 ])); | 3939 ])); |
3821 } | 3940 } |
3822 | 3941 |
3823 void test_visitCompilationUnit_script_directive() { | 3942 void test_visitCompilationUnit_script_directive() { |
3824 _assertSource( | 3943 _assertSource( |
3825 "!#/bin/dartvm library l;", | 3944 "!#/bin/dartvm library l;", |
3826 AstFactory.compilationUnit7( | 3945 AstTestFactory.compilationUnit7( |
3827 "!#/bin/dartvm", [AstFactory.libraryDirective2("l")])); | 3946 "!#/bin/dartvm", [AstTestFactory.libraryDirective2("l")])); |
3828 } | 3947 } |
3829 | 3948 |
3830 void test_visitCompilationUnit_script_directives_declarations() { | 3949 void test_visitCompilationUnit_script_directives_declarations() { |
3831 _assertSource( | 3950 _assertSource( |
3832 "!#/bin/dartvm library l; var a;", | 3951 "!#/bin/dartvm library l; var a;", |
3833 AstFactory.compilationUnit8("!#/bin/dartvm", [ | 3952 AstTestFactory.compilationUnit8("!#/bin/dartvm", [ |
3834 AstFactory.libraryDirective2("l") | 3953 AstTestFactory.libraryDirective2("l") |
3835 ], [ | 3954 ], [ |
3836 AstFactory.topLevelVariableDeclaration2( | 3955 AstTestFactory.topLevelVariableDeclaration2( |
3837 Keyword.VAR, [AstFactory.variableDeclaration("a")]) | 3956 Keyword.VAR, [AstTestFactory.variableDeclaration("a")]) |
3838 ])); | 3957 ])); |
3839 } | 3958 } |
3840 | 3959 |
3841 void test_visitConditionalExpression() { | 3960 void test_visitConditionalExpression() { |
3842 _assertSource( | 3961 _assertSource( |
3843 "a ? b : c", | 3962 "a ? b : c", |
3844 AstFactory.conditionalExpression(AstFactory.identifier3("a"), | 3963 AstTestFactory.conditionalExpression(AstTestFactory.identifier3("a"), |
3845 AstFactory.identifier3("b"), AstFactory.identifier3("c"))); | 3964 AstTestFactory.identifier3("b"), AstTestFactory.identifier3("c"))); |
3846 } | 3965 } |
3847 | 3966 |
3848 void test_visitConstructorDeclaration_const() { | 3967 void test_visitConstructorDeclaration_const() { |
3849 _assertSource( | 3968 _assertSource( |
3850 "const C() {}", | 3969 "const C() {}", |
3851 AstFactory.constructorDeclaration2( | 3970 AstTestFactory.constructorDeclaration2( |
3852 Keyword.CONST, | 3971 Keyword.CONST, |
3853 null, | 3972 null, |
3854 AstFactory.identifier3("C"), | 3973 AstTestFactory.identifier3("C"), |
3855 null, | 3974 null, |
3856 AstFactory.formalParameterList(), | 3975 AstTestFactory.formalParameterList(), |
3857 null, | 3976 null, |
3858 AstFactory.blockFunctionBody2())); | 3977 AstTestFactory.blockFunctionBody2())); |
3859 } | 3978 } |
3860 | 3979 |
3861 void test_visitConstructorDeclaration_external() { | 3980 void test_visitConstructorDeclaration_external() { |
3862 _assertSource( | 3981 _assertSource( |
3863 "external C();", | 3982 "external C();", |
3864 AstFactory.constructorDeclaration(AstFactory.identifier3("C"), null, | 3983 AstTestFactory.constructorDeclaration(AstTestFactory.identifier3("C"), |
3865 AstFactory.formalParameterList(), null)); | 3984 null, AstTestFactory.formalParameterList(), null)); |
3866 } | 3985 } |
3867 | 3986 |
3868 void test_visitConstructorDeclaration_minimal() { | 3987 void test_visitConstructorDeclaration_minimal() { |
3869 _assertSource( | 3988 _assertSource( |
3870 "C() {}", | 3989 "C() {}", |
3871 AstFactory.constructorDeclaration2( | 3990 AstTestFactory.constructorDeclaration2( |
3872 null, | 3991 null, |
3873 null, | 3992 null, |
3874 AstFactory.identifier3("C"), | 3993 AstTestFactory.identifier3("C"), |
3875 null, | 3994 null, |
3876 AstFactory.formalParameterList(), | 3995 AstTestFactory.formalParameterList(), |
3877 null, | 3996 null, |
3878 AstFactory.blockFunctionBody2())); | 3997 AstTestFactory.blockFunctionBody2())); |
3879 } | 3998 } |
3880 | 3999 |
3881 void test_visitConstructorDeclaration_multipleInitializers() { | 4000 void test_visitConstructorDeclaration_multipleInitializers() { |
3882 _assertSource( | 4001 _assertSource( |
3883 "C() : a = b, c = d {}", | 4002 "C() : a = b, c = d {}", |
3884 AstFactory.constructorDeclaration2( | 4003 AstTestFactory.constructorDeclaration2( |
3885 null, | 4004 null, |
3886 null, | 4005 null, |
3887 AstFactory.identifier3("C"), | 4006 AstTestFactory.identifier3("C"), |
3888 null, | 4007 null, |
3889 AstFactory.formalParameterList(), | 4008 AstTestFactory.formalParameterList(), |
3890 [ | 4009 [ |
3891 AstFactory.constructorFieldInitializer( | 4010 AstTestFactory.constructorFieldInitializer( |
3892 false, "a", AstFactory.identifier3("b")), | 4011 false, "a", AstTestFactory.identifier3("b")), |
3893 AstFactory.constructorFieldInitializer( | 4012 AstTestFactory.constructorFieldInitializer( |
3894 false, "c", AstFactory.identifier3("d")) | 4013 false, "c", AstTestFactory.identifier3("d")) |
3895 ], | 4014 ], |
3896 AstFactory.blockFunctionBody2())); | 4015 AstTestFactory.blockFunctionBody2())); |
3897 } | 4016 } |
3898 | 4017 |
3899 void test_visitConstructorDeclaration_multipleParameters() { | 4018 void test_visitConstructorDeclaration_multipleParameters() { |
3900 _assertSource( | 4019 _assertSource( |
3901 "C(var a, var b) {}", | 4020 "C(var a, var b) {}", |
3902 AstFactory.constructorDeclaration2( | 4021 AstTestFactory.constructorDeclaration2( |
3903 null, | 4022 null, |
3904 null, | 4023 null, |
3905 AstFactory.identifier3("C"), | 4024 AstTestFactory.identifier3("C"), |
3906 null, | 4025 null, |
3907 AstFactory.formalParameterList([ | 4026 AstTestFactory.formalParameterList([ |
3908 AstFactory.simpleFormalParameter(Keyword.VAR, "a"), | 4027 AstTestFactory.simpleFormalParameter(Keyword.VAR, "a"), |
3909 AstFactory.simpleFormalParameter(Keyword.VAR, "b") | 4028 AstTestFactory.simpleFormalParameter(Keyword.VAR, "b") |
3910 ]), | 4029 ]), |
3911 null, | 4030 null, |
3912 AstFactory.blockFunctionBody2())); | 4031 AstTestFactory.blockFunctionBody2())); |
3913 } | 4032 } |
3914 | 4033 |
3915 void test_visitConstructorDeclaration_named() { | 4034 void test_visitConstructorDeclaration_named() { |
3916 _assertSource( | 4035 _assertSource( |
3917 "C.m() {}", | 4036 "C.m() {}", |
3918 AstFactory.constructorDeclaration2( | 4037 AstTestFactory.constructorDeclaration2( |
3919 null, | 4038 null, |
3920 null, | 4039 null, |
3921 AstFactory.identifier3("C"), | 4040 AstTestFactory.identifier3("C"), |
3922 "m", | 4041 "m", |
3923 AstFactory.formalParameterList(), | 4042 AstTestFactory.formalParameterList(), |
3924 null, | 4043 null, |
3925 AstFactory.blockFunctionBody2())); | 4044 AstTestFactory.blockFunctionBody2())); |
3926 } | 4045 } |
3927 | 4046 |
3928 void test_visitConstructorDeclaration_singleInitializer() { | 4047 void test_visitConstructorDeclaration_singleInitializer() { |
3929 _assertSource( | 4048 _assertSource( |
3930 "C() : a = b {}", | 4049 "C() : a = b {}", |
3931 AstFactory.constructorDeclaration2( | 4050 AstTestFactory.constructorDeclaration2( |
3932 null, | 4051 null, |
3933 null, | 4052 null, |
3934 AstFactory.identifier3("C"), | 4053 AstTestFactory.identifier3("C"), |
3935 null, | 4054 null, |
3936 AstFactory.formalParameterList(), | 4055 AstTestFactory.formalParameterList(), |
3937 [ | 4056 [ |
3938 AstFactory.constructorFieldInitializer( | 4057 AstTestFactory.constructorFieldInitializer( |
3939 false, "a", AstFactory.identifier3("b")) | 4058 false, "a", AstTestFactory.identifier3("b")) |
3940 ], | 4059 ], |
3941 AstFactory.blockFunctionBody2())); | 4060 AstTestFactory.blockFunctionBody2())); |
3942 } | 4061 } |
3943 | 4062 |
3944 void test_visitConstructorDeclaration_withMetadata() { | 4063 void test_visitConstructorDeclaration_withMetadata() { |
3945 ConstructorDeclaration declaration = AstFactory.constructorDeclaration2( | 4064 ConstructorDeclaration declaration = AstTestFactory.constructorDeclaration2( |
3946 null, | 4065 null, |
3947 null, | 4066 null, |
3948 AstFactory.identifier3("C"), | 4067 AstTestFactory.identifier3("C"), |
3949 null, | 4068 null, |
3950 AstFactory.formalParameterList(), | 4069 AstTestFactory.formalParameterList(), |
3951 null, | 4070 null, |
3952 AstFactory.blockFunctionBody2()); | 4071 AstTestFactory.blockFunctionBody2()); |
3953 declaration.metadata | 4072 declaration.metadata.add( |
3954 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 4073 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
3955 _assertSource("@deprecated C() {}", declaration); | 4074 _assertSource("@deprecated C() {}", declaration); |
3956 } | 4075 } |
3957 | 4076 |
3958 void test_visitConstructorFieldInitializer_withoutThis() { | 4077 void test_visitConstructorFieldInitializer_withoutThis() { |
3959 _assertSource( | 4078 _assertSource( |
3960 "a = b", | 4079 "a = b", |
3961 AstFactory.constructorFieldInitializer( | 4080 AstTestFactory.constructorFieldInitializer( |
3962 false, "a", AstFactory.identifier3("b"))); | 4081 false, "a", AstTestFactory.identifier3("b"))); |
3963 } | 4082 } |
3964 | 4083 |
3965 void test_visitConstructorFieldInitializer_withThis() { | 4084 void test_visitConstructorFieldInitializer_withThis() { |
3966 _assertSource( | 4085 _assertSource( |
3967 "this.a = b", | 4086 "this.a = b", |
3968 AstFactory.constructorFieldInitializer( | 4087 AstTestFactory.constructorFieldInitializer( |
3969 true, "a", AstFactory.identifier3("b"))); | 4088 true, "a", AstTestFactory.identifier3("b"))); |
3970 } | 4089 } |
3971 | 4090 |
3972 void test_visitConstructorName_named_prefix() { | 4091 void test_visitConstructorName_named_prefix() { |
3973 _assertSource("p.C.n", | 4092 _assertSource( |
3974 AstFactory.constructorName(AstFactory.typeName4("p.C.n"), null)); | 4093 "p.C.n", |
| 4094 AstTestFactory.constructorName( |
| 4095 AstTestFactory.typeName4("p.C.n"), null)); |
3975 } | 4096 } |
3976 | 4097 |
3977 void test_visitConstructorName_unnamed_noPrefix() { | 4098 void test_visitConstructorName_unnamed_noPrefix() { |
3978 _assertSource( | 4099 _assertSource("C", |
3979 "C", AstFactory.constructorName(AstFactory.typeName4("C"), null)); | 4100 AstTestFactory.constructorName(AstTestFactory.typeName4("C"), null)); |
3980 } | 4101 } |
3981 | 4102 |
3982 void test_visitConstructorName_unnamed_prefix() { | 4103 void test_visitConstructorName_unnamed_prefix() { |
3983 _assertSource( | 4104 _assertSource( |
3984 "p.C", | 4105 "p.C", |
3985 AstFactory.constructorName( | 4106 AstTestFactory.constructorName( |
3986 AstFactory.typeName3(AstFactory.identifier5("p", "C")), null)); | 4107 AstTestFactory.typeName3(AstTestFactory.identifier5("p", "C")), |
| 4108 null)); |
3987 } | 4109 } |
3988 | 4110 |
3989 void test_visitContinueStatement_label() { | 4111 void test_visitContinueStatement_label() { |
3990 _assertSource("continue l;", AstFactory.continueStatement("l")); | 4112 _assertSource("continue l;", AstTestFactory.continueStatement("l")); |
3991 } | 4113 } |
3992 | 4114 |
3993 void test_visitContinueStatement_noLabel() { | 4115 void test_visitContinueStatement_noLabel() { |
3994 _assertSource("continue;", AstFactory.continueStatement()); | 4116 _assertSource("continue;", AstTestFactory.continueStatement()); |
3995 } | 4117 } |
3996 | 4118 |
3997 void test_visitDefaultFormalParameter_annotation() { | 4119 void test_visitDefaultFormalParameter_annotation() { |
3998 DefaultFormalParameter parameter = AstFactory.positionalFormalParameter( | 4120 DefaultFormalParameter parameter = AstTestFactory.positionalFormalParameter( |
3999 AstFactory.simpleFormalParameter3("p"), AstFactory.integer(0)); | 4121 AstTestFactory.simpleFormalParameter3("p"), AstTestFactory.integer(0)); |
4000 parameter.metadata.add(AstFactory.annotation(AstFactory.identifier3("A"))); | 4122 parameter.metadata |
| 4123 .add(AstTestFactory.annotation(AstTestFactory.identifier3("A"))); |
4001 _assertSource('@A p = 0', parameter); | 4124 _assertSource('@A p = 0', parameter); |
4002 } | 4125 } |
4003 | 4126 |
4004 void test_visitDefaultFormalParameter_named_noValue() { | 4127 void test_visitDefaultFormalParameter_named_noValue() { |
4005 _assertSource( | 4128 _assertSource( |
4006 "p", | 4129 "p", |
4007 AstFactory.namedFormalParameter( | 4130 AstTestFactory.namedFormalParameter( |
4008 AstFactory.simpleFormalParameter3("p"), null)); | 4131 AstTestFactory.simpleFormalParameter3("p"), null)); |
4009 } | 4132 } |
4010 | 4133 |
4011 void test_visitDefaultFormalParameter_named_value() { | 4134 void test_visitDefaultFormalParameter_named_value() { |
4012 _assertSource( | 4135 _assertSource( |
4013 "p : 0", | 4136 "p : 0", |
4014 AstFactory.namedFormalParameter( | 4137 AstTestFactory.namedFormalParameter( |
4015 AstFactory.simpleFormalParameter3("p"), AstFactory.integer(0))); | 4138 AstTestFactory.simpleFormalParameter3("p"), |
| 4139 AstTestFactory.integer(0))); |
4016 } | 4140 } |
4017 | 4141 |
4018 void test_visitDefaultFormalParameter_positional_noValue() { | 4142 void test_visitDefaultFormalParameter_positional_noValue() { |
4019 _assertSource( | 4143 _assertSource( |
4020 "p", | 4144 "p", |
4021 AstFactory.positionalFormalParameter( | 4145 AstTestFactory.positionalFormalParameter( |
4022 AstFactory.simpleFormalParameter3("p"), null)); | 4146 AstTestFactory.simpleFormalParameter3("p"), null)); |
4023 } | 4147 } |
4024 | 4148 |
4025 void test_visitDefaultFormalParameter_positional_value() { | 4149 void test_visitDefaultFormalParameter_positional_value() { |
4026 _assertSource( | 4150 _assertSource( |
4027 "p = 0", | 4151 "p = 0", |
4028 AstFactory.positionalFormalParameter( | 4152 AstTestFactory.positionalFormalParameter( |
4029 AstFactory.simpleFormalParameter3("p"), AstFactory.integer(0))); | 4153 AstTestFactory.simpleFormalParameter3("p"), |
| 4154 AstTestFactory.integer(0))); |
4030 } | 4155 } |
4031 | 4156 |
4032 void test_visitDoStatement() { | 4157 void test_visitDoStatement() { |
4033 _assertSource( | 4158 _assertSource( |
4034 "do {} while (c);", | 4159 "do {} while (c);", |
4035 AstFactory.doStatement( | 4160 AstTestFactory.doStatement( |
4036 AstFactory.block(), AstFactory.identifier3("c"))); | 4161 AstTestFactory.block(), AstTestFactory.identifier3("c"))); |
4037 } | 4162 } |
4038 | 4163 |
4039 void test_visitDoubleLiteral() { | 4164 void test_visitDoubleLiteral() { |
4040 _assertSource("4.2", AstFactory.doubleLiteral(4.2)); | 4165 _assertSource("4.2", AstTestFactory.doubleLiteral(4.2)); |
4041 } | 4166 } |
4042 | 4167 |
4043 void test_visitEmptyFunctionBody() { | 4168 void test_visitEmptyFunctionBody() { |
4044 _assertSource(";", AstFactory.emptyFunctionBody()); | 4169 _assertSource(";", AstTestFactory.emptyFunctionBody()); |
4045 } | 4170 } |
4046 | 4171 |
4047 void test_visitEmptyStatement() { | 4172 void test_visitEmptyStatement() { |
4048 _assertSource(";", AstFactory.emptyStatement()); | 4173 _assertSource(";", AstTestFactory.emptyStatement()); |
4049 } | 4174 } |
4050 | 4175 |
4051 void test_visitEnumDeclaration_multiple() { | 4176 void test_visitEnumDeclaration_multiple() { |
4052 _assertSource( | 4177 _assertSource("enum E {ONE, TWO}", |
4053 "enum E {ONE, TWO}", AstFactory.enumDeclaration2("E", ["ONE", "TWO"])); | 4178 AstTestFactory.enumDeclaration2("E", ["ONE", "TWO"])); |
4054 } | 4179 } |
4055 | 4180 |
4056 void test_visitEnumDeclaration_single() { | 4181 void test_visitEnumDeclaration_single() { |
4057 _assertSource("enum E {ONE}", AstFactory.enumDeclaration2("E", ["ONE"])); | 4182 _assertSource( |
| 4183 "enum E {ONE}", AstTestFactory.enumDeclaration2("E", ["ONE"])); |
4058 } | 4184 } |
4059 | 4185 |
4060 void test_visitExportDirective_combinator() { | 4186 void test_visitExportDirective_combinator() { |
4061 _assertSource( | 4187 _assertSource( |
4062 "export 'a.dart' show A;", | 4188 "export 'a.dart' show A;", |
4063 AstFactory.exportDirective2("a.dart", [ | 4189 AstTestFactory.exportDirective2("a.dart", [ |
4064 AstFactory.showCombinator([AstFactory.identifier3("A")]) | 4190 AstTestFactory.showCombinator([AstTestFactory.identifier3("A")]) |
4065 ])); | 4191 ])); |
4066 } | 4192 } |
4067 | 4193 |
4068 void test_visitExportDirective_combinators() { | 4194 void test_visitExportDirective_combinators() { |
4069 _assertSource( | 4195 _assertSource( |
4070 "export 'a.dart' show A hide B;", | 4196 "export 'a.dart' show A hide B;", |
4071 AstFactory.exportDirective2("a.dart", [ | 4197 AstTestFactory.exportDirective2("a.dart", [ |
4072 AstFactory.showCombinator([AstFactory.identifier3("A")]), | 4198 AstTestFactory.showCombinator([AstTestFactory.identifier3("A")]), |
4073 AstFactory.hideCombinator([AstFactory.identifier3("B")]) | 4199 AstTestFactory.hideCombinator([AstTestFactory.identifier3("B")]) |
4074 ])); | 4200 ])); |
4075 } | 4201 } |
4076 | 4202 |
4077 void test_visitExportDirective_minimal() { | 4203 void test_visitExportDirective_minimal() { |
4078 _assertSource("export 'a.dart';", AstFactory.exportDirective2("a.dart")); | 4204 _assertSource( |
| 4205 "export 'a.dart';", AstTestFactory.exportDirective2("a.dart")); |
4079 } | 4206 } |
4080 | 4207 |
4081 void test_visitExportDirective_withMetadata() { | 4208 void test_visitExportDirective_withMetadata() { |
4082 ExportDirective directive = AstFactory.exportDirective2("a.dart"); | 4209 ExportDirective directive = AstTestFactory.exportDirective2("a.dart"); |
4083 directive.metadata | 4210 directive.metadata.add( |
4084 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 4211 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
4085 _assertSource("@deprecated export 'a.dart';", directive); | 4212 _assertSource("@deprecated export 'a.dart';", directive); |
4086 } | 4213 } |
4087 | 4214 |
4088 void test_visitExpressionFunctionBody_async() { | 4215 void test_visitExpressionFunctionBody_async() { |
4089 _assertSource("async => a;", | 4216 _assertSource( |
4090 AstFactory.asyncExpressionFunctionBody(AstFactory.identifier3("a"))); | 4217 "async => a;", |
| 4218 AstTestFactory |
| 4219 .asyncExpressionFunctionBody(AstTestFactory.identifier3("a"))); |
4091 } | 4220 } |
4092 | 4221 |
4093 void test_visitExpressionFunctionBody_simple() { | 4222 void test_visitExpressionFunctionBody_simple() { |
4094 _assertSource("=> a;", | 4223 _assertSource("=> a;", |
4095 AstFactory.expressionFunctionBody(AstFactory.identifier3("a"))); | 4224 AstTestFactory.expressionFunctionBody(AstTestFactory.identifier3("a"))); |
4096 } | 4225 } |
4097 | 4226 |
4098 void test_visitExpressionStatement() { | 4227 void test_visitExpressionStatement() { |
4099 _assertSource( | 4228 _assertSource("a;", |
4100 "a;", AstFactory.expressionStatement(AstFactory.identifier3("a"))); | 4229 AstTestFactory.expressionStatement(AstTestFactory.identifier3("a"))); |
4101 } | 4230 } |
4102 | 4231 |
4103 void test_visitExtendsClause() { | 4232 void test_visitExtendsClause() { |
4104 _assertSource( | 4233 _assertSource("extends C", |
4105 "extends C", AstFactory.extendsClause(AstFactory.typeName4("C"))); | 4234 AstTestFactory.extendsClause(AstTestFactory.typeName4("C"))); |
4106 } | 4235 } |
4107 | 4236 |
4108 void test_visitFieldDeclaration_instance() { | 4237 void test_visitFieldDeclaration_instance() { |
4109 _assertSource( | 4238 _assertSource( |
4110 "var a;", | 4239 "var a;", |
4111 AstFactory.fieldDeclaration2( | 4240 AstTestFactory.fieldDeclaration2( |
4112 false, Keyword.VAR, [AstFactory.variableDeclaration("a")])); | 4241 false, Keyword.VAR, [AstTestFactory.variableDeclaration("a")])); |
4113 } | 4242 } |
4114 | 4243 |
4115 void test_visitFieldDeclaration_static() { | 4244 void test_visitFieldDeclaration_static() { |
4116 _assertSource( | 4245 _assertSource( |
4117 "static var a;", | 4246 "static var a;", |
4118 AstFactory.fieldDeclaration2( | 4247 AstTestFactory.fieldDeclaration2( |
4119 true, Keyword.VAR, [AstFactory.variableDeclaration("a")])); | 4248 true, Keyword.VAR, [AstTestFactory.variableDeclaration("a")])); |
4120 } | 4249 } |
4121 | 4250 |
4122 void test_visitFieldDeclaration_withMetadata() { | 4251 void test_visitFieldDeclaration_withMetadata() { |
4123 FieldDeclaration declaration = AstFactory.fieldDeclaration2( | 4252 FieldDeclaration declaration = AstTestFactory.fieldDeclaration2( |
4124 false, Keyword.VAR, [AstFactory.variableDeclaration("a")]); | 4253 false, Keyword.VAR, [AstTestFactory.variableDeclaration("a")]); |
4125 declaration.metadata | 4254 declaration.metadata.add( |
4126 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 4255 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
4127 _assertSource("@deprecated var a;", declaration); | 4256 _assertSource("@deprecated var a;", declaration); |
4128 } | 4257 } |
4129 | 4258 |
4130 void test_visitFieldFormalParameter_annotation() { | 4259 void test_visitFieldFormalParameter_annotation() { |
4131 FieldFormalParameter parameter = AstFactory.fieldFormalParameter2('f'); | 4260 FieldFormalParameter parameter = AstTestFactory.fieldFormalParameter2('f'); |
4132 parameter.metadata.add(AstFactory.annotation(AstFactory.identifier3("A"))); | 4261 parameter.metadata |
| 4262 .add(AstTestFactory.annotation(AstTestFactory.identifier3("A"))); |
4133 _assertSource('@A this.f', parameter); | 4263 _assertSource('@A this.f', parameter); |
4134 } | 4264 } |
4135 | 4265 |
4136 void test_visitFieldFormalParameter_functionTyped() { | 4266 void test_visitFieldFormalParameter_functionTyped() { |
4137 _assertSource( | 4267 _assertSource( |
4138 "A this.a(b)", | 4268 "A this.a(b)", |
4139 AstFactory.fieldFormalParameter( | 4269 AstTestFactory.fieldFormalParameter( |
4140 null, | 4270 null, |
4141 AstFactory.typeName4("A"), | 4271 AstTestFactory.typeName4("A"), |
4142 "a", | 4272 "a", |
4143 AstFactory.formalParameterList( | 4273 AstTestFactory.formalParameterList( |
4144 [AstFactory.simpleFormalParameter3("b")]))); | 4274 [AstTestFactory.simpleFormalParameter3("b")]))); |
4145 } | 4275 } |
4146 | 4276 |
4147 void test_visitFieldFormalParameter_functionTyped_typeParameters() { | 4277 void test_visitFieldFormalParameter_functionTyped_typeParameters() { |
4148 _assertSource( | 4278 _assertSource( |
4149 "A this.a<E, F>(b)", | 4279 "A this.a<E, F>(b)", |
4150 new FieldFormalParameter( | 4280 new FieldFormalParameter( |
4151 null, | 4281 null, |
4152 null, | 4282 null, |
4153 null, | 4283 null, |
4154 AstFactory.typeName4('A'), | 4284 AstTestFactory.typeName4('A'), |
4155 TokenFactory.tokenFromKeyword(Keyword.THIS), | 4285 TokenFactory.tokenFromKeyword(Keyword.THIS), |
4156 TokenFactory.tokenFromType(TokenType.PERIOD), | 4286 TokenFactory.tokenFromType(TokenType.PERIOD), |
4157 AstFactory.identifier3('a'), | 4287 AstTestFactory.identifier3('a'), |
4158 AstFactory.typeParameterList(['E', 'F']), | 4288 AstTestFactory.typeParameterList(['E', 'F']), |
4159 AstFactory.formalParameterList( | 4289 AstTestFactory.formalParameterList( |
4160 [AstFactory.simpleFormalParameter3("b")]))); | 4290 [AstTestFactory.simpleFormalParameter3("b")]))); |
4161 } | 4291 } |
4162 | 4292 |
4163 void test_visitFieldFormalParameter_keyword() { | 4293 void test_visitFieldFormalParameter_keyword() { |
4164 _assertSource( | 4294 _assertSource("var this.a", |
4165 "var this.a", AstFactory.fieldFormalParameter(Keyword.VAR, null, "a")); | 4295 AstTestFactory.fieldFormalParameter(Keyword.VAR, null, "a")); |
4166 } | 4296 } |
4167 | 4297 |
4168 void test_visitFieldFormalParameter_keywordAndType() { | 4298 void test_visitFieldFormalParameter_keywordAndType() { |
4169 _assertSource( | 4299 _assertSource( |
4170 "final A this.a", | 4300 "final A this.a", |
4171 AstFactory.fieldFormalParameter( | 4301 AstTestFactory.fieldFormalParameter( |
4172 Keyword.FINAL, AstFactory.typeName4("A"), "a")); | 4302 Keyword.FINAL, AstTestFactory.typeName4("A"), "a")); |
4173 } | 4303 } |
4174 | 4304 |
4175 void test_visitFieldFormalParameter_type() { | 4305 void test_visitFieldFormalParameter_type() { |
4176 _assertSource("A this.a", | 4306 _assertSource( |
4177 AstFactory.fieldFormalParameter(null, AstFactory.typeName4("A"), "a")); | 4307 "A this.a", |
| 4308 AstTestFactory.fieldFormalParameter( |
| 4309 null, AstTestFactory.typeName4("A"), "a")); |
4178 } | 4310 } |
4179 | 4311 |
4180 void test_visitForEachStatement_declared() { | 4312 void test_visitForEachStatement_declared() { |
4181 _assertSource( | 4313 _assertSource( |
4182 "for (var a in b) {}", | 4314 "for (var a in b) {}", |
4183 AstFactory.forEachStatement(AstFactory.declaredIdentifier3("a"), | 4315 AstTestFactory.forEachStatement(AstTestFactory.declaredIdentifier3("a"), |
4184 AstFactory.identifier3("b"), AstFactory.block())); | 4316 AstTestFactory.identifier3("b"), AstTestFactory.block())); |
4185 } | 4317 } |
4186 | 4318 |
4187 void test_visitForEachStatement_variable() { | 4319 void test_visitForEachStatement_variable() { |
4188 _assertSource( | 4320 _assertSource( |
4189 "for (a in b) {}", | 4321 "for (a in b) {}", |
4190 new ForEachStatement.withReference( | 4322 new ForEachStatement.withReference( |
4191 null, | 4323 null, |
4192 TokenFactory.tokenFromKeyword(Keyword.FOR), | 4324 TokenFactory.tokenFromKeyword(Keyword.FOR), |
4193 TokenFactory.tokenFromType(TokenType.OPEN_PAREN), | 4325 TokenFactory.tokenFromType(TokenType.OPEN_PAREN), |
4194 AstFactory.identifier3("a"), | 4326 AstTestFactory.identifier3("a"), |
4195 TokenFactory.tokenFromKeyword(Keyword.IN), | 4327 TokenFactory.tokenFromKeyword(Keyword.IN), |
4196 AstFactory.identifier3("b"), | 4328 AstTestFactory.identifier3("b"), |
4197 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), | 4329 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), |
4198 AstFactory.block())); | 4330 AstTestFactory.block())); |
4199 } | 4331 } |
4200 | 4332 |
4201 void test_visitForEachStatement_variable_await() { | 4333 void test_visitForEachStatement_variable_await() { |
4202 _assertSource( | 4334 _assertSource( |
4203 "await for (a in b) {}", | 4335 "await for (a in b) {}", |
4204 new ForEachStatement.withReference( | 4336 new ForEachStatement.withReference( |
4205 TokenFactory.tokenFromString("await"), | 4337 TokenFactory.tokenFromString("await"), |
4206 TokenFactory.tokenFromKeyword(Keyword.FOR), | 4338 TokenFactory.tokenFromKeyword(Keyword.FOR), |
4207 TokenFactory.tokenFromType(TokenType.OPEN_PAREN), | 4339 TokenFactory.tokenFromType(TokenType.OPEN_PAREN), |
4208 AstFactory.identifier3("a"), | 4340 AstTestFactory.identifier3("a"), |
4209 TokenFactory.tokenFromKeyword(Keyword.IN), | 4341 TokenFactory.tokenFromKeyword(Keyword.IN), |
4210 AstFactory.identifier3("b"), | 4342 AstTestFactory.identifier3("b"), |
4211 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), | 4343 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), |
4212 AstFactory.block())); | 4344 AstTestFactory.block())); |
4213 } | 4345 } |
4214 | 4346 |
4215 void test_visitFormalParameterList_empty() { | 4347 void test_visitFormalParameterList_empty() { |
4216 _assertSource("()", AstFactory.formalParameterList()); | 4348 _assertSource("()", AstTestFactory.formalParameterList()); |
4217 } | 4349 } |
4218 | 4350 |
4219 void test_visitFormalParameterList_n() { | 4351 void test_visitFormalParameterList_n() { |
4220 _assertSource( | 4352 _assertSource( |
4221 "({a : 0})", | 4353 "({a : 0})", |
4222 AstFactory.formalParameterList([ | 4354 AstTestFactory.formalParameterList([ |
4223 AstFactory.namedFormalParameter( | 4355 AstTestFactory.namedFormalParameter( |
4224 AstFactory.simpleFormalParameter3("a"), AstFactory.integer(0)) | 4356 AstTestFactory.simpleFormalParameter3("a"), |
| 4357 AstTestFactory.integer(0)) |
4225 ])); | 4358 ])); |
4226 } | 4359 } |
4227 | 4360 |
4228 void test_visitFormalParameterList_nn() { | 4361 void test_visitFormalParameterList_nn() { |
4229 _assertSource( | 4362 _assertSource( |
4230 "({a : 0, b : 1})", | 4363 "({a : 0, b : 1})", |
4231 AstFactory.formalParameterList([ | 4364 AstTestFactory.formalParameterList([ |
4232 AstFactory.namedFormalParameter( | 4365 AstTestFactory.namedFormalParameter( |
4233 AstFactory.simpleFormalParameter3("a"), AstFactory.integer(0)), | 4366 AstTestFactory.simpleFormalParameter3("a"), |
4234 AstFactory.namedFormalParameter( | 4367 AstTestFactory.integer(0)), |
4235 AstFactory.simpleFormalParameter3("b"), AstFactory.integer(1)) | 4368 AstTestFactory.namedFormalParameter( |
| 4369 AstTestFactory.simpleFormalParameter3("b"), |
| 4370 AstTestFactory.integer(1)) |
4236 ])); | 4371 ])); |
4237 } | 4372 } |
4238 | 4373 |
4239 void test_visitFormalParameterList_p() { | 4374 void test_visitFormalParameterList_p() { |
4240 _assertSource( | 4375 _assertSource( |
4241 "([a = 0])", | 4376 "([a = 0])", |
4242 AstFactory.formalParameterList([ | 4377 AstTestFactory.formalParameterList([ |
4243 AstFactory.positionalFormalParameter( | 4378 AstTestFactory.positionalFormalParameter( |
4244 AstFactory.simpleFormalParameter3("a"), AstFactory.integer(0)) | 4379 AstTestFactory.simpleFormalParameter3("a"), |
| 4380 AstTestFactory.integer(0)) |
4245 ])); | 4381 ])); |
4246 } | 4382 } |
4247 | 4383 |
4248 void test_visitFormalParameterList_pp() { | 4384 void test_visitFormalParameterList_pp() { |
4249 _assertSource( | 4385 _assertSource( |
4250 "([a = 0, b = 1])", | 4386 "([a = 0, b = 1])", |
4251 AstFactory.formalParameterList([ | 4387 AstTestFactory.formalParameterList([ |
4252 AstFactory.positionalFormalParameter( | 4388 AstTestFactory.positionalFormalParameter( |
4253 AstFactory.simpleFormalParameter3("a"), AstFactory.integer(0)), | 4389 AstTestFactory.simpleFormalParameter3("a"), |
4254 AstFactory.positionalFormalParameter( | 4390 AstTestFactory.integer(0)), |
4255 AstFactory.simpleFormalParameter3("b"), AstFactory.integer(1)) | 4391 AstTestFactory.positionalFormalParameter( |
| 4392 AstTestFactory.simpleFormalParameter3("b"), |
| 4393 AstTestFactory.integer(1)) |
4256 ])); | 4394 ])); |
4257 } | 4395 } |
4258 | 4396 |
4259 void test_visitFormalParameterList_r() { | 4397 void test_visitFormalParameterList_r() { |
4260 _assertSource( | 4398 _assertSource( |
4261 "(a)", | 4399 "(a)", |
4262 AstFactory | 4400 AstTestFactory |
4263 .formalParameterList([AstFactory.simpleFormalParameter3("a")])); | 4401 .formalParameterList([AstTestFactory.simpleFormalParameter3("a")])); |
4264 } | 4402 } |
4265 | 4403 |
4266 void test_visitFormalParameterList_rn() { | 4404 void test_visitFormalParameterList_rn() { |
4267 _assertSource( | 4405 _assertSource( |
4268 "(a, {b : 1})", | 4406 "(a, {b : 1})", |
4269 AstFactory.formalParameterList([ | 4407 AstTestFactory.formalParameterList([ |
4270 AstFactory.simpleFormalParameter3("a"), | 4408 AstTestFactory.simpleFormalParameter3("a"), |
4271 AstFactory.namedFormalParameter( | 4409 AstTestFactory.namedFormalParameter( |
4272 AstFactory.simpleFormalParameter3("b"), AstFactory.integer(1)) | 4410 AstTestFactory.simpleFormalParameter3("b"), |
| 4411 AstTestFactory.integer(1)) |
4273 ])); | 4412 ])); |
4274 } | 4413 } |
4275 | 4414 |
4276 void test_visitFormalParameterList_rnn() { | 4415 void test_visitFormalParameterList_rnn() { |
4277 _assertSource( | 4416 _assertSource( |
4278 "(a, {b : 1, c : 2})", | 4417 "(a, {b : 1, c : 2})", |
4279 AstFactory.formalParameterList([ | 4418 AstTestFactory.formalParameterList([ |
4280 AstFactory.simpleFormalParameter3("a"), | 4419 AstTestFactory.simpleFormalParameter3("a"), |
4281 AstFactory.namedFormalParameter( | 4420 AstTestFactory.namedFormalParameter( |
4282 AstFactory.simpleFormalParameter3("b"), AstFactory.integer(1)), | 4421 AstTestFactory.simpleFormalParameter3("b"), |
4283 AstFactory.namedFormalParameter( | 4422 AstTestFactory.integer(1)), |
4284 AstFactory.simpleFormalParameter3("c"), AstFactory.integer(2)) | 4423 AstTestFactory.namedFormalParameter( |
| 4424 AstTestFactory.simpleFormalParameter3("c"), |
| 4425 AstTestFactory.integer(2)) |
4285 ])); | 4426 ])); |
4286 } | 4427 } |
4287 | 4428 |
4288 void test_visitFormalParameterList_rp() { | 4429 void test_visitFormalParameterList_rp() { |
4289 _assertSource( | 4430 _assertSource( |
4290 "(a, [b = 1])", | 4431 "(a, [b = 1])", |
4291 AstFactory.formalParameterList([ | 4432 AstTestFactory.formalParameterList([ |
4292 AstFactory.simpleFormalParameter3("a"), | 4433 AstTestFactory.simpleFormalParameter3("a"), |
4293 AstFactory.positionalFormalParameter( | 4434 AstTestFactory.positionalFormalParameter( |
4294 AstFactory.simpleFormalParameter3("b"), AstFactory.integer(1)) | 4435 AstTestFactory.simpleFormalParameter3("b"), |
| 4436 AstTestFactory.integer(1)) |
4295 ])); | 4437 ])); |
4296 } | 4438 } |
4297 | 4439 |
4298 void test_visitFormalParameterList_rpp() { | 4440 void test_visitFormalParameterList_rpp() { |
4299 _assertSource( | 4441 _assertSource( |
4300 "(a, [b = 1, c = 2])", | 4442 "(a, [b = 1, c = 2])", |
4301 AstFactory.formalParameterList([ | 4443 AstTestFactory.formalParameterList([ |
4302 AstFactory.simpleFormalParameter3("a"), | 4444 AstTestFactory.simpleFormalParameter3("a"), |
4303 AstFactory.positionalFormalParameter( | 4445 AstTestFactory.positionalFormalParameter( |
4304 AstFactory.simpleFormalParameter3("b"), AstFactory.integer(1)), | 4446 AstTestFactory.simpleFormalParameter3("b"), |
4305 AstFactory.positionalFormalParameter( | 4447 AstTestFactory.integer(1)), |
4306 AstFactory.simpleFormalParameter3("c"), AstFactory.integer(2)) | 4448 AstTestFactory.positionalFormalParameter( |
| 4449 AstTestFactory.simpleFormalParameter3("c"), |
| 4450 AstTestFactory.integer(2)) |
4307 ])); | 4451 ])); |
4308 } | 4452 } |
4309 | 4453 |
4310 void test_visitFormalParameterList_rr() { | 4454 void test_visitFormalParameterList_rr() { |
4311 _assertSource( | 4455 _assertSource( |
4312 "(a, b)", | 4456 "(a, b)", |
4313 AstFactory.formalParameterList([ | 4457 AstTestFactory.formalParameterList([ |
4314 AstFactory.simpleFormalParameter3("a"), | 4458 AstTestFactory.simpleFormalParameter3("a"), |
4315 AstFactory.simpleFormalParameter3("b") | 4459 AstTestFactory.simpleFormalParameter3("b") |
4316 ])); | 4460 ])); |
4317 } | 4461 } |
4318 | 4462 |
4319 void test_visitFormalParameterList_rrn() { | 4463 void test_visitFormalParameterList_rrn() { |
4320 _assertSource( | 4464 _assertSource( |
4321 "(a, b, {c : 3})", | 4465 "(a, b, {c : 3})", |
4322 AstFactory.formalParameterList([ | 4466 AstTestFactory.formalParameterList([ |
4323 AstFactory.simpleFormalParameter3("a"), | 4467 AstTestFactory.simpleFormalParameter3("a"), |
4324 AstFactory.simpleFormalParameter3("b"), | 4468 AstTestFactory.simpleFormalParameter3("b"), |
4325 AstFactory.namedFormalParameter( | 4469 AstTestFactory.namedFormalParameter( |
4326 AstFactory.simpleFormalParameter3("c"), AstFactory.integer(3)) | 4470 AstTestFactory.simpleFormalParameter3("c"), |
| 4471 AstTestFactory.integer(3)) |
4327 ])); | 4472 ])); |
4328 } | 4473 } |
4329 | 4474 |
4330 void test_visitFormalParameterList_rrnn() { | 4475 void test_visitFormalParameterList_rrnn() { |
4331 _assertSource( | 4476 _assertSource( |
4332 "(a, b, {c : 3, d : 4})", | 4477 "(a, b, {c : 3, d : 4})", |
4333 AstFactory.formalParameterList([ | 4478 AstTestFactory.formalParameterList([ |
4334 AstFactory.simpleFormalParameter3("a"), | 4479 AstTestFactory.simpleFormalParameter3("a"), |
4335 AstFactory.simpleFormalParameter3("b"), | 4480 AstTestFactory.simpleFormalParameter3("b"), |
4336 AstFactory.namedFormalParameter( | 4481 AstTestFactory.namedFormalParameter( |
4337 AstFactory.simpleFormalParameter3("c"), AstFactory.integer(3)), | 4482 AstTestFactory.simpleFormalParameter3("c"), |
4338 AstFactory.namedFormalParameter( | 4483 AstTestFactory.integer(3)), |
4339 AstFactory.simpleFormalParameter3("d"), AstFactory.integer(4)) | 4484 AstTestFactory.namedFormalParameter( |
| 4485 AstTestFactory.simpleFormalParameter3("d"), |
| 4486 AstTestFactory.integer(4)) |
4340 ])); | 4487 ])); |
4341 } | 4488 } |
4342 | 4489 |
4343 void test_visitFormalParameterList_rrp() { | 4490 void test_visitFormalParameterList_rrp() { |
4344 _assertSource( | 4491 _assertSource( |
4345 "(a, b, [c = 3])", | 4492 "(a, b, [c = 3])", |
4346 AstFactory.formalParameterList([ | 4493 AstTestFactory.formalParameterList([ |
4347 AstFactory.simpleFormalParameter3("a"), | 4494 AstTestFactory.simpleFormalParameter3("a"), |
4348 AstFactory.simpleFormalParameter3("b"), | 4495 AstTestFactory.simpleFormalParameter3("b"), |
4349 AstFactory.positionalFormalParameter( | 4496 AstTestFactory.positionalFormalParameter( |
4350 AstFactory.simpleFormalParameter3("c"), AstFactory.integer(3)) | 4497 AstTestFactory.simpleFormalParameter3("c"), |
| 4498 AstTestFactory.integer(3)) |
4351 ])); | 4499 ])); |
4352 } | 4500 } |
4353 | 4501 |
4354 void test_visitFormalParameterList_rrpp() { | 4502 void test_visitFormalParameterList_rrpp() { |
4355 _assertSource( | 4503 _assertSource( |
4356 "(a, b, [c = 3, d = 4])", | 4504 "(a, b, [c = 3, d = 4])", |
4357 AstFactory.formalParameterList([ | 4505 AstTestFactory.formalParameterList([ |
4358 AstFactory.simpleFormalParameter3("a"), | 4506 AstTestFactory.simpleFormalParameter3("a"), |
4359 AstFactory.simpleFormalParameter3("b"), | 4507 AstTestFactory.simpleFormalParameter3("b"), |
4360 AstFactory.positionalFormalParameter( | 4508 AstTestFactory.positionalFormalParameter( |
4361 AstFactory.simpleFormalParameter3("c"), AstFactory.integer(3)), | 4509 AstTestFactory.simpleFormalParameter3("c"), |
4362 AstFactory.positionalFormalParameter( | 4510 AstTestFactory.integer(3)), |
4363 AstFactory.simpleFormalParameter3("d"), AstFactory.integer(4)) | 4511 AstTestFactory.positionalFormalParameter( |
| 4512 AstTestFactory.simpleFormalParameter3("d"), |
| 4513 AstTestFactory.integer(4)) |
4364 ])); | 4514 ])); |
4365 } | 4515 } |
4366 | 4516 |
4367 void test_visitForStatement_c() { | 4517 void test_visitForStatement_c() { |
4368 _assertSource( | 4518 _assertSource( |
4369 "for (; c;) {}", | 4519 "for (; c;) {}", |
4370 AstFactory.forStatement( | 4520 AstTestFactory.forStatement(null, AstTestFactory.identifier3("c"), null, |
4371 null, AstFactory.identifier3("c"), null, AstFactory.block())); | 4521 AstTestFactory.block())); |
4372 } | 4522 } |
4373 | 4523 |
4374 void test_visitForStatement_cu() { | 4524 void test_visitForStatement_cu() { |
4375 _assertSource( | 4525 _assertSource( |
4376 "for (; c; u) {}", | 4526 "for (; c; u) {}", |
4377 AstFactory.forStatement(null, AstFactory.identifier3("c"), | 4527 AstTestFactory.forStatement(null, AstTestFactory.identifier3("c"), |
4378 [AstFactory.identifier3("u")], AstFactory.block())); | 4528 [AstTestFactory.identifier3("u")], AstTestFactory.block())); |
4379 } | 4529 } |
4380 | 4530 |
4381 void test_visitForStatement_e() { | 4531 void test_visitForStatement_e() { |
4382 _assertSource( | 4532 _assertSource( |
4383 "for (e;;) {}", | 4533 "for (e;;) {}", |
4384 AstFactory.forStatement( | 4534 AstTestFactory.forStatement(AstTestFactory.identifier3("e"), null, null, |
4385 AstFactory.identifier3("e"), null, null, AstFactory.block())); | 4535 AstTestFactory.block())); |
4386 } | 4536 } |
4387 | 4537 |
4388 void test_visitForStatement_ec() { | 4538 void test_visitForStatement_ec() { |
4389 _assertSource( | 4539 _assertSource( |
4390 "for (e; c;) {}", | 4540 "for (e; c;) {}", |
4391 AstFactory.forStatement(AstFactory.identifier3("e"), | 4541 AstTestFactory.forStatement(AstTestFactory.identifier3("e"), |
4392 AstFactory.identifier3("c"), null, AstFactory.block())); | 4542 AstTestFactory.identifier3("c"), null, AstTestFactory.block())); |
4393 } | 4543 } |
4394 | 4544 |
4395 void test_visitForStatement_ecu() { | 4545 void test_visitForStatement_ecu() { |
4396 _assertSource( | 4546 _assertSource( |
4397 "for (e; c; u) {}", | 4547 "for (e; c; u) {}", |
4398 AstFactory.forStatement( | 4548 AstTestFactory.forStatement( |
4399 AstFactory.identifier3("e"), | 4549 AstTestFactory.identifier3("e"), |
4400 AstFactory.identifier3("c"), | 4550 AstTestFactory.identifier3("c"), |
4401 [AstFactory.identifier3("u")], | 4551 [AstTestFactory.identifier3("u")], |
4402 AstFactory.block())); | 4552 AstTestFactory.block())); |
4403 } | 4553 } |
4404 | 4554 |
4405 void test_visitForStatement_eu() { | 4555 void test_visitForStatement_eu() { |
4406 _assertSource( | 4556 _assertSource( |
4407 "for (e;; u) {}", | 4557 "for (e;; u) {}", |
4408 AstFactory.forStatement(AstFactory.identifier3("e"), null, | 4558 AstTestFactory.forStatement(AstTestFactory.identifier3("e"), null, |
4409 [AstFactory.identifier3("u")], AstFactory.block())); | 4559 [AstTestFactory.identifier3("u")], AstTestFactory.block())); |
4410 } | 4560 } |
4411 | 4561 |
4412 void test_visitForStatement_i() { | 4562 void test_visitForStatement_i() { |
4413 _assertSource( | 4563 _assertSource( |
4414 "for (var i;;) {}", | 4564 "for (var i;;) {}", |
4415 AstFactory.forStatement2( | 4565 AstTestFactory.forStatement2( |
4416 AstFactory.variableDeclarationList2( | 4566 AstTestFactory.variableDeclarationList2( |
4417 Keyword.VAR, [AstFactory.variableDeclaration("i")]), | 4567 Keyword.VAR, [AstTestFactory.variableDeclaration("i")]), |
4418 null, | 4568 null, |
4419 null, | 4569 null, |
4420 AstFactory.block())); | 4570 AstTestFactory.block())); |
4421 } | 4571 } |
4422 | 4572 |
4423 void test_visitForStatement_ic() { | 4573 void test_visitForStatement_ic() { |
4424 _assertSource( | 4574 _assertSource( |
4425 "for (var i; c;) {}", | 4575 "for (var i; c;) {}", |
4426 AstFactory.forStatement2( | 4576 AstTestFactory.forStatement2( |
4427 AstFactory.variableDeclarationList2( | 4577 AstTestFactory.variableDeclarationList2( |
4428 Keyword.VAR, [AstFactory.variableDeclaration("i")]), | 4578 Keyword.VAR, [AstTestFactory.variableDeclaration("i")]), |
4429 AstFactory.identifier3("c"), | 4579 AstTestFactory.identifier3("c"), |
4430 null, | 4580 null, |
4431 AstFactory.block())); | 4581 AstTestFactory.block())); |
4432 } | 4582 } |
4433 | 4583 |
4434 void test_visitForStatement_icu() { | 4584 void test_visitForStatement_icu() { |
4435 _assertSource( | 4585 _assertSource( |
4436 "for (var i; c; u) {}", | 4586 "for (var i; c; u) {}", |
4437 AstFactory.forStatement2( | 4587 AstTestFactory.forStatement2( |
4438 AstFactory.variableDeclarationList2( | 4588 AstTestFactory.variableDeclarationList2( |
4439 Keyword.VAR, [AstFactory.variableDeclaration("i")]), | 4589 Keyword.VAR, [AstTestFactory.variableDeclaration("i")]), |
4440 AstFactory.identifier3("c"), | 4590 AstTestFactory.identifier3("c"), |
4441 [AstFactory.identifier3("u")], | 4591 [AstTestFactory.identifier3("u")], |
4442 AstFactory.block())); | 4592 AstTestFactory.block())); |
4443 } | 4593 } |
4444 | 4594 |
4445 void test_visitForStatement_iu() { | 4595 void test_visitForStatement_iu() { |
4446 _assertSource( | 4596 _assertSource( |
4447 "for (var i;; u) {}", | 4597 "for (var i;; u) {}", |
4448 AstFactory.forStatement2( | 4598 AstTestFactory.forStatement2( |
4449 AstFactory.variableDeclarationList2( | 4599 AstTestFactory.variableDeclarationList2( |
4450 Keyword.VAR, [AstFactory.variableDeclaration("i")]), | 4600 Keyword.VAR, [AstTestFactory.variableDeclaration("i")]), |
4451 null, | 4601 null, |
4452 [AstFactory.identifier3("u")], | 4602 [AstTestFactory.identifier3("u")], |
4453 AstFactory.block())); | 4603 AstTestFactory.block())); |
4454 } | 4604 } |
4455 | 4605 |
4456 void test_visitForStatement_u() { | 4606 void test_visitForStatement_u() { |
4457 _assertSource( | 4607 _assertSource( |
4458 "for (;; u) {}", | 4608 "for (;; u) {}", |
4459 AstFactory.forStatement( | 4609 AstTestFactory.forStatement(null, null, |
4460 null, null, [AstFactory.identifier3("u")], AstFactory.block())); | 4610 [AstTestFactory.identifier3("u")], AstTestFactory.block())); |
4461 } | 4611 } |
4462 | 4612 |
4463 void test_visitFunctionDeclaration_external() { | 4613 void test_visitFunctionDeclaration_external() { |
4464 FunctionDeclaration functionDeclaration = AstFactory.functionDeclaration( | 4614 FunctionDeclaration functionDeclaration = |
4465 null, | 4615 AstTestFactory.functionDeclaration( |
4466 null, | 4616 null, |
4467 "f", | 4617 null, |
4468 AstFactory.functionExpression2( | 4618 "f", |
4469 AstFactory.formalParameterList(), AstFactory.emptyFunctionBody())); | 4619 AstTestFactory.functionExpression2( |
| 4620 AstTestFactory.formalParameterList(), |
| 4621 AstTestFactory.emptyFunctionBody())); |
4470 functionDeclaration.externalKeyword = | 4622 functionDeclaration.externalKeyword = |
4471 TokenFactory.tokenFromKeyword(Keyword.EXTERNAL); | 4623 TokenFactory.tokenFromKeyword(Keyword.EXTERNAL); |
4472 _assertSource("external f();", functionDeclaration); | 4624 _assertSource("external f();", functionDeclaration); |
4473 } | 4625 } |
4474 | 4626 |
4475 void test_visitFunctionDeclaration_getter() { | 4627 void test_visitFunctionDeclaration_getter() { |
4476 _assertSource( | 4628 _assertSource( |
4477 "get f() {}", | 4629 "get f() {}", |
4478 AstFactory.functionDeclaration( | 4630 AstTestFactory.functionDeclaration( |
4479 null, Keyword.GET, "f", AstFactory.functionExpression())); | 4631 null, Keyword.GET, "f", AstTestFactory.functionExpression())); |
4480 } | 4632 } |
4481 | 4633 |
4482 void test_visitFunctionDeclaration_local_blockBody() { | 4634 void test_visitFunctionDeclaration_local_blockBody() { |
4483 FunctionDeclaration f = AstFactory.functionDeclaration( | 4635 FunctionDeclaration f = AstTestFactory.functionDeclaration( |
4484 null, null, "f", AstFactory.functionExpression()); | 4636 null, null, "f", AstTestFactory.functionExpression()); |
4485 FunctionDeclarationStatement fStatement = | 4637 FunctionDeclarationStatement fStatement = |
4486 new FunctionDeclarationStatement(f); | 4638 new FunctionDeclarationStatement(f); |
4487 _assertSource( | 4639 _assertSource( |
4488 "main() {f() {} 42;}", | 4640 "main() {f() {} 42;}", |
4489 AstFactory.functionDeclaration( | 4641 AstTestFactory.functionDeclaration( |
4490 null, | 4642 null, |
4491 null, | 4643 null, |
4492 "main", | 4644 "main", |
4493 AstFactory.functionExpression2( | 4645 AstTestFactory.functionExpression2( |
4494 AstFactory.formalParameterList(), | 4646 AstTestFactory.formalParameterList(), |
4495 AstFactory.blockFunctionBody2([ | 4647 AstTestFactory.blockFunctionBody2([ |
4496 fStatement, | 4648 fStatement, |
4497 AstFactory.expressionStatement(AstFactory.integer(42)) | 4649 AstTestFactory.expressionStatement(AstTestFactory.integer(42)) |
4498 ])))); | 4650 ])))); |
4499 } | 4651 } |
4500 | 4652 |
4501 void test_visitFunctionDeclaration_local_expressionBody() { | 4653 void test_visitFunctionDeclaration_local_expressionBody() { |
4502 FunctionDeclaration f = AstFactory.functionDeclaration( | 4654 FunctionDeclaration f = AstTestFactory.functionDeclaration( |
4503 null, | 4655 null, |
4504 null, | 4656 null, |
4505 "f", | 4657 "f", |
4506 AstFactory.functionExpression2(AstFactory.formalParameterList(), | 4658 AstTestFactory.functionExpression2(AstTestFactory.formalParameterList(), |
4507 AstFactory.expressionFunctionBody(AstFactory.integer(1)))); | 4659 AstTestFactory.expressionFunctionBody(AstTestFactory.integer(1)))); |
4508 FunctionDeclarationStatement fStatement = | 4660 FunctionDeclarationStatement fStatement = |
4509 new FunctionDeclarationStatement(f); | 4661 new FunctionDeclarationStatement(f); |
4510 _assertSource( | 4662 _assertSource( |
4511 "main() {f() => 1; 2;}", | 4663 "main() {f() => 1; 2;}", |
4512 AstFactory.functionDeclaration( | 4664 AstTestFactory.functionDeclaration( |
4513 null, | 4665 null, |
4514 null, | 4666 null, |
4515 "main", | 4667 "main", |
4516 AstFactory.functionExpression2( | 4668 AstTestFactory.functionExpression2( |
4517 AstFactory.formalParameterList(), | 4669 AstTestFactory.formalParameterList(), |
4518 AstFactory.blockFunctionBody2([ | 4670 AstTestFactory.blockFunctionBody2([ |
4519 fStatement, | 4671 fStatement, |
4520 AstFactory.expressionStatement(AstFactory.integer(2)) | 4672 AstTestFactory.expressionStatement(AstTestFactory.integer(2)) |
4521 ])))); | 4673 ])))); |
4522 } | 4674 } |
4523 | 4675 |
4524 void test_visitFunctionDeclaration_normal() { | 4676 void test_visitFunctionDeclaration_normal() { |
4525 _assertSource( | 4677 _assertSource( |
4526 "f() {}", | 4678 "f() {}", |
4527 AstFactory.functionDeclaration( | 4679 AstTestFactory.functionDeclaration( |
4528 null, null, "f", AstFactory.functionExpression())); | 4680 null, null, "f", AstTestFactory.functionExpression())); |
4529 } | 4681 } |
4530 | 4682 |
4531 void test_visitFunctionDeclaration_setter() { | 4683 void test_visitFunctionDeclaration_setter() { |
4532 _assertSource( | 4684 _assertSource( |
4533 "set f() {}", | 4685 "set f() {}", |
4534 AstFactory.functionDeclaration( | 4686 AstTestFactory.functionDeclaration( |
4535 null, Keyword.SET, "f", AstFactory.functionExpression())); | 4687 null, Keyword.SET, "f", AstTestFactory.functionExpression())); |
4536 } | 4688 } |
4537 | 4689 |
4538 void test_visitFunctionDeclaration_typeParameters() { | 4690 void test_visitFunctionDeclaration_typeParameters() { |
4539 _assertSource( | 4691 _assertSource( |
4540 "f<E>() {}", | 4692 "f<E>() {}", |
4541 AstFactory.functionDeclaration( | 4693 AstTestFactory.functionDeclaration( |
4542 null, | 4694 null, |
4543 null, | 4695 null, |
4544 "f", | 4696 "f", |
4545 AstFactory.functionExpression3( | 4697 AstTestFactory.functionExpression3( |
4546 AstFactory.typeParameterList(['E']), | 4698 AstTestFactory.typeParameterList(['E']), |
4547 AstFactory.formalParameterList(), | 4699 AstTestFactory.formalParameterList(), |
4548 AstFactory.blockFunctionBody2()))); | 4700 AstTestFactory.blockFunctionBody2()))); |
4549 } | 4701 } |
4550 | 4702 |
4551 void test_visitFunctionDeclaration_withMetadata() { | 4703 void test_visitFunctionDeclaration_withMetadata() { |
4552 FunctionDeclaration declaration = AstFactory.functionDeclaration( | 4704 FunctionDeclaration declaration = AstTestFactory.functionDeclaration( |
4553 null, null, "f", AstFactory.functionExpression()); | 4705 null, null, "f", AstTestFactory.functionExpression()); |
4554 declaration.metadata | 4706 declaration.metadata.add( |
4555 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 4707 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
4556 _assertSource("@deprecated f() {}", declaration); | 4708 _assertSource("@deprecated f() {}", declaration); |
4557 } | 4709 } |
4558 | 4710 |
4559 void test_visitFunctionDeclarationStatement() { | 4711 void test_visitFunctionDeclarationStatement() { |
4560 _assertSource( | 4712 _assertSource( |
4561 "f() {}", | 4713 "f() {}", |
4562 AstFactory.functionDeclarationStatement( | 4714 AstTestFactory.functionDeclarationStatement( |
4563 null, null, "f", AstFactory.functionExpression())); | 4715 null, null, "f", AstTestFactory.functionExpression())); |
4564 } | 4716 } |
4565 | 4717 |
4566 void test_visitFunctionExpression() { | 4718 void test_visitFunctionExpression() { |
4567 _assertSource("() {}", AstFactory.functionExpression()); | 4719 _assertSource("() {}", AstTestFactory.functionExpression()); |
4568 } | 4720 } |
4569 | 4721 |
4570 void test_visitFunctionExpression_typeParameters() { | 4722 void test_visitFunctionExpression_typeParameters() { |
4571 _assertSource( | 4723 _assertSource( |
4572 "<E>() {}", | 4724 "<E>() {}", |
4573 AstFactory.functionExpression3(AstFactory.typeParameterList(['E']), | 4725 AstTestFactory.functionExpression3( |
4574 AstFactory.formalParameterList(), AstFactory.blockFunctionBody2())); | 4726 AstTestFactory.typeParameterList(['E']), |
| 4727 AstTestFactory.formalParameterList(), |
| 4728 AstTestFactory.blockFunctionBody2())); |
4575 } | 4729 } |
4576 | 4730 |
4577 void test_visitFunctionExpressionInvocation_minimal() { | 4731 void test_visitFunctionExpressionInvocation_minimal() { |
4578 _assertSource("f()", | 4732 _assertSource( |
4579 AstFactory.functionExpressionInvocation(AstFactory.identifier3("f"))); | 4733 "f()", |
| 4734 AstTestFactory |
| 4735 .functionExpressionInvocation(AstTestFactory.identifier3("f"))); |
4580 } | 4736 } |
4581 | 4737 |
4582 void test_visitFunctionExpressionInvocation_typeArguments() { | 4738 void test_visitFunctionExpressionInvocation_typeArguments() { |
4583 _assertSource( | 4739 _assertSource( |
4584 "f<A>()", | 4740 "f<A>()", |
4585 AstFactory.functionExpressionInvocation2(AstFactory.identifier3("f"), | 4741 AstTestFactory.functionExpressionInvocation2( |
4586 AstFactory.typeArgumentList([AstFactory.typeName4('A')]))); | 4742 AstTestFactory.identifier3("f"), |
| 4743 AstTestFactory.typeArgumentList([AstTestFactory.typeName4('A')]))); |
4587 } | 4744 } |
4588 | 4745 |
4589 void test_visitFunctionTypeAlias_generic() { | 4746 void test_visitFunctionTypeAlias_generic() { |
4590 _assertSource( | 4747 _assertSource( |
4591 "typedef A F<B>();", | 4748 "typedef A F<B>();", |
4592 AstFactory.typeAlias( | 4749 AstTestFactory.typeAlias( |
4593 AstFactory.typeName4("A"), | 4750 AstTestFactory.typeName4("A"), |
4594 "F", | 4751 "F", |
4595 AstFactory.typeParameterList(["B"]), | 4752 AstTestFactory.typeParameterList(["B"]), |
4596 AstFactory.formalParameterList())); | 4753 AstTestFactory.formalParameterList())); |
4597 } | 4754 } |
4598 | 4755 |
4599 void test_visitFunctionTypeAlias_nonGeneric() { | 4756 void test_visitFunctionTypeAlias_nonGeneric() { |
4600 _assertSource( | 4757 _assertSource( |
4601 "typedef A F();", | 4758 "typedef A F();", |
4602 AstFactory.typeAlias(AstFactory.typeName4("A"), "F", null, | 4759 AstTestFactory.typeAlias(AstTestFactory.typeName4("A"), "F", null, |
4603 AstFactory.formalParameterList())); | 4760 AstTestFactory.formalParameterList())); |
4604 } | 4761 } |
4605 | 4762 |
4606 void test_visitFunctionTypeAlias_withMetadata() { | 4763 void test_visitFunctionTypeAlias_withMetadata() { |
4607 FunctionTypeAlias declaration = AstFactory.typeAlias( | 4764 FunctionTypeAlias declaration = AstTestFactory.typeAlias( |
4608 AstFactory.typeName4("A"), "F", null, AstFactory.formalParameterList()); | 4765 AstTestFactory.typeName4("A"), |
4609 declaration.metadata | 4766 "F", |
4610 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 4767 null, |
| 4768 AstTestFactory.formalParameterList()); |
| 4769 declaration.metadata.add( |
| 4770 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
4611 _assertSource("@deprecated typedef A F();", declaration); | 4771 _assertSource("@deprecated typedef A F();", declaration); |
4612 } | 4772 } |
4613 | 4773 |
4614 void test_visitFunctionTypedFormalParameter_annotation() { | 4774 void test_visitFunctionTypedFormalParameter_annotation() { |
4615 FunctionTypedFormalParameter parameter = | 4775 FunctionTypedFormalParameter parameter = |
4616 AstFactory.functionTypedFormalParameter(null, "f"); | 4776 AstTestFactory.functionTypedFormalParameter(null, "f"); |
4617 parameter.metadata.add(AstFactory.annotation(AstFactory.identifier3("A"))); | 4777 parameter.metadata |
| 4778 .add(AstTestFactory.annotation(AstTestFactory.identifier3("A"))); |
4618 _assertSource('@A f()', parameter); | 4779 _assertSource('@A f()', parameter); |
4619 } | 4780 } |
4620 | 4781 |
4621 void test_visitFunctionTypedFormalParameter_noType() { | 4782 void test_visitFunctionTypedFormalParameter_noType() { |
4622 _assertSource("f()", AstFactory.functionTypedFormalParameter(null, "f")); | 4783 _assertSource( |
| 4784 "f()", AstTestFactory.functionTypedFormalParameter(null, "f")); |
4623 } | 4785 } |
4624 | 4786 |
4625 void test_visitFunctionTypedFormalParameter_type() { | 4787 void test_visitFunctionTypedFormalParameter_type() { |
4626 _assertSource( | 4788 _assertSource( |
4627 "T f()", | 4789 "T f()", |
4628 AstFactory.functionTypedFormalParameter( | 4790 AstTestFactory.functionTypedFormalParameter( |
4629 AstFactory.typeName4("T"), "f")); | 4791 AstTestFactory.typeName4("T"), "f")); |
4630 } | 4792 } |
4631 | 4793 |
4632 void test_visitFunctionTypedFormalParameter_typeParameters() { | 4794 void test_visitFunctionTypedFormalParameter_typeParameters() { |
4633 _assertSource( | 4795 _assertSource( |
4634 "T f<E>()", | 4796 "T f<E>()", |
4635 new FunctionTypedFormalParameter( | 4797 new FunctionTypedFormalParameter( |
4636 null, | 4798 null, |
4637 null, | 4799 null, |
4638 AstFactory.typeName4("T"), | 4800 AstTestFactory.typeName4("T"), |
4639 AstFactory.identifier3('f'), | 4801 AstTestFactory.identifier3('f'), |
4640 AstFactory.typeParameterList(['E']), | 4802 AstTestFactory.typeParameterList(['E']), |
4641 AstFactory.formalParameterList([]))); | 4803 AstTestFactory.formalParameterList([]))); |
4642 } | 4804 } |
4643 | 4805 |
4644 void test_visitIfStatement_withElse() { | 4806 void test_visitIfStatement_withElse() { |
4645 _assertSource( | 4807 _assertSource( |
4646 "if (c) {} else {}", | 4808 "if (c) {} else {}", |
4647 AstFactory.ifStatement2(AstFactory.identifier3("c"), AstFactory.block(), | 4809 AstTestFactory.ifStatement2(AstTestFactory.identifier3("c"), |
4648 AstFactory.block())); | 4810 AstTestFactory.block(), AstTestFactory.block())); |
4649 } | 4811 } |
4650 | 4812 |
4651 void test_visitIfStatement_withoutElse() { | 4813 void test_visitIfStatement_withoutElse() { |
4652 _assertSource( | 4814 _assertSource( |
4653 "if (c) {}", | 4815 "if (c) {}", |
4654 AstFactory.ifStatement( | 4816 AstTestFactory.ifStatement( |
4655 AstFactory.identifier3("c"), AstFactory.block())); | 4817 AstTestFactory.identifier3("c"), AstTestFactory.block())); |
4656 } | 4818 } |
4657 | 4819 |
4658 void test_visitImplementsClause_multiple() { | 4820 void test_visitImplementsClause_multiple() { |
4659 _assertSource( | 4821 _assertSource( |
4660 "implements A, B", | 4822 "implements A, B", |
4661 AstFactory.implementsClause( | 4823 AstTestFactory.implementsClause( |
4662 [AstFactory.typeName4("A"), AstFactory.typeName4("B")])); | 4824 [AstTestFactory.typeName4("A"), AstTestFactory.typeName4("B")])); |
4663 } | 4825 } |
4664 | 4826 |
4665 void test_visitImplementsClause_single() { | 4827 void test_visitImplementsClause_single() { |
4666 _assertSource("implements A", | 4828 _assertSource("implements A", |
4667 AstFactory.implementsClause([AstFactory.typeName4("A")])); | 4829 AstTestFactory.implementsClause([AstTestFactory.typeName4("A")])); |
4668 } | 4830 } |
4669 | 4831 |
4670 void test_visitImportDirective_combinator() { | 4832 void test_visitImportDirective_combinator() { |
4671 _assertSource( | 4833 _assertSource( |
4672 "import 'a.dart' show A;", | 4834 "import 'a.dart' show A;", |
4673 AstFactory.importDirective3("a.dart", null, [ | 4835 AstTestFactory.importDirective3("a.dart", null, [ |
4674 AstFactory.showCombinator([AstFactory.identifier3("A")]) | 4836 AstTestFactory.showCombinator([AstTestFactory.identifier3("A")]) |
4675 ])); | 4837 ])); |
4676 } | 4838 } |
4677 | 4839 |
4678 void test_visitImportDirective_combinators() { | 4840 void test_visitImportDirective_combinators() { |
4679 _assertSource( | 4841 _assertSource( |
4680 "import 'a.dart' show A hide B;", | 4842 "import 'a.dart' show A hide B;", |
4681 AstFactory.importDirective3("a.dart", null, [ | 4843 AstTestFactory.importDirective3("a.dart", null, [ |
4682 AstFactory.showCombinator([AstFactory.identifier3("A")]), | 4844 AstTestFactory.showCombinator([AstTestFactory.identifier3("A")]), |
4683 AstFactory.hideCombinator([AstFactory.identifier3("B")]) | 4845 AstTestFactory.hideCombinator([AstTestFactory.identifier3("B")]) |
4684 ])); | 4846 ])); |
4685 } | 4847 } |
4686 | 4848 |
4687 void test_visitImportDirective_deferred() { | 4849 void test_visitImportDirective_deferred() { |
4688 _assertSource("import 'a.dart' deferred as p;", | 4850 _assertSource("import 'a.dart' deferred as p;", |
4689 AstFactory.importDirective2("a.dart", true, "p")); | 4851 AstTestFactory.importDirective2("a.dart", true, "p")); |
4690 } | 4852 } |
4691 | 4853 |
4692 void test_visitImportDirective_minimal() { | 4854 void test_visitImportDirective_minimal() { |
4693 _assertSource( | 4855 _assertSource( |
4694 "import 'a.dart';", AstFactory.importDirective3("a.dart", null)); | 4856 "import 'a.dart';", AstTestFactory.importDirective3("a.dart", null)); |
4695 } | 4857 } |
4696 | 4858 |
4697 void test_visitImportDirective_prefix() { | 4859 void test_visitImportDirective_prefix() { |
4698 _assertSource( | 4860 _assertSource("import 'a.dart' as p;", |
4699 "import 'a.dart' as p;", AstFactory.importDirective3("a.dart", "p")); | 4861 AstTestFactory.importDirective3("a.dart", "p")); |
4700 } | 4862 } |
4701 | 4863 |
4702 void test_visitImportDirective_prefix_combinator() { | 4864 void test_visitImportDirective_prefix_combinator() { |
4703 _assertSource( | 4865 _assertSource( |
4704 "import 'a.dart' as p show A;", | 4866 "import 'a.dart' as p show A;", |
4705 AstFactory.importDirective3("a.dart", "p", [ | 4867 AstTestFactory.importDirective3("a.dart", "p", [ |
4706 AstFactory.showCombinator([AstFactory.identifier3("A")]) | 4868 AstTestFactory.showCombinator([AstTestFactory.identifier3("A")]) |
4707 ])); | 4869 ])); |
4708 } | 4870 } |
4709 | 4871 |
4710 void test_visitImportDirective_prefix_combinators() { | 4872 void test_visitImportDirective_prefix_combinators() { |
4711 _assertSource( | 4873 _assertSource( |
4712 "import 'a.dart' as p show A hide B;", | 4874 "import 'a.dart' as p show A hide B;", |
4713 AstFactory.importDirective3("a.dart", "p", [ | 4875 AstTestFactory.importDirective3("a.dart", "p", [ |
4714 AstFactory.showCombinator([AstFactory.identifier3("A")]), | 4876 AstTestFactory.showCombinator([AstTestFactory.identifier3("A")]), |
4715 AstFactory.hideCombinator([AstFactory.identifier3("B")]) | 4877 AstTestFactory.hideCombinator([AstTestFactory.identifier3("B")]) |
4716 ])); | 4878 ])); |
4717 } | 4879 } |
4718 | 4880 |
4719 void test_visitImportDirective_withMetadata() { | 4881 void test_visitImportDirective_withMetadata() { |
4720 ImportDirective directive = AstFactory.importDirective3("a.dart", null); | 4882 ImportDirective directive = AstTestFactory.importDirective3("a.dart", null); |
4721 directive.metadata | 4883 directive.metadata.add( |
4722 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 4884 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
4723 _assertSource("@deprecated import 'a.dart';", directive); | 4885 _assertSource("@deprecated import 'a.dart';", directive); |
4724 } | 4886 } |
4725 | 4887 |
4726 void test_visitImportHideCombinator_multiple() { | 4888 void test_visitImportHideCombinator_multiple() { |
4727 _assertSource( | 4889 _assertSource( |
4728 "hide a, b", | 4890 "hide a, b", |
4729 AstFactory.hideCombinator( | 4891 AstTestFactory.hideCombinator([ |
4730 [AstFactory.identifier3("a"), AstFactory.identifier3("b")])); | 4892 AstTestFactory.identifier3("a"), |
| 4893 AstTestFactory.identifier3("b") |
| 4894 ])); |
4731 } | 4895 } |
4732 | 4896 |
4733 void test_visitImportHideCombinator_single() { | 4897 void test_visitImportHideCombinator_single() { |
4734 _assertSource( | 4898 _assertSource("hide a", |
4735 "hide a", AstFactory.hideCombinator([AstFactory.identifier3("a")])); | 4899 AstTestFactory.hideCombinator([AstTestFactory.identifier3("a")])); |
4736 } | 4900 } |
4737 | 4901 |
4738 void test_visitImportShowCombinator_multiple() { | 4902 void test_visitImportShowCombinator_multiple() { |
4739 _assertSource( | 4903 _assertSource( |
4740 "show a, b", | 4904 "show a, b", |
4741 AstFactory.showCombinator( | 4905 AstTestFactory.showCombinator([ |
4742 [AstFactory.identifier3("a"), AstFactory.identifier3("b")])); | 4906 AstTestFactory.identifier3("a"), |
| 4907 AstTestFactory.identifier3("b") |
| 4908 ])); |
4743 } | 4909 } |
4744 | 4910 |
4745 void test_visitImportShowCombinator_single() { | 4911 void test_visitImportShowCombinator_single() { |
4746 _assertSource( | 4912 _assertSource("show a", |
4747 "show a", AstFactory.showCombinator([AstFactory.identifier3("a")])); | 4913 AstTestFactory.showCombinator([AstTestFactory.identifier3("a")])); |
4748 } | 4914 } |
4749 | 4915 |
4750 void test_visitIndexExpression() { | 4916 void test_visitIndexExpression() { |
4751 _assertSource( | 4917 _assertSource( |
4752 "a[i]", | 4918 "a[i]", |
4753 AstFactory.indexExpression( | 4919 AstTestFactory.indexExpression( |
4754 AstFactory.identifier3("a"), AstFactory.identifier3("i"))); | 4920 AstTestFactory.identifier3("a"), AstTestFactory.identifier3("i"))); |
4755 } | 4921 } |
4756 | 4922 |
4757 void test_visitInstanceCreationExpression_const() { | 4923 void test_visitInstanceCreationExpression_const() { |
4758 _assertSource( | 4924 _assertSource( |
4759 "const C()", | 4925 "const C()", |
4760 AstFactory.instanceCreationExpression2( | 4926 AstTestFactory.instanceCreationExpression2( |
4761 Keyword.CONST, AstFactory.typeName4("C"))); | 4927 Keyword.CONST, AstTestFactory.typeName4("C"))); |
4762 } | 4928 } |
4763 | 4929 |
4764 void test_visitInstanceCreationExpression_named() { | 4930 void test_visitInstanceCreationExpression_named() { |
4765 _assertSource( | 4931 _assertSource( |
4766 "new C.c()", | 4932 "new C.c()", |
4767 AstFactory.instanceCreationExpression3( | 4933 AstTestFactory.instanceCreationExpression3( |
4768 Keyword.NEW, AstFactory.typeName4("C"), "c")); | 4934 Keyword.NEW, AstTestFactory.typeName4("C"), "c")); |
4769 } | 4935 } |
4770 | 4936 |
4771 void test_visitInstanceCreationExpression_unnamed() { | 4937 void test_visitInstanceCreationExpression_unnamed() { |
4772 _assertSource( | 4938 _assertSource( |
4773 "new C()", | 4939 "new C()", |
4774 AstFactory.instanceCreationExpression2( | 4940 AstTestFactory.instanceCreationExpression2( |
4775 Keyword.NEW, AstFactory.typeName4("C"))); | 4941 Keyword.NEW, AstTestFactory.typeName4("C"))); |
4776 } | 4942 } |
4777 | 4943 |
4778 void test_visitIntegerLiteral() { | 4944 void test_visitIntegerLiteral() { |
4779 _assertSource("42", AstFactory.integer(42)); | 4945 _assertSource("42", AstTestFactory.integer(42)); |
4780 } | 4946 } |
4781 | 4947 |
4782 void test_visitInterpolationExpression_expression() { | 4948 void test_visitInterpolationExpression_expression() { |
4783 _assertSource("\${a}", | 4949 _assertSource( |
4784 AstFactory.interpolationExpression(AstFactory.identifier3("a"))); | 4950 "\${a}", |
| 4951 AstTestFactory |
| 4952 .interpolationExpression(AstTestFactory.identifier3("a"))); |
4785 } | 4953 } |
4786 | 4954 |
4787 void test_visitInterpolationExpression_identifier() { | 4955 void test_visitInterpolationExpression_identifier() { |
4788 _assertSource("\$a", AstFactory.interpolationExpression2("a")); | 4956 _assertSource("\$a", AstTestFactory.interpolationExpression2("a")); |
4789 } | 4957 } |
4790 | 4958 |
4791 void test_visitInterpolationString() { | 4959 void test_visitInterpolationString() { |
4792 _assertSource("'x", AstFactory.interpolationString("'x", "x")); | 4960 _assertSource("'x", AstTestFactory.interpolationString("'x", "x")); |
4793 } | 4961 } |
4794 | 4962 |
4795 void test_visitIsExpression_negated() { | 4963 void test_visitIsExpression_negated() { |
4796 _assertSource( | 4964 _assertSource( |
4797 "a is! C", | 4965 "a is! C", |
4798 AstFactory.isExpression( | 4966 AstTestFactory.isExpression(AstTestFactory.identifier3("a"), true, |
4799 AstFactory.identifier3("a"), true, AstFactory.typeName4("C"))); | 4967 AstTestFactory.typeName4("C"))); |
4800 } | 4968 } |
4801 | 4969 |
4802 void test_visitIsExpression_normal() { | 4970 void test_visitIsExpression_normal() { |
4803 _assertSource( | 4971 _assertSource( |
4804 "a is C", | 4972 "a is C", |
4805 AstFactory.isExpression( | 4973 AstTestFactory.isExpression(AstTestFactory.identifier3("a"), false, |
4806 AstFactory.identifier3("a"), false, AstFactory.typeName4("C"))); | 4974 AstTestFactory.typeName4("C"))); |
4807 } | 4975 } |
4808 | 4976 |
4809 void test_visitLabel() { | 4977 void test_visitLabel() { |
4810 _assertSource("a:", AstFactory.label2("a")); | 4978 _assertSource("a:", AstTestFactory.label2("a")); |
4811 } | 4979 } |
4812 | 4980 |
4813 void test_visitLabeledStatement_multiple() { | 4981 void test_visitLabeledStatement_multiple() { |
4814 _assertSource( | 4982 _assertSource( |
4815 "a: b: return;", | 4983 "a: b: return;", |
4816 AstFactory.labeledStatement( | 4984 AstTestFactory.labeledStatement( |
4817 [AstFactory.label2("a"), AstFactory.label2("b")], | 4985 [AstTestFactory.label2("a"), AstTestFactory.label2("b")], |
4818 AstFactory.returnStatement())); | 4986 AstTestFactory.returnStatement())); |
4819 } | 4987 } |
4820 | 4988 |
4821 void test_visitLabeledStatement_single() { | 4989 void test_visitLabeledStatement_single() { |
4822 _assertSource( | 4990 _assertSource( |
4823 "a: return;", | 4991 "a: return;", |
4824 AstFactory.labeledStatement( | 4992 AstTestFactory.labeledStatement( |
4825 [AstFactory.label2("a")], AstFactory.returnStatement())); | 4993 [AstTestFactory.label2("a")], AstTestFactory.returnStatement())); |
4826 } | 4994 } |
4827 | 4995 |
4828 void test_visitLibraryDirective() { | 4996 void test_visitLibraryDirective() { |
4829 _assertSource("library l;", AstFactory.libraryDirective2("l")); | 4997 _assertSource("library l;", AstTestFactory.libraryDirective2("l")); |
4830 } | 4998 } |
4831 | 4999 |
4832 void test_visitLibraryDirective_withMetadata() { | 5000 void test_visitLibraryDirective_withMetadata() { |
4833 LibraryDirective directive = AstFactory.libraryDirective2("l"); | 5001 LibraryDirective directive = AstTestFactory.libraryDirective2("l"); |
4834 directive.metadata | 5002 directive.metadata.add( |
4835 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 5003 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
4836 _assertSource("@deprecated library l;", directive); | 5004 _assertSource("@deprecated library l;", directive); |
4837 } | 5005 } |
4838 | 5006 |
4839 void test_visitLibraryIdentifier_multiple() { | 5007 void test_visitLibraryIdentifier_multiple() { |
4840 _assertSource( | 5008 _assertSource( |
4841 "a.b.c", | 5009 "a.b.c", |
4842 AstFactory.libraryIdentifier([ | 5010 AstTestFactory.libraryIdentifier([ |
4843 AstFactory.identifier3("a"), | 5011 AstTestFactory.identifier3("a"), |
4844 AstFactory.identifier3("b"), | 5012 AstTestFactory.identifier3("b"), |
4845 AstFactory.identifier3("c") | 5013 AstTestFactory.identifier3("c") |
4846 ])); | 5014 ])); |
4847 } | 5015 } |
4848 | 5016 |
4849 void test_visitLibraryIdentifier_single() { | 5017 void test_visitLibraryIdentifier_single() { |
4850 _assertSource( | 5018 _assertSource("a", |
4851 "a", AstFactory.libraryIdentifier([AstFactory.identifier3("a")])); | 5019 AstTestFactory.libraryIdentifier([AstTestFactory.identifier3("a")])); |
4852 } | 5020 } |
4853 | 5021 |
4854 void test_visitListLiteral_const() { | 5022 void test_visitListLiteral_const() { |
4855 _assertSource("const []", AstFactory.listLiteral2(Keyword.CONST, null)); | 5023 _assertSource("const []", AstTestFactory.listLiteral2(Keyword.CONST, null)); |
4856 } | 5024 } |
4857 | 5025 |
4858 void test_visitListLiteral_empty() { | 5026 void test_visitListLiteral_empty() { |
4859 _assertSource("[]", AstFactory.listLiteral()); | 5027 _assertSource("[]", AstTestFactory.listLiteral()); |
4860 } | 5028 } |
4861 | 5029 |
4862 void test_visitListLiteral_nonEmpty() { | 5030 void test_visitListLiteral_nonEmpty() { |
4863 _assertSource( | 5031 _assertSource( |
4864 "[a, b, c]", | 5032 "[a, b, c]", |
4865 AstFactory.listLiteral([ | 5033 AstTestFactory.listLiteral([ |
4866 AstFactory.identifier3("a"), | 5034 AstTestFactory.identifier3("a"), |
4867 AstFactory.identifier3("b"), | 5035 AstTestFactory.identifier3("b"), |
4868 AstFactory.identifier3("c") | 5036 AstTestFactory.identifier3("c") |
4869 ])); | 5037 ])); |
4870 } | 5038 } |
4871 | 5039 |
4872 void test_visitMapLiteral_const() { | 5040 void test_visitMapLiteral_const() { |
4873 _assertSource("const {}", AstFactory.mapLiteral(Keyword.CONST, null)); | 5041 _assertSource("const {}", AstTestFactory.mapLiteral(Keyword.CONST, null)); |
4874 } | 5042 } |
4875 | 5043 |
4876 void test_visitMapLiteral_empty() { | 5044 void test_visitMapLiteral_empty() { |
4877 _assertSource("{}", AstFactory.mapLiteral2()); | 5045 _assertSource("{}", AstTestFactory.mapLiteral2()); |
4878 } | 5046 } |
4879 | 5047 |
4880 void test_visitMapLiteral_nonEmpty() { | 5048 void test_visitMapLiteral_nonEmpty() { |
4881 _assertSource( | 5049 _assertSource( |
4882 "{'a' : a, 'b' : b, 'c' : c}", | 5050 "{'a' : a, 'b' : b, 'c' : c}", |
4883 AstFactory.mapLiteral2([ | 5051 AstTestFactory.mapLiteral2([ |
4884 AstFactory.mapLiteralEntry("a", AstFactory.identifier3("a")), | 5052 AstTestFactory.mapLiteralEntry("a", AstTestFactory.identifier3("a")), |
4885 AstFactory.mapLiteralEntry("b", AstFactory.identifier3("b")), | 5053 AstTestFactory.mapLiteralEntry("b", AstTestFactory.identifier3("b")), |
4886 AstFactory.mapLiteralEntry("c", AstFactory.identifier3("c")) | 5054 AstTestFactory.mapLiteralEntry("c", AstTestFactory.identifier3("c")) |
4887 ])); | 5055 ])); |
4888 } | 5056 } |
4889 | 5057 |
4890 void test_visitMapLiteralEntry() { | 5058 void test_visitMapLiteralEntry() { |
4891 _assertSource("'a' : b", | 5059 _assertSource("'a' : b", |
4892 AstFactory.mapLiteralEntry("a", AstFactory.identifier3("b"))); | 5060 AstTestFactory.mapLiteralEntry("a", AstTestFactory.identifier3("b"))); |
4893 } | 5061 } |
4894 | 5062 |
4895 void test_visitMethodDeclaration_external() { | 5063 void test_visitMethodDeclaration_external() { |
4896 _assertSource( | 5064 _assertSource( |
4897 "external m();", | 5065 "external m();", |
4898 AstFactory.methodDeclaration(null, null, null, null, | 5066 AstTestFactory.methodDeclaration( |
4899 AstFactory.identifier3("m"), AstFactory.formalParameterList())); | 5067 null, |
| 5068 null, |
| 5069 null, |
| 5070 null, |
| 5071 AstTestFactory.identifier3("m"), |
| 5072 AstTestFactory.formalParameterList())); |
4900 } | 5073 } |
4901 | 5074 |
4902 void test_visitMethodDeclaration_external_returnType() { | 5075 void test_visitMethodDeclaration_external_returnType() { |
4903 _assertSource( | 5076 _assertSource( |
4904 "external T m();", | 5077 "external T m();", |
4905 AstFactory.methodDeclaration( | 5078 AstTestFactory.methodDeclaration( |
4906 null, | 5079 null, |
4907 AstFactory.typeName4("T"), | 5080 AstTestFactory.typeName4("T"), |
4908 null, | 5081 null, |
4909 null, | 5082 null, |
4910 AstFactory.identifier3("m"), | 5083 AstTestFactory.identifier3("m"), |
4911 AstFactory.formalParameterList())); | 5084 AstTestFactory.formalParameterList())); |
4912 } | 5085 } |
4913 | 5086 |
4914 void test_visitMethodDeclaration_getter() { | 5087 void test_visitMethodDeclaration_getter() { |
4915 _assertSource( | 5088 _assertSource( |
4916 "get m {}", | 5089 "get m {}", |
4917 AstFactory.methodDeclaration2( | 5090 AstTestFactory.methodDeclaration2( |
4918 null, | 5091 null, |
4919 null, | 5092 null, |
4920 Keyword.GET, | 5093 Keyword.GET, |
4921 null, | 5094 null, |
4922 AstFactory.identifier3("m"), | 5095 AstTestFactory.identifier3("m"), |
4923 null, | 5096 null, |
4924 AstFactory.blockFunctionBody2())); | 5097 AstTestFactory.blockFunctionBody2())); |
4925 } | 5098 } |
4926 | 5099 |
4927 void test_visitMethodDeclaration_getter_returnType() { | 5100 void test_visitMethodDeclaration_getter_returnType() { |
4928 _assertSource( | 5101 _assertSource( |
4929 "T get m {}", | 5102 "T get m {}", |
4930 AstFactory.methodDeclaration2( | 5103 AstTestFactory.methodDeclaration2( |
4931 null, | 5104 null, |
4932 AstFactory.typeName4("T"), | 5105 AstTestFactory.typeName4("T"), |
4933 Keyword.GET, | 5106 Keyword.GET, |
4934 null, | 5107 null, |
4935 AstFactory.identifier3("m"), | 5108 AstTestFactory.identifier3("m"), |
4936 null, | 5109 null, |
4937 AstFactory.blockFunctionBody2())); | 5110 AstTestFactory.blockFunctionBody2())); |
4938 } | 5111 } |
4939 | 5112 |
4940 void test_visitMethodDeclaration_getter_seturnType() { | 5113 void test_visitMethodDeclaration_getter_seturnType() { |
4941 _assertSource( | 5114 _assertSource( |
4942 "T set m(var v) {}", | 5115 "T set m(var v) {}", |
4943 AstFactory.methodDeclaration2( | 5116 AstTestFactory.methodDeclaration2( |
4944 null, | 5117 null, |
4945 AstFactory.typeName4("T"), | 5118 AstTestFactory.typeName4("T"), |
4946 Keyword.SET, | 5119 Keyword.SET, |
4947 null, | 5120 null, |
4948 AstFactory.identifier3("m"), | 5121 AstTestFactory.identifier3("m"), |
4949 AstFactory.formalParameterList( | 5122 AstTestFactory.formalParameterList( |
4950 [AstFactory.simpleFormalParameter(Keyword.VAR, "v")]), | 5123 [AstTestFactory.simpleFormalParameter(Keyword.VAR, "v")]), |
4951 AstFactory.blockFunctionBody2())); | 5124 AstTestFactory.blockFunctionBody2())); |
4952 } | 5125 } |
4953 | 5126 |
4954 void test_visitMethodDeclaration_minimal() { | 5127 void test_visitMethodDeclaration_minimal() { |
4955 _assertSource( | 5128 _assertSource( |
4956 "m() {}", | 5129 "m() {}", |
4957 AstFactory.methodDeclaration2( | 5130 AstTestFactory.methodDeclaration2( |
4958 null, | 5131 null, |
4959 null, | 5132 null, |
4960 null, | 5133 null, |
4961 null, | 5134 null, |
4962 AstFactory.identifier3("m"), | 5135 AstTestFactory.identifier3("m"), |
4963 AstFactory.formalParameterList(), | 5136 AstTestFactory.formalParameterList(), |
4964 AstFactory.blockFunctionBody2())); | 5137 AstTestFactory.blockFunctionBody2())); |
4965 } | 5138 } |
4966 | 5139 |
4967 void test_visitMethodDeclaration_multipleParameters() { | 5140 void test_visitMethodDeclaration_multipleParameters() { |
4968 _assertSource( | 5141 _assertSource( |
4969 "m(var a, var b) {}", | 5142 "m(var a, var b) {}", |
4970 AstFactory.methodDeclaration2( | 5143 AstTestFactory.methodDeclaration2( |
4971 null, | 5144 null, |
4972 null, | 5145 null, |
4973 null, | 5146 null, |
4974 null, | 5147 null, |
4975 AstFactory.identifier3("m"), | 5148 AstTestFactory.identifier3("m"), |
4976 AstFactory.formalParameterList([ | 5149 AstTestFactory.formalParameterList([ |
4977 AstFactory.simpleFormalParameter(Keyword.VAR, "a"), | 5150 AstTestFactory.simpleFormalParameter(Keyword.VAR, "a"), |
4978 AstFactory.simpleFormalParameter(Keyword.VAR, "b") | 5151 AstTestFactory.simpleFormalParameter(Keyword.VAR, "b") |
4979 ]), | 5152 ]), |
4980 AstFactory.blockFunctionBody2())); | 5153 AstTestFactory.blockFunctionBody2())); |
4981 } | 5154 } |
4982 | 5155 |
4983 void test_visitMethodDeclaration_operator() { | 5156 void test_visitMethodDeclaration_operator() { |
4984 _assertSource( | 5157 _assertSource( |
4985 "operator +() {}", | 5158 "operator +() {}", |
4986 AstFactory.methodDeclaration2( | 5159 AstTestFactory.methodDeclaration2( |
4987 null, | 5160 null, |
4988 null, | 5161 null, |
4989 null, | 5162 null, |
4990 Keyword.OPERATOR, | 5163 Keyword.OPERATOR, |
4991 AstFactory.identifier3("+"), | 5164 AstTestFactory.identifier3("+"), |
4992 AstFactory.formalParameterList(), | 5165 AstTestFactory.formalParameterList(), |
4993 AstFactory.blockFunctionBody2())); | 5166 AstTestFactory.blockFunctionBody2())); |
4994 } | 5167 } |
4995 | 5168 |
4996 void test_visitMethodDeclaration_operator_returnType() { | 5169 void test_visitMethodDeclaration_operator_returnType() { |
4997 _assertSource( | 5170 _assertSource( |
4998 "T operator +() {}", | 5171 "T operator +() {}", |
4999 AstFactory.methodDeclaration2( | 5172 AstTestFactory.methodDeclaration2( |
5000 null, | 5173 null, |
5001 AstFactory.typeName4("T"), | 5174 AstTestFactory.typeName4("T"), |
5002 null, | 5175 null, |
5003 Keyword.OPERATOR, | 5176 Keyword.OPERATOR, |
5004 AstFactory.identifier3("+"), | 5177 AstTestFactory.identifier3("+"), |
5005 AstFactory.formalParameterList(), | 5178 AstTestFactory.formalParameterList(), |
5006 AstFactory.blockFunctionBody2())); | 5179 AstTestFactory.blockFunctionBody2())); |
5007 } | 5180 } |
5008 | 5181 |
5009 void test_visitMethodDeclaration_returnType() { | 5182 void test_visitMethodDeclaration_returnType() { |
5010 _assertSource( | 5183 _assertSource( |
5011 "T m() {}", | 5184 "T m() {}", |
5012 AstFactory.methodDeclaration2( | 5185 AstTestFactory.methodDeclaration2( |
5013 null, | 5186 null, |
5014 AstFactory.typeName4("T"), | 5187 AstTestFactory.typeName4("T"), |
5015 null, | 5188 null, |
5016 null, | 5189 null, |
5017 AstFactory.identifier3("m"), | 5190 AstTestFactory.identifier3("m"), |
5018 AstFactory.formalParameterList(), | 5191 AstTestFactory.formalParameterList(), |
5019 AstFactory.blockFunctionBody2())); | 5192 AstTestFactory.blockFunctionBody2())); |
5020 } | 5193 } |
5021 | 5194 |
5022 void test_visitMethodDeclaration_setter() { | 5195 void test_visitMethodDeclaration_setter() { |
5023 _assertSource( | 5196 _assertSource( |
5024 "set m(var v) {}", | 5197 "set m(var v) {}", |
5025 AstFactory.methodDeclaration2( | 5198 AstTestFactory.methodDeclaration2( |
5026 null, | 5199 null, |
5027 null, | 5200 null, |
5028 Keyword.SET, | 5201 Keyword.SET, |
5029 null, | 5202 null, |
5030 AstFactory.identifier3("m"), | 5203 AstTestFactory.identifier3("m"), |
5031 AstFactory.formalParameterList( | 5204 AstTestFactory.formalParameterList( |
5032 [AstFactory.simpleFormalParameter(Keyword.VAR, "v")]), | 5205 [AstTestFactory.simpleFormalParameter(Keyword.VAR, "v")]), |
5033 AstFactory.blockFunctionBody2())); | 5206 AstTestFactory.blockFunctionBody2())); |
5034 } | 5207 } |
5035 | 5208 |
5036 void test_visitMethodDeclaration_static() { | 5209 void test_visitMethodDeclaration_static() { |
5037 _assertSource( | 5210 _assertSource( |
5038 "static m() {}", | 5211 "static m() {}", |
5039 AstFactory.methodDeclaration2( | 5212 AstTestFactory.methodDeclaration2( |
5040 Keyword.STATIC, | 5213 Keyword.STATIC, |
5041 null, | 5214 null, |
5042 null, | 5215 null, |
5043 null, | 5216 null, |
5044 AstFactory.identifier3("m"), | 5217 AstTestFactory.identifier3("m"), |
5045 AstFactory.formalParameterList(), | 5218 AstTestFactory.formalParameterList(), |
5046 AstFactory.blockFunctionBody2())); | 5219 AstTestFactory.blockFunctionBody2())); |
5047 } | 5220 } |
5048 | 5221 |
5049 void test_visitMethodDeclaration_static_returnType() { | 5222 void test_visitMethodDeclaration_static_returnType() { |
5050 _assertSource( | 5223 _assertSource( |
5051 "static T m() {}", | 5224 "static T m() {}", |
5052 AstFactory.methodDeclaration2( | 5225 AstTestFactory.methodDeclaration2( |
5053 Keyword.STATIC, | 5226 Keyword.STATIC, |
5054 AstFactory.typeName4("T"), | 5227 AstTestFactory.typeName4("T"), |
5055 null, | 5228 null, |
5056 null, | 5229 null, |
5057 AstFactory.identifier3("m"), | 5230 AstTestFactory.identifier3("m"), |
5058 AstFactory.formalParameterList(), | 5231 AstTestFactory.formalParameterList(), |
5059 AstFactory.blockFunctionBody2())); | 5232 AstTestFactory.blockFunctionBody2())); |
5060 } | 5233 } |
5061 | 5234 |
5062 void test_visitMethodDeclaration_typeParameters() { | 5235 void test_visitMethodDeclaration_typeParameters() { |
5063 _assertSource( | 5236 _assertSource( |
5064 "m<E>() {}", | 5237 "m<E>() {}", |
5065 AstFactory.methodDeclaration3( | 5238 AstTestFactory.methodDeclaration3( |
5066 null, | 5239 null, |
5067 null, | 5240 null, |
5068 null, | 5241 null, |
5069 null, | 5242 null, |
5070 AstFactory.identifier3("m"), | 5243 AstTestFactory.identifier3("m"), |
5071 AstFactory.typeParameterList(['E']), | 5244 AstTestFactory.typeParameterList(['E']), |
5072 AstFactory.formalParameterList(), | 5245 AstTestFactory.formalParameterList(), |
5073 AstFactory.blockFunctionBody2())); | 5246 AstTestFactory.blockFunctionBody2())); |
5074 } | 5247 } |
5075 | 5248 |
5076 void test_visitMethodDeclaration_withMetadata() { | 5249 void test_visitMethodDeclaration_withMetadata() { |
5077 MethodDeclaration declaration = AstFactory.methodDeclaration2( | 5250 MethodDeclaration declaration = AstTestFactory.methodDeclaration2( |
5078 null, | 5251 null, |
5079 null, | 5252 null, |
5080 null, | 5253 null, |
5081 null, | 5254 null, |
5082 AstFactory.identifier3("m"), | 5255 AstTestFactory.identifier3("m"), |
5083 AstFactory.formalParameterList(), | 5256 AstTestFactory.formalParameterList(), |
5084 AstFactory.blockFunctionBody2()); | 5257 AstTestFactory.blockFunctionBody2()); |
5085 declaration.metadata | 5258 declaration.metadata.add( |
5086 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 5259 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
5087 _assertSource("@deprecated m() {}", declaration); | 5260 _assertSource("@deprecated m() {}", declaration); |
5088 } | 5261 } |
5089 | 5262 |
5090 void test_visitMethodInvocation_conditional() { | 5263 void test_visitMethodInvocation_conditional() { |
5091 _assertSource( | 5264 _assertSource( |
5092 "t?.m()", | 5265 "t?.m()", |
5093 AstFactory.methodInvocation( | 5266 AstTestFactory.methodInvocation(AstTestFactory.identifier3("t"), "m", |
5094 AstFactory.identifier3("t"), "m", null, TokenType.QUESTION_PERIOD)); | 5267 null, TokenType.QUESTION_PERIOD)); |
5095 } | 5268 } |
5096 | 5269 |
5097 void test_visitMethodInvocation_noTarget() { | 5270 void test_visitMethodInvocation_noTarget() { |
5098 _assertSource("m()", AstFactory.methodInvocation2("m")); | 5271 _assertSource("m()", AstTestFactory.methodInvocation2("m")); |
5099 } | 5272 } |
5100 | 5273 |
5101 void test_visitMethodInvocation_target() { | 5274 void test_visitMethodInvocation_target() { |
5102 _assertSource( | 5275 _assertSource("t.m()", |
5103 "t.m()", AstFactory.methodInvocation(AstFactory.identifier3("t"), "m")); | 5276 AstTestFactory.methodInvocation(AstTestFactory.identifier3("t"), "m")); |
5104 } | 5277 } |
5105 | 5278 |
5106 void test_visitMethodInvocation_typeArguments() { | 5279 void test_visitMethodInvocation_typeArguments() { |
5107 _assertSource( | 5280 _assertSource( |
5108 "m<A>()", | 5281 "m<A>()", |
5109 AstFactory.methodInvocation3(null, "m", | 5282 AstTestFactory.methodInvocation3(null, "m", |
5110 AstFactory.typeArgumentList([AstFactory.typeName4('A')]))); | 5283 AstTestFactory.typeArgumentList([AstTestFactory.typeName4('A')]))); |
5111 } | 5284 } |
5112 | 5285 |
5113 void test_visitNamedExpression() { | 5286 void test_visitNamedExpression() { |
5114 _assertSource( | 5287 _assertSource("a: b", |
5115 "a: b", AstFactory.namedExpression2("a", AstFactory.identifier3("b"))); | 5288 AstTestFactory.namedExpression2("a", AstTestFactory.identifier3("b"))); |
5116 } | 5289 } |
5117 | 5290 |
5118 void test_visitNamedFormalParameter() { | 5291 void test_visitNamedFormalParameter() { |
5119 _assertSource( | 5292 _assertSource( |
5120 "var a : 0", | 5293 "var a : 0", |
5121 AstFactory.namedFormalParameter( | 5294 AstTestFactory.namedFormalParameter( |
5122 AstFactory.simpleFormalParameter(Keyword.VAR, "a"), | 5295 AstTestFactory.simpleFormalParameter(Keyword.VAR, "a"), |
5123 AstFactory.integer(0))); | 5296 AstTestFactory.integer(0))); |
5124 } | 5297 } |
5125 | 5298 |
5126 void test_visitNativeClause() { | 5299 void test_visitNativeClause() { |
5127 _assertSource("native 'code'", AstFactory.nativeClause("code")); | 5300 _assertSource("native 'code'", AstTestFactory.nativeClause("code")); |
5128 } | 5301 } |
5129 | 5302 |
5130 void test_visitNativeFunctionBody() { | 5303 void test_visitNativeFunctionBody() { |
5131 _assertSource("native 'str';", AstFactory.nativeFunctionBody("str")); | 5304 _assertSource("native 'str';", AstTestFactory.nativeFunctionBody("str")); |
5132 } | 5305 } |
5133 | 5306 |
5134 void test_visitNullLiteral() { | 5307 void test_visitNullLiteral() { |
5135 _assertSource("null", AstFactory.nullLiteral()); | 5308 _assertSource("null", AstTestFactory.nullLiteral()); |
5136 } | 5309 } |
5137 | 5310 |
5138 void test_visitParenthesizedExpression() { | 5311 void test_visitParenthesizedExpression() { |
5139 _assertSource( | 5312 _assertSource( |
5140 "(a)", AstFactory.parenthesizedExpression(AstFactory.identifier3("a"))); | 5313 "(a)", |
| 5314 AstTestFactory |
| 5315 .parenthesizedExpression(AstTestFactory.identifier3("a"))); |
5141 } | 5316 } |
5142 | 5317 |
5143 void test_visitPartDirective() { | 5318 void test_visitPartDirective() { |
5144 _assertSource("part 'a.dart';", AstFactory.partDirective2("a.dart")); | 5319 _assertSource("part 'a.dart';", AstTestFactory.partDirective2("a.dart")); |
5145 } | 5320 } |
5146 | 5321 |
5147 void test_visitPartDirective_withMetadata() { | 5322 void test_visitPartDirective_withMetadata() { |
5148 PartDirective directive = AstFactory.partDirective2("a.dart"); | 5323 PartDirective directive = AstTestFactory.partDirective2("a.dart"); |
5149 directive.metadata | 5324 directive.metadata.add( |
5150 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 5325 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
5151 _assertSource("@deprecated part 'a.dart';", directive); | 5326 _assertSource("@deprecated part 'a.dart';", directive); |
5152 } | 5327 } |
5153 | 5328 |
5154 void test_visitPartOfDirective() { | 5329 void test_visitPartOfDirective() { |
5155 _assertSource("part of l;", | 5330 _assertSource( |
5156 AstFactory.partOfDirective(AstFactory.libraryIdentifier2(["l"]))); | 5331 "part of l;", |
| 5332 AstTestFactory |
| 5333 .partOfDirective(AstTestFactory.libraryIdentifier2(["l"]))); |
5157 } | 5334 } |
5158 | 5335 |
5159 void test_visitPartOfDirective_withMetadata() { | 5336 void test_visitPartOfDirective_withMetadata() { |
5160 PartOfDirective directive = | 5337 PartOfDirective directive = AstTestFactory |
5161 AstFactory.partOfDirective(AstFactory.libraryIdentifier2(["l"])); | 5338 .partOfDirective(AstTestFactory.libraryIdentifier2(["l"])); |
5162 directive.metadata | 5339 directive.metadata.add( |
5163 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 5340 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
5164 _assertSource("@deprecated part of l;", directive); | 5341 _assertSource("@deprecated part of l;", directive); |
5165 } | 5342 } |
5166 | 5343 |
5167 void test_visitPositionalFormalParameter() { | 5344 void test_visitPositionalFormalParameter() { |
5168 _assertSource( | 5345 _assertSource( |
5169 "var a = 0", | 5346 "var a = 0", |
5170 AstFactory.positionalFormalParameter( | 5347 AstTestFactory.positionalFormalParameter( |
5171 AstFactory.simpleFormalParameter(Keyword.VAR, "a"), | 5348 AstTestFactory.simpleFormalParameter(Keyword.VAR, "a"), |
5172 AstFactory.integer(0))); | 5349 AstTestFactory.integer(0))); |
5173 } | 5350 } |
5174 | 5351 |
5175 void test_visitPostfixExpression() { | 5352 void test_visitPostfixExpression() { |
5176 _assertSource( | 5353 _assertSource( |
5177 "a++", | 5354 "a++", |
5178 AstFactory.postfixExpression( | 5355 AstTestFactory.postfixExpression( |
5179 AstFactory.identifier3("a"), TokenType.PLUS_PLUS)); | 5356 AstTestFactory.identifier3("a"), TokenType.PLUS_PLUS)); |
5180 } | 5357 } |
5181 | 5358 |
5182 void test_visitPrefixedIdentifier() { | 5359 void test_visitPrefixedIdentifier() { |
5183 _assertSource("a.b", AstFactory.identifier5("a", "b")); | 5360 _assertSource("a.b", AstTestFactory.identifier5("a", "b")); |
5184 } | 5361 } |
5185 | 5362 |
5186 void test_visitPrefixExpression() { | 5363 void test_visitPrefixExpression() { |
5187 _assertSource( | 5364 _assertSource( |
5188 "-a", | 5365 "-a", |
5189 AstFactory.prefixExpression( | 5366 AstTestFactory.prefixExpression( |
5190 TokenType.MINUS, AstFactory.identifier3("a"))); | 5367 TokenType.MINUS, AstTestFactory.identifier3("a"))); |
5191 } | 5368 } |
5192 | 5369 |
5193 void test_visitPropertyAccess() { | 5370 void test_visitPropertyAccess() { |
5194 _assertSource( | 5371 _assertSource("a.b", |
5195 "a.b", AstFactory.propertyAccess2(AstFactory.identifier3("a"), "b")); | 5372 AstTestFactory.propertyAccess2(AstTestFactory.identifier3("a"), "b")); |
5196 } | 5373 } |
5197 | 5374 |
5198 void test_visitPropertyAccess_conditional() { | 5375 void test_visitPropertyAccess_conditional() { |
5199 _assertSource( | 5376 _assertSource( |
5200 "a?.b", | 5377 "a?.b", |
5201 AstFactory.propertyAccess2( | 5378 AstTestFactory.propertyAccess2( |
5202 AstFactory.identifier3("a"), "b", TokenType.QUESTION_PERIOD)); | 5379 AstTestFactory.identifier3("a"), "b", TokenType.QUESTION_PERIOD)); |
5203 } | 5380 } |
5204 | 5381 |
5205 void test_visitRedirectingConstructorInvocation_named() { | 5382 void test_visitRedirectingConstructorInvocation_named() { |
5206 _assertSource( | 5383 _assertSource( |
5207 "this.c()", AstFactory.redirectingConstructorInvocation2("c")); | 5384 "this.c()", AstTestFactory.redirectingConstructorInvocation2("c")); |
5208 } | 5385 } |
5209 | 5386 |
5210 void test_visitRedirectingConstructorInvocation_unnamed() { | 5387 void test_visitRedirectingConstructorInvocation_unnamed() { |
5211 _assertSource("this()", AstFactory.redirectingConstructorInvocation()); | 5388 _assertSource("this()", AstTestFactory.redirectingConstructorInvocation()); |
5212 } | 5389 } |
5213 | 5390 |
5214 void test_visitRethrowExpression() { | 5391 void test_visitRethrowExpression() { |
5215 _assertSource("rethrow", AstFactory.rethrowExpression()); | 5392 _assertSource("rethrow", AstTestFactory.rethrowExpression()); |
5216 } | 5393 } |
5217 | 5394 |
5218 void test_visitReturnStatement_expression() { | 5395 void test_visitReturnStatement_expression() { |
5219 _assertSource( | 5396 _assertSource("return a;", |
5220 "return a;", AstFactory.returnStatement2(AstFactory.identifier3("a"))); | 5397 AstTestFactory.returnStatement2(AstTestFactory.identifier3("a"))); |
5221 } | 5398 } |
5222 | 5399 |
5223 void test_visitReturnStatement_noExpression() { | 5400 void test_visitReturnStatement_noExpression() { |
5224 _assertSource("return;", AstFactory.returnStatement()); | 5401 _assertSource("return;", AstTestFactory.returnStatement()); |
5225 } | 5402 } |
5226 | 5403 |
5227 void test_visitScriptTag() { | 5404 void test_visitScriptTag() { |
5228 String scriptTag = "!#/bin/dart.exe"; | 5405 String scriptTag = "!#/bin/dart.exe"; |
5229 _assertSource(scriptTag, AstFactory.scriptTag(scriptTag)); | 5406 _assertSource(scriptTag, AstTestFactory.scriptTag(scriptTag)); |
5230 } | 5407 } |
5231 | 5408 |
5232 void test_visitSimpleFormalParameter_annotation() { | 5409 void test_visitSimpleFormalParameter_annotation() { |
5233 SimpleFormalParameter parameter = AstFactory.simpleFormalParameter3('x'); | 5410 SimpleFormalParameter parameter = |
5234 parameter.metadata.add(AstFactory.annotation(AstFactory.identifier3("A"))); | 5411 AstTestFactory.simpleFormalParameter3('x'); |
| 5412 parameter.metadata |
| 5413 .add(AstTestFactory.annotation(AstTestFactory.identifier3("A"))); |
5235 _assertSource('@A x', parameter); | 5414 _assertSource('@A x', parameter); |
5236 } | 5415 } |
5237 | 5416 |
5238 void test_visitSimpleFormalParameter_keyword() { | 5417 void test_visitSimpleFormalParameter_keyword() { |
5239 _assertSource("var a", AstFactory.simpleFormalParameter(Keyword.VAR, "a")); | 5418 _assertSource( |
| 5419 "var a", AstTestFactory.simpleFormalParameter(Keyword.VAR, "a")); |
5240 } | 5420 } |
5241 | 5421 |
5242 void test_visitSimpleFormalParameter_keyword_type() { | 5422 void test_visitSimpleFormalParameter_keyword_type() { |
5243 _assertSource( | 5423 _assertSource( |
5244 "final A a", | 5424 "final A a", |
5245 AstFactory.simpleFormalParameter2( | 5425 AstTestFactory.simpleFormalParameter2( |
5246 Keyword.FINAL, AstFactory.typeName4("A"), "a")); | 5426 Keyword.FINAL, AstTestFactory.typeName4("A"), "a")); |
5247 } | 5427 } |
5248 | 5428 |
5249 void test_visitSimpleFormalParameter_type() { | 5429 void test_visitSimpleFormalParameter_type() { |
5250 _assertSource("A a", | 5430 _assertSource( |
5251 AstFactory.simpleFormalParameter4(AstFactory.typeName4("A"), "a")); | 5431 "A a", |
| 5432 AstTestFactory.simpleFormalParameter4( |
| 5433 AstTestFactory.typeName4("A"), "a")); |
5252 } | 5434 } |
5253 | 5435 |
5254 void test_visitSimpleIdentifier() { | 5436 void test_visitSimpleIdentifier() { |
5255 _assertSource("a", AstFactory.identifier3("a")); | 5437 _assertSource("a", AstTestFactory.identifier3("a")); |
5256 } | 5438 } |
5257 | 5439 |
5258 void test_visitSimpleStringLiteral() { | 5440 void test_visitSimpleStringLiteral() { |
5259 _assertSource("'a'", AstFactory.string2("a")); | 5441 _assertSource("'a'", AstTestFactory.string2("a")); |
5260 } | 5442 } |
5261 | 5443 |
5262 void test_visitStringInterpolation() { | 5444 void test_visitStringInterpolation() { |
5263 _assertSource( | 5445 _assertSource( |
5264 "'a\${e}b'", | 5446 "'a\${e}b'", |
5265 AstFactory.string([ | 5447 AstTestFactory.string([ |
5266 AstFactory.interpolationString("'a", "a"), | 5448 AstTestFactory.interpolationString("'a", "a"), |
5267 AstFactory.interpolationExpression(AstFactory.identifier3("e")), | 5449 AstTestFactory |
5268 AstFactory.interpolationString("b'", "b") | 5450 .interpolationExpression(AstTestFactory.identifier3("e")), |
| 5451 AstTestFactory.interpolationString("b'", "b") |
5269 ])); | 5452 ])); |
5270 } | 5453 } |
5271 | 5454 |
5272 void test_visitSuperConstructorInvocation() { | 5455 void test_visitSuperConstructorInvocation() { |
5273 _assertSource("super()", AstFactory.superConstructorInvocation()); | 5456 _assertSource("super()", AstTestFactory.superConstructorInvocation()); |
5274 } | 5457 } |
5275 | 5458 |
5276 void test_visitSuperConstructorInvocation_named() { | 5459 void test_visitSuperConstructorInvocation_named() { |
5277 _assertSource("super.c()", AstFactory.superConstructorInvocation2("c")); | 5460 _assertSource("super.c()", AstTestFactory.superConstructorInvocation2("c")); |
5278 } | 5461 } |
5279 | 5462 |
5280 void test_visitSuperExpression() { | 5463 void test_visitSuperExpression() { |
5281 _assertSource("super", AstFactory.superExpression()); | 5464 _assertSource("super", AstTestFactory.superExpression()); |
5282 } | 5465 } |
5283 | 5466 |
5284 void test_visitSwitchCase_multipleLabels() { | 5467 void test_visitSwitchCase_multipleLabels() { |
5285 _assertSource( | 5468 _assertSource( |
5286 "l1: l2: case a: {}", | 5469 "l1: l2: case a: {}", |
5287 AstFactory.switchCase2( | 5470 AstTestFactory.switchCase2( |
5288 [AstFactory.label2("l1"), AstFactory.label2("l2")], | 5471 [AstTestFactory.label2("l1"), AstTestFactory.label2("l2")], |
5289 AstFactory.identifier3("a"), | 5472 AstTestFactory.identifier3("a"), |
5290 [AstFactory.block()])); | 5473 [AstTestFactory.block()])); |
5291 } | 5474 } |
5292 | 5475 |
5293 void test_visitSwitchCase_multipleStatements() { | 5476 void test_visitSwitchCase_multipleStatements() { |
5294 _assertSource( | 5477 _assertSource( |
5295 "case a: {} {}", | 5478 "case a: {} {}", |
5296 AstFactory.switchCase(AstFactory.identifier3("a"), | 5479 AstTestFactory.switchCase(AstTestFactory.identifier3("a"), |
5297 [AstFactory.block(), AstFactory.block()])); | 5480 [AstTestFactory.block(), AstTestFactory.block()])); |
5298 } | 5481 } |
5299 | 5482 |
5300 void test_visitSwitchCase_noLabels() { | 5483 void test_visitSwitchCase_noLabels() { |
5301 _assertSource( | 5484 _assertSource( |
5302 "case a: {}", | 5485 "case a: {}", |
5303 AstFactory | 5486 AstTestFactory.switchCase( |
5304 .switchCase(AstFactory.identifier3("a"), [AstFactory.block()])); | 5487 AstTestFactory.identifier3("a"), [AstTestFactory.block()])); |
5305 } | 5488 } |
5306 | 5489 |
5307 void test_visitSwitchCase_singleLabel() { | 5490 void test_visitSwitchCase_singleLabel() { |
5308 _assertSource( | 5491 _assertSource( |
5309 "l1: case a: {}", | 5492 "l1: case a: {}", |
5310 AstFactory.switchCase2([AstFactory.label2("l1")], | 5493 AstTestFactory.switchCase2([AstTestFactory.label2("l1")], |
5311 AstFactory.identifier3("a"), [AstFactory.block()])); | 5494 AstTestFactory.identifier3("a"), [AstTestFactory.block()])); |
5312 } | 5495 } |
5313 | 5496 |
5314 void test_visitSwitchDefault_multipleLabels() { | 5497 void test_visitSwitchDefault_multipleLabels() { |
5315 _assertSource( | 5498 _assertSource( |
5316 "l1: l2: default: {}", | 5499 "l1: l2: default: {}", |
5317 AstFactory.switchDefault( | 5500 AstTestFactory.switchDefault( |
5318 [AstFactory.label2("l1"), AstFactory.label2("l2")], | 5501 [AstTestFactory.label2("l1"), AstTestFactory.label2("l2")], |
5319 [AstFactory.block()])); | 5502 [AstTestFactory.block()])); |
5320 } | 5503 } |
5321 | 5504 |
5322 void test_visitSwitchDefault_multipleStatements() { | 5505 void test_visitSwitchDefault_multipleStatements() { |
5323 _assertSource("default: {} {}", | 5506 _assertSource( |
5324 AstFactory.switchDefault2([AstFactory.block(), AstFactory.block()])); | 5507 "default: {} {}", |
| 5508 AstTestFactory |
| 5509 .switchDefault2([AstTestFactory.block(), AstTestFactory.block()])); |
5325 } | 5510 } |
5326 | 5511 |
5327 void test_visitSwitchDefault_noLabels() { | 5512 void test_visitSwitchDefault_noLabels() { |
5328 _assertSource( | 5513 _assertSource( |
5329 "default: {}", AstFactory.switchDefault2([AstFactory.block()])); | 5514 "default: {}", AstTestFactory.switchDefault2([AstTestFactory.block()])); |
5330 } | 5515 } |
5331 | 5516 |
5332 void test_visitSwitchDefault_singleLabel() { | 5517 void test_visitSwitchDefault_singleLabel() { |
5333 _assertSource( | 5518 _assertSource( |
5334 "l1: default: {}", | 5519 "l1: default: {}", |
5335 AstFactory | 5520 AstTestFactory.switchDefault( |
5336 .switchDefault([AstFactory.label2("l1")], [AstFactory.block()])); | 5521 [AstTestFactory.label2("l1")], [AstTestFactory.block()])); |
5337 } | 5522 } |
5338 | 5523 |
5339 void test_visitSwitchStatement() { | 5524 void test_visitSwitchStatement() { |
5340 _assertSource( | 5525 _assertSource( |
5341 "switch (a) {case 'b': {} default: {}}", | 5526 "switch (a) {case 'b': {} default: {}}", |
5342 AstFactory.switchStatement(AstFactory.identifier3("a"), [ | 5527 AstTestFactory.switchStatement(AstTestFactory.identifier3("a"), [ |
5343 AstFactory.switchCase(AstFactory.string2("b"), [AstFactory.block()]), | 5528 AstTestFactory.switchCase( |
5344 AstFactory.switchDefault2([AstFactory.block()]) | 5529 AstTestFactory.string2("b"), [AstTestFactory.block()]), |
| 5530 AstTestFactory.switchDefault2([AstTestFactory.block()]) |
5345 ])); | 5531 ])); |
5346 } | 5532 } |
5347 | 5533 |
5348 void test_visitSymbolLiteral_multiple() { | 5534 void test_visitSymbolLiteral_multiple() { |
5349 _assertSource("#a.b.c", AstFactory.symbolLiteral(["a", "b", "c"])); | 5535 _assertSource("#a.b.c", AstTestFactory.symbolLiteral(["a", "b", "c"])); |
5350 } | 5536 } |
5351 | 5537 |
5352 void test_visitSymbolLiteral_single() { | 5538 void test_visitSymbolLiteral_single() { |
5353 _assertSource("#a", AstFactory.symbolLiteral(["a"])); | 5539 _assertSource("#a", AstTestFactory.symbolLiteral(["a"])); |
5354 } | 5540 } |
5355 | 5541 |
5356 void test_visitThisExpression() { | 5542 void test_visitThisExpression() { |
5357 _assertSource("this", AstFactory.thisExpression()); | 5543 _assertSource("this", AstTestFactory.thisExpression()); |
5358 } | 5544 } |
5359 | 5545 |
5360 void test_visitThrowStatement() { | 5546 void test_visitThrowStatement() { |
5361 _assertSource( | 5547 _assertSource("throw e", |
5362 "throw e", AstFactory.throwExpression2(AstFactory.identifier3("e"))); | 5548 AstTestFactory.throwExpression2(AstTestFactory.identifier3("e"))); |
5363 } | 5549 } |
5364 | 5550 |
5365 void test_visitTopLevelVariableDeclaration_multiple() { | 5551 void test_visitTopLevelVariableDeclaration_multiple() { |
5366 _assertSource( | 5552 _assertSource( |
5367 "var a;", | 5553 "var a;", |
5368 AstFactory.topLevelVariableDeclaration2( | 5554 AstTestFactory.topLevelVariableDeclaration2( |
5369 Keyword.VAR, [AstFactory.variableDeclaration("a")])); | 5555 Keyword.VAR, [AstTestFactory.variableDeclaration("a")])); |
5370 } | 5556 } |
5371 | 5557 |
5372 void test_visitTopLevelVariableDeclaration_single() { | 5558 void test_visitTopLevelVariableDeclaration_single() { |
5373 _assertSource( | 5559 _assertSource( |
5374 "var a, b;", | 5560 "var a, b;", |
5375 AstFactory.topLevelVariableDeclaration2(Keyword.VAR, [ | 5561 AstTestFactory.topLevelVariableDeclaration2(Keyword.VAR, [ |
5376 AstFactory.variableDeclaration("a"), | 5562 AstTestFactory.variableDeclaration("a"), |
5377 AstFactory.variableDeclaration("b") | 5563 AstTestFactory.variableDeclaration("b") |
5378 ])); | 5564 ])); |
5379 } | 5565 } |
5380 | 5566 |
5381 void test_visitTryStatement_catch() { | 5567 void test_visitTryStatement_catch() { |
5382 _assertSource( | 5568 _assertSource( |
5383 "try {} on E {}", | 5569 "try {} on E {}", |
5384 AstFactory.tryStatement2(AstFactory.block(), | 5570 AstTestFactory.tryStatement2(AstTestFactory.block(), |
5385 [AstFactory.catchClause3(AstFactory.typeName4("E"))])); | 5571 [AstTestFactory.catchClause3(AstTestFactory.typeName4("E"))])); |
5386 } | 5572 } |
5387 | 5573 |
5388 void test_visitTryStatement_catches() { | 5574 void test_visitTryStatement_catches() { |
5389 _assertSource( | 5575 _assertSource( |
5390 "try {} on E {} on F {}", | 5576 "try {} on E {} on F {}", |
5391 AstFactory.tryStatement2(AstFactory.block(), [ | 5577 AstTestFactory.tryStatement2(AstTestFactory.block(), [ |
5392 AstFactory.catchClause3(AstFactory.typeName4("E")), | 5578 AstTestFactory.catchClause3(AstTestFactory.typeName4("E")), |
5393 AstFactory.catchClause3(AstFactory.typeName4("F")) | 5579 AstTestFactory.catchClause3(AstTestFactory.typeName4("F")) |
5394 ])); | 5580 ])); |
5395 } | 5581 } |
5396 | 5582 |
5397 void test_visitTryStatement_catchFinally() { | 5583 void test_visitTryStatement_catchFinally() { |
5398 _assertSource( | 5584 _assertSource( |
5399 "try {} on E {} finally {}", | 5585 "try {} on E {} finally {}", |
5400 AstFactory.tryStatement3( | 5586 AstTestFactory.tryStatement3( |
5401 AstFactory.block(), | 5587 AstTestFactory.block(), |
5402 [AstFactory.catchClause3(AstFactory.typeName4("E"))], | 5588 [AstTestFactory.catchClause3(AstTestFactory.typeName4("E"))], |
5403 AstFactory.block())); | 5589 AstTestFactory.block())); |
5404 } | 5590 } |
5405 | 5591 |
5406 void test_visitTryStatement_finally() { | 5592 void test_visitTryStatement_finally() { |
5407 _assertSource("try {} finally {}", | 5593 _assertSource( |
5408 AstFactory.tryStatement(AstFactory.block(), AstFactory.block())); | 5594 "try {} finally {}", |
| 5595 AstTestFactory.tryStatement( |
| 5596 AstTestFactory.block(), AstTestFactory.block())); |
5409 } | 5597 } |
5410 | 5598 |
5411 void test_visitTypeArgumentList_multiple() { | 5599 void test_visitTypeArgumentList_multiple() { |
5412 _assertSource( | 5600 _assertSource( |
5413 "<E, F>", | 5601 "<E, F>", |
5414 AstFactory.typeArgumentList( | 5602 AstTestFactory.typeArgumentList( |
5415 [AstFactory.typeName4("E"), AstFactory.typeName4("F")])); | 5603 [AstTestFactory.typeName4("E"), AstTestFactory.typeName4("F")])); |
5416 } | 5604 } |
5417 | 5605 |
5418 void test_visitTypeArgumentList_single() { | 5606 void test_visitTypeArgumentList_single() { |
5419 _assertSource( | 5607 _assertSource("<E>", |
5420 "<E>", AstFactory.typeArgumentList([AstFactory.typeName4("E")])); | 5608 AstTestFactory.typeArgumentList([AstTestFactory.typeName4("E")])); |
5421 } | 5609 } |
5422 | 5610 |
5423 void test_visitTypeName_multipleArgs() { | 5611 void test_visitTypeName_multipleArgs() { |
5424 _assertSource( | 5612 _assertSource( |
5425 "C<D, E>", | 5613 "C<D, E>", |
5426 AstFactory.typeName4( | 5614 AstTestFactory.typeName4("C", |
5427 "C", [AstFactory.typeName4("D"), AstFactory.typeName4("E")])); | 5615 [AstTestFactory.typeName4("D"), AstTestFactory.typeName4("E")])); |
5428 } | 5616 } |
5429 | 5617 |
5430 void test_visitTypeName_nestedArg() { | 5618 void test_visitTypeName_nestedArg() { |
5431 _assertSource( | 5619 _assertSource( |
5432 "C<D<E>>", | 5620 "C<D<E>>", |
5433 AstFactory.typeName4("C", [ | 5621 AstTestFactory.typeName4("C", [ |
5434 AstFactory.typeName4("D", [AstFactory.typeName4("E")]) | 5622 AstTestFactory.typeName4("D", [AstTestFactory.typeName4("E")]) |
5435 ])); | 5623 ])); |
5436 } | 5624 } |
5437 | 5625 |
5438 void test_visitTypeName_noArgs() { | 5626 void test_visitTypeName_noArgs() { |
5439 _assertSource("C", AstFactory.typeName4("C")); | 5627 _assertSource("C", AstTestFactory.typeName4("C")); |
5440 } | 5628 } |
5441 | 5629 |
5442 void test_visitTypeName_singleArg() { | 5630 void test_visitTypeName_singleArg() { |
5443 _assertSource( | 5631 _assertSource( |
5444 "C<D>", AstFactory.typeName4("C", [AstFactory.typeName4("D")])); | 5632 "C<D>", AstTestFactory.typeName4("C", [AstTestFactory.typeName4("D")])); |
5445 } | 5633 } |
5446 | 5634 |
5447 void test_visitTypeParameter_withExtends() { | 5635 void test_visitTypeParameter_withExtends() { |
5448 _assertSource("E extends C", | 5636 _assertSource("E extends C", |
5449 AstFactory.typeParameter2("E", AstFactory.typeName4("C"))); | 5637 AstTestFactory.typeParameter2("E", AstTestFactory.typeName4("C"))); |
5450 } | 5638 } |
5451 | 5639 |
5452 void test_visitTypeParameter_withMetadata() { | 5640 void test_visitTypeParameter_withMetadata() { |
5453 TypeParameter parameter = AstFactory.typeParameter("E"); | 5641 TypeParameter parameter = AstTestFactory.typeParameter("E"); |
5454 parameter.metadata | 5642 parameter.metadata.add( |
5455 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 5643 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
5456 _assertSource("@deprecated E", parameter); | 5644 _assertSource("@deprecated E", parameter); |
5457 } | 5645 } |
5458 | 5646 |
5459 void test_visitTypeParameter_withoutExtends() { | 5647 void test_visitTypeParameter_withoutExtends() { |
5460 _assertSource("E", AstFactory.typeParameter("E")); | 5648 _assertSource("E", AstTestFactory.typeParameter("E")); |
5461 } | 5649 } |
5462 | 5650 |
5463 void test_visitTypeParameterList_multiple() { | 5651 void test_visitTypeParameterList_multiple() { |
5464 _assertSource("<E, F>", AstFactory.typeParameterList(["E", "F"])); | 5652 _assertSource("<E, F>", AstTestFactory.typeParameterList(["E", "F"])); |
5465 } | 5653 } |
5466 | 5654 |
5467 void test_visitTypeParameterList_single() { | 5655 void test_visitTypeParameterList_single() { |
5468 _assertSource("<E>", AstFactory.typeParameterList(["E"])); | 5656 _assertSource("<E>", AstTestFactory.typeParameterList(["E"])); |
5469 } | 5657 } |
5470 | 5658 |
5471 void test_visitVariableDeclaration_initialized() { | 5659 void test_visitVariableDeclaration_initialized() { |
5472 _assertSource("a = b", | 5660 _assertSource( |
5473 AstFactory.variableDeclaration2("a", AstFactory.identifier3("b"))); | 5661 "a = b", |
| 5662 AstTestFactory.variableDeclaration2( |
| 5663 "a", AstTestFactory.identifier3("b"))); |
5474 } | 5664 } |
5475 | 5665 |
5476 void test_visitVariableDeclaration_uninitialized() { | 5666 void test_visitVariableDeclaration_uninitialized() { |
5477 _assertSource("a", AstFactory.variableDeclaration("a")); | 5667 _assertSource("a", AstTestFactory.variableDeclaration("a")); |
5478 } | 5668 } |
5479 | 5669 |
5480 void test_visitVariableDeclaration_withMetadata() { | 5670 void test_visitVariableDeclaration_withMetadata() { |
5481 VariableDeclaration declaration = AstFactory.variableDeclaration("a"); | 5671 VariableDeclaration declaration = AstTestFactory.variableDeclaration("a"); |
5482 declaration.metadata | 5672 declaration.metadata.add( |
5483 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 5673 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
5484 _assertSource("@deprecated a", declaration); | 5674 _assertSource("@deprecated a", declaration); |
5485 } | 5675 } |
5486 | 5676 |
5487 void test_visitVariableDeclarationList_const_type() { | 5677 void test_visitVariableDeclarationList_const_type() { |
5488 _assertSource( | 5678 _assertSource( |
5489 "const C a, b", | 5679 "const C a, b", |
5490 AstFactory.variableDeclarationList( | 5680 AstTestFactory.variableDeclarationList( |
5491 Keyword.CONST, AstFactory.typeName4("C"), [ | 5681 Keyword.CONST, AstTestFactory.typeName4("C"), [ |
5492 AstFactory.variableDeclaration("a"), | 5682 AstTestFactory.variableDeclaration("a"), |
5493 AstFactory.variableDeclaration("b") | 5683 AstTestFactory.variableDeclaration("b") |
5494 ])); | 5684 ])); |
5495 } | 5685 } |
5496 | 5686 |
5497 void test_visitVariableDeclarationList_final_noType() { | 5687 void test_visitVariableDeclarationList_final_noType() { |
5498 _assertSource( | 5688 _assertSource( |
5499 "final a, b", | 5689 "final a, b", |
5500 AstFactory.variableDeclarationList2(Keyword.FINAL, [ | 5690 AstTestFactory.variableDeclarationList2(Keyword.FINAL, [ |
5501 AstFactory.variableDeclaration("a"), | 5691 AstTestFactory.variableDeclaration("a"), |
5502 AstFactory.variableDeclaration("b") | 5692 AstTestFactory.variableDeclaration("b") |
5503 ])); | 5693 ])); |
5504 } | 5694 } |
5505 | 5695 |
5506 void test_visitVariableDeclarationList_final_withMetadata() { | 5696 void test_visitVariableDeclarationList_final_withMetadata() { |
5507 VariableDeclarationList declarationList = AstFactory | 5697 VariableDeclarationList declarationList = AstTestFactory |
5508 .variableDeclarationList2(Keyword.FINAL, [ | 5698 .variableDeclarationList2(Keyword.FINAL, [ |
5509 AstFactory.variableDeclaration("a"), | 5699 AstTestFactory.variableDeclaration("a"), |
5510 AstFactory.variableDeclaration("b") | 5700 AstTestFactory.variableDeclaration("b") |
5511 ]); | 5701 ]); |
5512 declarationList.metadata | 5702 declarationList.metadata.add( |
5513 .add(AstFactory.annotation(AstFactory.identifier3("deprecated"))); | 5703 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); |
5514 _assertSource("@deprecated final a, b", declarationList); | 5704 _assertSource("@deprecated final a, b", declarationList); |
5515 } | 5705 } |
5516 | 5706 |
5517 void test_visitVariableDeclarationList_type() { | 5707 void test_visitVariableDeclarationList_type() { |
5518 _assertSource( | 5708 _assertSource( |
5519 "C a, b", | 5709 "C a, b", |
5520 AstFactory.variableDeclarationList(null, AstFactory.typeName4("C"), [ | 5710 AstTestFactory.variableDeclarationList( |
5521 AstFactory.variableDeclaration("a"), | 5711 null, AstTestFactory.typeName4("C"), [ |
5522 AstFactory.variableDeclaration("b") | 5712 AstTestFactory.variableDeclaration("a"), |
| 5713 AstTestFactory.variableDeclaration("b") |
5523 ])); | 5714 ])); |
5524 } | 5715 } |
5525 | 5716 |
5526 void test_visitVariableDeclarationList_var() { | 5717 void test_visitVariableDeclarationList_var() { |
5527 _assertSource( | 5718 _assertSource( |
5528 "var a, b", | 5719 "var a, b", |
5529 AstFactory.variableDeclarationList2(Keyword.VAR, [ | 5720 AstTestFactory.variableDeclarationList2(Keyword.VAR, [ |
5530 AstFactory.variableDeclaration("a"), | 5721 AstTestFactory.variableDeclaration("a"), |
5531 AstFactory.variableDeclaration("b") | 5722 AstTestFactory.variableDeclaration("b") |
5532 ])); | 5723 ])); |
5533 } | 5724 } |
5534 | 5725 |
5535 void test_visitVariableDeclarationStatement() { | 5726 void test_visitVariableDeclarationStatement() { |
5536 _assertSource( | 5727 _assertSource( |
5537 "C c;", | 5728 "C c;", |
5538 AstFactory.variableDeclarationStatement(null, AstFactory.typeName4("C"), | 5729 AstTestFactory.variableDeclarationStatement( |
5539 [AstFactory.variableDeclaration("c")])); | 5730 null, |
| 5731 AstTestFactory.typeName4("C"), |
| 5732 [AstTestFactory.variableDeclaration("c")])); |
5540 } | 5733 } |
5541 | 5734 |
5542 void test_visitWhileStatement() { | 5735 void test_visitWhileStatement() { |
5543 _assertSource( | 5736 _assertSource( |
5544 "while (c) {}", | 5737 "while (c) {}", |
5545 AstFactory.whileStatement( | 5738 AstTestFactory.whileStatement( |
5546 AstFactory.identifier3("c"), AstFactory.block())); | 5739 AstTestFactory.identifier3("c"), AstTestFactory.block())); |
5547 } | 5740 } |
5548 | 5741 |
5549 void test_visitWithClause_multiple() { | 5742 void test_visitWithClause_multiple() { |
5550 _assertSource( | 5743 _assertSource( |
5551 "with A, B, C", | 5744 "with A, B, C", |
5552 AstFactory.withClause([ | 5745 AstTestFactory.withClause([ |
5553 AstFactory.typeName4("A"), | 5746 AstTestFactory.typeName4("A"), |
5554 AstFactory.typeName4("B"), | 5747 AstTestFactory.typeName4("B"), |
5555 AstFactory.typeName4("C") | 5748 AstTestFactory.typeName4("C") |
5556 ])); | 5749 ])); |
5557 } | 5750 } |
5558 | 5751 |
5559 void test_visitWithClause_single() { | 5752 void test_visitWithClause_single() { |
5560 _assertSource("with A", AstFactory.withClause([AstFactory.typeName4("A")])); | 5753 _assertSource( |
| 5754 "with A", AstTestFactory.withClause([AstTestFactory.typeName4("A")])); |
5561 } | 5755 } |
5562 | 5756 |
5563 void test_visitYieldStatement() { | 5757 void test_visitYieldStatement() { |
5564 _assertSource( | 5758 _assertSource("yield e;", |
5565 "yield e;", AstFactory.yieldStatement(AstFactory.identifier3("e"))); | 5759 AstTestFactory.yieldStatement(AstTestFactory.identifier3("e"))); |
5566 } | 5760 } |
5567 | 5761 |
5568 void test_visitYieldStatement_each() { | 5762 void test_visitYieldStatement_each() { |
5569 _assertSource("yield* e;", | 5763 _assertSource("yield* e;", |
5570 AstFactory.yieldEachStatement(AstFactory.identifier3("e"))); | 5764 AstTestFactory.yieldEachStatement(AstTestFactory.identifier3("e"))); |
5571 } | 5765 } |
5572 | 5766 |
5573 /** | 5767 /** |
5574 * Assert that a `ToSourceVisitor` will produce the [expectedSource] when | 5768 * Assert that a `ToSourceVisitor` will produce the [expectedSource] when |
5575 * visiting the given [node]. | 5769 * visiting the given [node]. |
5576 */ | 5770 */ |
5577 void _assertSource(String expectedSource, AstNode node) { | 5771 void _assertSource(String expectedSource, AstNode node) { |
5578 PrintStringWriter writer = new PrintStringWriter(); | 5772 PrintStringWriter writer = new PrintStringWriter(); |
5579 node.accept(new ToSourceVisitor(writer)); | 5773 node.accept(new ToSourceVisitor(writer)); |
5580 expect(writer.toString(), expectedSource); | 5774 expect(writer.toString(), expectedSource); |
5581 } | 5775 } |
5582 } | 5776 } |
OLD | NEW |