| 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 // This code was auto-generated, is not intended to be edited, and is subject to | 5 // This code was auto-generated, is not intended to be edited, and is subject to |
| 6 // significant change. Please see the README file for more information. | 6 // significant change. Please see the README file for more information. |
| 7 | 7 |
| 8 library engine.all_the_rest_test; | 8 library engine.all_the_rest_test; |
| 9 | 9 |
| 10 import 'dart:collection'; | 10 import 'dart:collection'; |
| (...skipping 1836 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1847 local.toolkitObjects = <AngularElement>[angularElement]; | 1847 local.toolkitObjects = <AngularElement>[angularElement]; |
| 1848 expect(AngularHtmlUnitResolver.getAngularElement(local), same(angularElement
)); | 1848 expect(AngularHtmlUnitResolver.getAngularElement(local), same(angularElement
)); |
| 1849 } | 1849 } |
| 1850 | 1850 |
| 1851 void test_getAngularElement_notAngular() { | 1851 void test_getAngularElement_notAngular() { |
| 1852 Element element = ElementFactory.localVariableElement2("name"); | 1852 Element element = ElementFactory.localVariableElement2("name"); |
| 1853 expect(AngularHtmlUnitResolver.getAngularElement(element), isNull); | 1853 expect(AngularHtmlUnitResolver.getAngularElement(element), isNull); |
| 1854 } | 1854 } |
| 1855 | 1855 |
| 1856 void test_getAngularElement_notLocal() { | 1856 void test_getAngularElement_notLocal() { |
| 1857 Element element = ElementFactory.classElement2("Test", []); | 1857 Element element = ElementFactory.classElement2("Test"); |
| 1858 expect(AngularHtmlUnitResolver.getAngularElement(element), isNull); | 1858 expect(AngularHtmlUnitResolver.getAngularElement(element), isNull); |
| 1859 } | 1859 } |
| 1860 | 1860 |
| 1861 /** | 1861 /** |
| 1862 * Test that we resolve "ng-click" expression. | 1862 * Test that we resolve "ng-click" expression. |
| 1863 */ | 1863 */ |
| 1864 void test_ngClick() { | 1864 void test_ngClick() { |
| 1865 addMyController(); | 1865 addMyController(); |
| 1866 _resolveIndexNoErrors( | 1866 _resolveIndexNoErrors( |
| 1867 AngularTest.createHtmlWithMyController(r"<button ng-click='ctrl.doSometh
ing($event)'/>")); | 1867 AngularTest.createHtmlWithMyController(r"<button ng-click='ctrl.doSometh
ing($event)'/>")); |
| (...skipping 726 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2594 * Assert that the number of errors reported against the given source matches
the number of errors | 2594 * Assert that the number of errors reported against the given source matches
the number of errors |
| 2595 * that are given and that they have the expected error codes. The order in wh
ich the errors were | 2595 * that are given and that they have the expected error codes. The order in wh
ich the errors were |
| 2596 * gathered is ignored. | 2596 * gathered is ignored. |
| 2597 * | 2597 * |
| 2598 * @param source the source against which the errors should have been reported | 2598 * @param source the source against which the errors should have been reported |
| 2599 * @param expectedErrorCodes the error codes of the errors that should have be
en reported | 2599 * @param expectedErrorCodes the error codes of the errors that should have be
en reported |
| 2600 * @throws AnalysisException if the reported errors could not be computed | 2600 * @throws AnalysisException if the reported errors could not be computed |
| 2601 * @throws AssertionFailedError if a different number of errors have been repo
rted than were | 2601 * @throws AssertionFailedError if a different number of errors have been repo
rted than were |
| 2602 * expected | 2602 * expected |
| 2603 */ | 2603 */ |
| 2604 void assertErrors(Source source, List<ErrorCode> expectedErrorCodes) { | 2604 void assertErrors(Source source, [List<ErrorCode> expectedErrorCodes = ErrorCo
de.EMPTY_LIST]) { |
| 2605 GatheringErrorListener errorListener = new GatheringErrorListener(); | 2605 GatheringErrorListener errorListener = new GatheringErrorListener(); |
| 2606 AnalysisErrorInfo errorsInfo = context.getErrors(source); | 2606 AnalysisErrorInfo errorsInfo = context.getErrors(source); |
| 2607 for (AnalysisError error in errorsInfo.errors) { | 2607 for (AnalysisError error in errorsInfo.errors) { |
| 2608 errorListener.onError(error); | 2608 errorListener.onError(error); |
| 2609 } | 2609 } |
| 2610 errorListener.assertErrorsWithCodes(expectedErrorCodes); | 2610 errorListener.assertErrorsWithCodes(expectedErrorCodes); |
| 2611 } | 2611 } |
| 2612 | 2612 |
| 2613 void assertMainErrors(List<ErrorCode> expectedErrorCodes) { | 2613 void assertMainErrors(List<ErrorCode> expectedErrorCodes) { |
| 2614 assertErrors(mainSource, expectedErrorCodes); | 2614 assertErrors(mainSource, expectedErrorCodes); |
| 2615 } | 2615 } |
| 2616 | 2616 |
| 2617 /** | 2617 /** |
| 2618 * Assert that no errors have been reported against the [indexSource]. | 2618 * Assert that no errors have been reported against the [indexSource]. |
| 2619 */ | 2619 */ |
| 2620 void assertNoErrors() { | 2620 void assertNoErrors() { |
| 2621 assertErrors(indexSource, []); | 2621 assertErrors(indexSource); |
| 2622 } | 2622 } |
| 2623 | 2623 |
| 2624 void assertNoErrors2(Source source) { | 2624 void assertNoErrors2(Source source) { |
| 2625 assertErrors(source, []); | 2625 assertErrors(source); |
| 2626 } | 2626 } |
| 2627 | 2627 |
| 2628 /** | 2628 /** |
| 2629 * Assert that no errors have been reported against the [mainSource]. | 2629 * Assert that no errors have been reported against the [mainSource]. |
| 2630 */ | 2630 */ |
| 2631 void assertNoMainErrors() { | 2631 void assertNoMainErrors() { |
| 2632 assertErrors(mainSource, []); | 2632 assertErrors(mainSource); |
| 2633 } | 2633 } |
| 2634 | 2634 |
| 2635 /** | 2635 /** |
| 2636 * Checks that [indexHtmlUnit] has [SimpleIdentifier] with given name, resolve
d to | 2636 * Checks that [indexHtmlUnit] has [SimpleIdentifier] with given name, resolve
d to |
| 2637 * not `null` [Element]. | 2637 * not `null` [Element]. |
| 2638 */ | 2638 */ |
| 2639 Element assertResolvedIdentifier(String name) { | 2639 Element assertResolvedIdentifier(String name) { |
| 2640 SimpleIdentifier identifier = findIdentifier(name); | 2640 SimpleIdentifier identifier = findIdentifier(name); |
| 2641 // check Element | 2641 // check Element |
| 2642 Element element = identifier.bestElement; | 2642 Element element = identifier.bestElement; |
| (...skipping 820 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3463 } | 3463 } |
| 3464 | 3464 |
| 3465 ConstructorElement _setupConstructorDeclaration(String name, bool isConst) { | 3465 ConstructorElement _setupConstructorDeclaration(String name, bool isConst) { |
| 3466 Keyword constKeyword = isConst ? Keyword.CONST : null; | 3466 Keyword constKeyword = isConst ? Keyword.CONST : null; |
| 3467 ConstructorDeclaration constructorDeclaration = | 3467 ConstructorDeclaration constructorDeclaration = |
| 3468 AstFactory.constructorDeclaration2( | 3468 AstFactory.constructorDeclaration2( |
| 3469 constKeyword, | 3469 constKeyword, |
| 3470 null, | 3470 null, |
| 3471 null, | 3471 null, |
| 3472 name, | 3472 name, |
| 3473 AstFactory.formalParameterList([]), | 3473 AstFactory.formalParameterList(), |
| 3474 null, | 3474 null, |
| 3475 AstFactory.blockFunctionBody2([])); | 3475 AstFactory.blockFunctionBody2()); |
| 3476 ClassElement classElement = ElementFactory.classElement2(name, []); | 3476 ClassElement classElement = ElementFactory.classElement2(name); |
| 3477 ConstructorElement element = | 3477 ConstructorElement element = |
| 3478 ElementFactory.constructorElement(classElement, name, isConst, []); | 3478 ElementFactory.constructorElement(classElement, name, isConst); |
| 3479 constructorDeclaration.element = element; | 3479 constructorDeclaration.element = element; |
| 3480 _node = constructorDeclaration; | 3480 _node = constructorDeclaration; |
| 3481 return element; | 3481 return element; |
| 3482 } | 3482 } |
| 3483 | 3483 |
| 3484 void _setupInstanceCreationExpression(String name, bool isConst) { | 3484 void _setupInstanceCreationExpression(String name, bool isConst) { |
| 3485 _node = AstFactory.instanceCreationExpression2( | 3485 _node = AstFactory.instanceCreationExpression2( |
| 3486 isConst ? Keyword.CONST : null, | 3486 isConst ? Keyword.CONST : null, |
| 3487 AstFactory.typeName3(AstFactory.identifier3(name), []), | 3487 AstFactory.typeName3(AstFactory.identifier3(name))); |
| 3488 []); | |
| 3489 } | 3488 } |
| 3490 | 3489 |
| 3491 VariableElement _setupVariableDeclaration(String name, bool isConst, | 3490 VariableElement _setupVariableDeclaration(String name, bool isConst, |
| 3492 bool isInitialized) { | 3491 bool isInitialized) { |
| 3493 VariableDeclaration variableDeclaration = isInitialized ? | 3492 VariableDeclaration variableDeclaration = isInitialized ? |
| 3494 AstFactory.variableDeclaration2(name, AstFactory.integer(0)) : | 3493 AstFactory.variableDeclaration2(name, AstFactory.integer(0)) : |
| 3495 AstFactory.variableDeclaration(name); | 3494 AstFactory.variableDeclaration(name); |
| 3496 SimpleIdentifier identifier = variableDeclaration.name; | 3495 SimpleIdentifier identifier = variableDeclaration.name; |
| 3497 VariableElement element = ElementFactory.localVariableElement(identifier); | 3496 VariableElement element = ElementFactory.localVariableElement(identifier); |
| 3498 identifier.staticElement = element; | 3497 identifier.staticElement = element; |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3602 expect(members, hasLength(1)); | 3601 expect(members, hasLength(1)); |
| 3603 _validate(true, (members[0] as TopLevelVariableDeclaration).variables); | 3602 _validate(true, (members[0] as TopLevelVariableDeclaration).variables); |
| 3604 } | 3603 } |
| 3605 | 3604 |
| 3606 void test_dependencyOnConstructor() { | 3605 void test_dependencyOnConstructor() { |
| 3607 // x depends on "const A()" | 3606 // x depends on "const A()" |
| 3608 _assertProperDependencies(r''' | 3607 _assertProperDependencies(r''' |
| 3609 class A { | 3608 class A { |
| 3610 const A(); | 3609 const A(); |
| 3611 } | 3610 } |
| 3612 const x = const A();''', | 3611 const x = const A();'''); |
| 3613 []); | |
| 3614 } | 3612 } |
| 3615 | 3613 |
| 3616 void test_dependencyOnConstructorArgument() { | 3614 void test_dependencyOnConstructorArgument() { |
| 3617 // "const A(x)" depends on x | 3615 // "const A(x)" depends on x |
| 3618 _assertProperDependencies(r''' | 3616 _assertProperDependencies(r''' |
| 3619 class A { | 3617 class A { |
| 3620 const A(this.next); | 3618 const A(this.next); |
| 3621 final A next; | 3619 final A next; |
| 3622 } | 3620 } |
| 3623 const A x = const A(null); | 3621 const A x = const A(null); |
| 3624 const A y = const A(x);''', | 3622 const A y = const A(x);'''); |
| 3625 []); | |
| 3626 } | 3623 } |
| 3627 | 3624 |
| 3628 void test_dependencyOnConstructorArgument_unresolvedConstructor() { | 3625 void test_dependencyOnConstructorArgument_unresolvedConstructor() { |
| 3629 // "const A.a(x)" depends on x even if the constructor A.a can't be found. | 3626 // "const A.a(x)" depends on x even if the constructor A.a can't be found. |
| 3630 _assertProperDependencies(r''' | 3627 _assertProperDependencies(r''' |
| 3631 class A { | 3628 class A { |
| 3632 } | 3629 } |
| 3633 const int x = 1; | 3630 const int x = 1; |
| 3634 const A y = const A.a(x);''', | 3631 const A y = const A.a(x);''', |
| 3635 [CompileTimeErrorCode.CONST_WITH_UNDEFINED_CONSTRUCTOR]); | 3632 [CompileTimeErrorCode.CONST_WITH_UNDEFINED_CONSTRUCTOR]); |
| 3636 } | 3633 } |
| 3637 | 3634 |
| 3638 void test_dependencyOnConstructorInitializer() { | 3635 void test_dependencyOnConstructorInitializer() { |
| 3639 // "const A()" depends on x | 3636 // "const A()" depends on x |
| 3640 _assertProperDependencies(r''' | 3637 _assertProperDependencies(r''' |
| 3641 const int x = 1; | 3638 const int x = 1; |
| 3642 class A { | 3639 class A { |
| 3643 const A() : v = x; | 3640 const A() : v = x; |
| 3644 final int v; | 3641 final int v; |
| 3645 }''', | 3642 }'''); |
| 3646 []); | |
| 3647 } | 3643 } |
| 3648 | 3644 |
| 3649 void test_dependencyOnExplicitSuperConstructor() { | 3645 void test_dependencyOnExplicitSuperConstructor() { |
| 3650 // b depends on B() depends on A() | 3646 // b depends on B() depends on A() |
| 3651 _assertProperDependencies(r''' | 3647 _assertProperDependencies(r''' |
| 3652 class A { | 3648 class A { |
| 3653 const A(this.x); | 3649 const A(this.x); |
| 3654 final int x; | 3650 final int x; |
| 3655 } | 3651 } |
| 3656 class B extends A { | 3652 class B extends A { |
| 3657 const B() : super(5); | 3653 const B() : super(5); |
| 3658 } | 3654 } |
| 3659 const B b = const B();''', | 3655 const B b = const B();'''); |
| 3660 []); | |
| 3661 } | 3656 } |
| 3662 | 3657 |
| 3663 void test_dependencyOnExplicitSuperConstructorParameters() { | 3658 void test_dependencyOnExplicitSuperConstructorParameters() { |
| 3664 // b depends on B() depends on i | 3659 // b depends on B() depends on i |
| 3665 _assertProperDependencies(r''' | 3660 _assertProperDependencies(r''' |
| 3666 class A { | 3661 class A { |
| 3667 const A(this.x); | 3662 const A(this.x); |
| 3668 final int x; | 3663 final int x; |
| 3669 } | 3664 } |
| 3670 class B extends A { | 3665 class B extends A { |
| 3671 const B() : super(i); | 3666 const B() : super(i); |
| 3672 } | 3667 } |
| 3673 const B b = const B(); | 3668 const B b = const B(); |
| 3674 const int i = 5;''', | 3669 const int i = 5;'''); |
| 3675 []); | |
| 3676 } | 3670 } |
| 3677 | 3671 |
| 3678 void test_dependencyOnFactoryRedirect() { | 3672 void test_dependencyOnFactoryRedirect() { |
| 3679 // a depends on A.foo() depends on A.bar() | 3673 // a depends on A.foo() depends on A.bar() |
| 3680 _assertProperDependencies(r''' | 3674 _assertProperDependencies(r''' |
| 3681 const A a = const A.foo(); | 3675 const A a = const A.foo(); |
| 3682 class A { | 3676 class A { |
| 3683 factory const A.foo() = A.bar; | 3677 factory const A.foo() = A.bar; |
| 3684 const A.bar(); | 3678 const A.bar(); |
| 3685 }''', | 3679 }'''); |
| 3686 []); | |
| 3687 } | 3680 } |
| 3688 | 3681 |
| 3689 void test_dependencyOnFactoryRedirectWithTypeParams() { | 3682 void test_dependencyOnFactoryRedirectWithTypeParams() { |
| 3690 _assertProperDependencies(r''' | 3683 _assertProperDependencies(r''' |
| 3691 class A { | 3684 class A { |
| 3692 const factory A(var a) = B<int>; | 3685 const factory A(var a) = B<int>; |
| 3693 } | 3686 } |
| 3694 | 3687 |
| 3695 class B<T> implements A { | 3688 class B<T> implements A { |
| 3696 final T x; | 3689 final T x; |
| 3697 const B(this.x); | 3690 const B(this.x); |
| 3698 } | 3691 } |
| 3699 | 3692 |
| 3700 const A a = const A(10);''', | 3693 const A a = const A(10);'''); |
| 3701 []); | |
| 3702 } | 3694 } |
| 3703 | 3695 |
| 3704 void test_dependencyOnImplicitSuperConstructor() { | 3696 void test_dependencyOnImplicitSuperConstructor() { |
| 3705 // b depends on B() depends on A() | 3697 // b depends on B() depends on A() |
| 3706 _assertProperDependencies(r''' | 3698 _assertProperDependencies(r''' |
| 3707 class A { | 3699 class A { |
| 3708 const A() : x = 5; | 3700 const A() : x = 5; |
| 3709 final int x; | 3701 final int x; |
| 3710 } | 3702 } |
| 3711 class B extends A { | 3703 class B extends A { |
| 3712 const B(); | 3704 const B(); |
| 3713 } | 3705 } |
| 3714 const B b = const B();''', | 3706 const B b = const B();'''); |
| 3715 []); | |
| 3716 } | 3707 } |
| 3717 | 3708 |
| 3718 void test_dependencyOnNonFactoryRedirect() { | 3709 void test_dependencyOnNonFactoryRedirect() { |
| 3719 // a depends on A.foo() depends on A.bar() | 3710 // a depends on A.foo() depends on A.bar() |
| 3720 _assertProperDependencies(r''' | 3711 _assertProperDependencies(r''' |
| 3721 const A a = const A.foo(); | 3712 const A a = const A.foo(); |
| 3722 class A { | 3713 class A { |
| 3723 const A.foo() : this.bar(); | 3714 const A.foo() : this.bar(); |
| 3724 const A.bar(); | 3715 const A.bar(); |
| 3725 }''', | 3716 }'''); |
| 3726 []); | |
| 3727 } | 3717 } |
| 3728 | 3718 |
| 3729 void test_dependencyOnNonFactoryRedirect_arg() { | 3719 void test_dependencyOnNonFactoryRedirect_arg() { |
| 3730 // a depends on A.foo() depends on b | 3720 // a depends on A.foo() depends on b |
| 3731 _assertProperDependencies(r''' | 3721 _assertProperDependencies(r''' |
| 3732 const A a = const A.foo(); | 3722 const A a = const A.foo(); |
| 3733 const int b = 1; | 3723 const int b = 1; |
| 3734 class A { | 3724 class A { |
| 3735 const A.foo() : this.bar(b); | 3725 const A.foo() : this.bar(b); |
| 3736 const A.bar(x) : y = x; | 3726 const A.bar(x) : y = x; |
| 3737 final int y; | 3727 final int y; |
| 3738 }''', | 3728 }'''); |
| 3739 []); | |
| 3740 } | 3729 } |
| 3741 | 3730 |
| 3742 void test_dependencyOnNonFactoryRedirect_defaultValue() { | 3731 void test_dependencyOnNonFactoryRedirect_defaultValue() { |
| 3743 // a depends on A.foo() depends on A.bar() depends on b | 3732 // a depends on A.foo() depends on A.bar() depends on b |
| 3744 _assertProperDependencies(r''' | 3733 _assertProperDependencies(r''' |
| 3745 const A a = const A.foo(); | 3734 const A a = const A.foo(); |
| 3746 const int b = 1; | 3735 const int b = 1; |
| 3747 class A { | 3736 class A { |
| 3748 const A.foo() : this.bar(); | 3737 const A.foo() : this.bar(); |
| 3749 const A.bar([x = b]) : y = x; | 3738 const A.bar([x = b]) : y = x; |
| 3750 final int y; | 3739 final int y; |
| 3751 }''', | 3740 }'''); |
| 3752 []); | |
| 3753 } | 3741 } |
| 3754 | 3742 |
| 3755 void test_dependencyOnNonFactoryRedirect_toMissing() { | 3743 void test_dependencyOnNonFactoryRedirect_toMissing() { |
| 3756 // a depends on A.foo() which depends on nothing, since A.bar() is | 3744 // a depends on A.foo() which depends on nothing, since A.bar() is |
| 3757 // missing. | 3745 // missing. |
| 3758 _assertProperDependencies(r''' | 3746 _assertProperDependencies(r''' |
| 3759 const A a = const A.foo(); | 3747 const A a = const A.foo(); |
| 3760 class A { | 3748 class A { |
| 3761 const A.foo() : this.bar(); | 3749 const A.foo() : this.bar(); |
| 3762 }''', | 3750 }''', |
| 3763 [CompileTimeErrorCode.REDIRECT_GENERATIVE_TO_MISSING_CONSTRUCTOR]); | 3751 [CompileTimeErrorCode.REDIRECT_GENERATIVE_TO_MISSING_CONSTRUCTOR]); |
| 3764 } | 3752 } |
| 3765 | 3753 |
| 3766 void test_dependencyOnNonFactoryRedirect_toNonConst() { | 3754 void test_dependencyOnNonFactoryRedirect_toNonConst() { |
| 3767 // a depends on A.foo() which depends on nothing, since A.bar() is | 3755 // a depends on A.foo() which depends on nothing, since A.bar() is |
| 3768 // non-const. | 3756 // non-const. |
| 3769 _assertProperDependencies(r''' | 3757 _assertProperDependencies(r''' |
| 3770 const A a = const A.foo(); | 3758 const A a = const A.foo(); |
| 3771 class A { | 3759 class A { |
| 3772 const A.foo() : this.bar(); | 3760 const A.foo() : this.bar(); |
| 3773 A.bar(); | 3761 A.bar(); |
| 3774 }''', | 3762 }'''); |
| 3775 []); | |
| 3776 } | 3763 } |
| 3777 | 3764 |
| 3778 void test_dependencyOnNonFactoryRedirect_unnamed() { | 3765 void test_dependencyOnNonFactoryRedirect_unnamed() { |
| 3779 // a depends on A.foo() depends on A() | 3766 // a depends on A.foo() depends on A() |
| 3780 _assertProperDependencies(r''' | 3767 _assertProperDependencies(r''' |
| 3781 const A a = const A.foo(); | 3768 const A a = const A.foo(); |
| 3782 class A { | 3769 class A { |
| 3783 const A.foo() : this(); | 3770 const A.foo() : this(); |
| 3784 const A(); | 3771 const A(); |
| 3785 }''', | 3772 }'''); |
| 3786 []); | |
| 3787 } | 3773 } |
| 3788 | 3774 |
| 3789 void test_dependencyOnOptionalParameterDefault() { | 3775 void test_dependencyOnOptionalParameterDefault() { |
| 3790 // a depends on A() depends on B() | 3776 // a depends on A() depends on B() |
| 3791 _assertProperDependencies(r''' | 3777 _assertProperDependencies(r''' |
| 3792 class A { | 3778 class A { |
| 3793 const A([x = const B()]) : b = x; | 3779 const A([x = const B()]) : b = x; |
| 3794 final B b; | 3780 final B b; |
| 3795 } | 3781 } |
| 3796 class B { | 3782 class B { |
| 3797 const B(); | 3783 const B(); |
| 3798 } | 3784 } |
| 3799 const A a = const A();''', | 3785 const A a = const A();'''); |
| 3800 []); | |
| 3801 } | 3786 } |
| 3802 | 3787 |
| 3803 void test_dependencyOnVariable() { | 3788 void test_dependencyOnVariable() { |
| 3804 // x depends on y | 3789 // x depends on y |
| 3805 _assertProperDependencies(r''' | 3790 _assertProperDependencies(r''' |
| 3806 const x = y + 1; | 3791 const x = y + 1; |
| 3807 const y = 2;''', | 3792 const y = 2;'''); |
| 3808 []); | |
| 3809 } | 3793 } |
| 3810 | 3794 |
| 3811 void test_fromEnvironment_bool_default_false() { | 3795 void test_fromEnvironment_bool_default_false() { |
| 3812 expect(_assertValidBool(_check_fromEnvironment_bool(null, "false")), false); | 3796 expect(_assertValidBool(_check_fromEnvironment_bool(null, "false")), false); |
| 3813 } | 3797 } |
| 3814 | 3798 |
| 3815 void test_fromEnvironment_bool_default_overridden() { | 3799 void test_fromEnvironment_bool_default_overridden() { |
| 3816 expect(_assertValidBool(_check_fromEnvironment_bool("false", "true")), false
); | 3800 expect(_assertValidBool(_check_fromEnvironment_bool("false", "true")), false
); |
| 3817 } | 3801 } |
| 3818 | 3802 |
| (...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4342 expect(field.type.name, "int"); | 4326 expect(field.type.name, "int"); |
| 4343 expect(field.intValue, expectedValue); | 4327 expect(field.intValue, expectedValue); |
| 4344 } | 4328 } |
| 4345 | 4329 |
| 4346 void _assertNullField(Map<String, DartObjectImpl> fields, String fieldName) { | 4330 void _assertNullField(Map<String, DartObjectImpl> fields, String fieldName) { |
| 4347 DartObjectImpl field = fields[fieldName]; | 4331 DartObjectImpl field = fields[fieldName]; |
| 4348 expect(field.isNull, isTrue); | 4332 expect(field.isNull, isTrue); |
| 4349 } | 4333 } |
| 4350 | 4334 |
| 4351 void _assertProperDependencies(String sourceText, | 4335 void _assertProperDependencies(String sourceText, |
| 4352 List<ErrorCode> expectedErrorCodes) { | 4336 [List<ErrorCode> expectedErrorCodes = ErrorCode.EMPTY_LIST]) { |
| 4353 Source source = addSource(sourceText); | 4337 Source source = addSource(sourceText); |
| 4354 LibraryElement element = resolve(source); | 4338 LibraryElement element = resolve(source); |
| 4355 CompilationUnit unit = | 4339 CompilationUnit unit = |
| 4356 analysisContext.resolveCompilationUnit(source, element); | 4340 analysisContext.resolveCompilationUnit(source, element); |
| 4357 expect(unit, isNotNull); | 4341 expect(unit, isNotNull); |
| 4358 ConstantValueComputer computer = _makeConstantValueComputer(); | 4342 ConstantValueComputer computer = _makeConstantValueComputer(); |
| 4359 computer.add(unit); | 4343 computer.add(unit); |
| 4360 computer.computeValues(); | 4344 computer.computeValues(); |
| 4361 assertErrors(source, expectedErrorCodes); | 4345 assertErrors(source, expectedErrorCodes); |
| 4362 } | 4346 } |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4562 GatheringErrorListener errorListener = new GatheringErrorListener(); | 4546 GatheringErrorListener errorListener = new GatheringErrorListener(); |
| 4563 ErrorReporter errorReporter = | 4547 ErrorReporter errorReporter = |
| 4564 new ErrorReporter(errorListener, _dummySource()); | 4548 new ErrorReporter(errorListener, _dummySource()); |
| 4565 _assertValue( | 4549 _assertValue( |
| 4566 0, | 4550 0, |
| 4567 expression.accept( | 4551 expression.accept( |
| 4568 new ConstantVisitor.con1(new TestTypeProvider(), errorReporter))); | 4552 new ConstantVisitor.con1(new TestTypeProvider(), errorReporter))); |
| 4569 errorListener.assertNoErrors(); | 4553 errorListener.assertNoErrors(); |
| 4570 } | 4554 } |
| 4571 | 4555 |
| 4572 void | 4556 void test_visitConditionalExpression_instanceCreation_invalidFieldInitializer(
) { |
| 4573 test_visitConditionalExpression_instanceCreation_invalidFieldInitializer()
{ | |
| 4574 TestTypeProvider typeProvider = new TestTypeProvider(); | 4557 TestTypeProvider typeProvider = new TestTypeProvider(); |
| 4575 LibraryElementImpl libraryElement = ElementFactory.library(null, "lib"); | 4558 LibraryElementImpl libraryElement = ElementFactory.library(null, "lib"); |
| 4576 String className = "C"; | 4559 String className = "C"; |
| 4577 ClassElementImpl classElement = ElementFactory.classElement2(className, []); | 4560 ClassElementImpl classElement = ElementFactory.classElement2(className); |
| 4578 (libraryElement.definingCompilationUnit as CompilationUnitElementImpl).types
= | 4561 (libraryElement.definingCompilationUnit as CompilationUnitElementImpl).types
= |
| 4579 <ClassElement>[classElement]; | 4562 <ClassElement>[classElement]; |
| 4580 ConstructorElementImpl constructorElement = | 4563 ConstructorElementImpl constructorElement = |
| 4581 ElementFactory.constructorElement( | 4564 ElementFactory.constructorElement( |
| 4582 classElement, | 4565 classElement, |
| 4583 null, | 4566 null, |
| 4584 true, | 4567 true, |
| 4585 [typeProvider.intType]); | 4568 [typeProvider.intType]); |
| 4586 constructorElement.parameters[0] = | 4569 constructorElement.parameters[0] = |
| 4587 new FieldFormalParameterElementImpl(AstFactory.identifier3("x")); | 4570 new FieldFormalParameterElementImpl(AstFactory.identifier3("x")); |
| 4588 InstanceCreationExpression expression = | 4571 InstanceCreationExpression expression = |
| 4589 AstFactory.instanceCreationExpression2( | 4572 AstFactory.instanceCreationExpression2( |
| 4590 Keyword.CONST, | 4573 Keyword.CONST, |
| 4591 AstFactory.typeName4(className, []), | 4574 AstFactory.typeName4(className), |
| 4592 [AstFactory.integer(0)]); | 4575 [AstFactory.integer(0)]); |
| 4593 expression.staticElement = constructorElement; | 4576 expression.staticElement = constructorElement; |
| 4594 GatheringErrorListener errorListener = new GatheringErrorListener(); | 4577 GatheringErrorListener errorListener = new GatheringErrorListener(); |
| 4595 ErrorReporter errorReporter = | 4578 ErrorReporter errorReporter = |
| 4596 new ErrorReporter(errorListener, _dummySource()); | 4579 new ErrorReporter(errorListener, _dummySource()); |
| 4597 expression.accept(new ConstantVisitor.con1(typeProvider, errorReporter)); | 4580 expression.accept(new ConstantVisitor.con1(typeProvider, errorReporter)); |
| 4598 errorListener.assertErrorsWithCodes( | 4581 errorListener.assertErrorsWithCodes( |
| 4599 [CompileTimeErrorCode.INVALID_CONSTANT]); | 4582 [CompileTimeErrorCode.INVALID_CONSTANT]); |
| 4600 } | 4583 } |
| 4601 | 4584 |
| (...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5012 | 4995 |
| 5013 void test_equalEqual_int_true() { | 4996 void test_equalEqual_int_true() { |
| 5014 _assertEqualEqual(_boolValue(true), _intValue(5), _intValue(5)); | 4997 _assertEqualEqual(_boolValue(true), _intValue(5), _intValue(5)); |
| 5015 } | 4998 } |
| 5016 | 4999 |
| 5017 void test_equalEqual_int_unknown() { | 5000 void test_equalEqual_int_unknown() { |
| 5018 _assertEqualEqual(_boolValue(null), _intValue(null), _intValue(3)); | 5001 _assertEqualEqual(_boolValue(null), _intValue(null), _intValue(3)); |
| 5019 } | 5002 } |
| 5020 | 5003 |
| 5021 void test_equalEqual_list_empty() { | 5004 void test_equalEqual_list_empty() { |
| 5022 _assertEqualEqual(null, _listValue([]), _listValue([])); | 5005 _assertEqualEqual(null, _listValue(), _listValue()); |
| 5023 } | 5006 } |
| 5024 | 5007 |
| 5025 void test_equalEqual_list_false() { | 5008 void test_equalEqual_list_false() { |
| 5026 _assertEqualEqual(null, _listValue([]), _listValue([])); | 5009 _assertEqualEqual(null, _listValue(), _listValue()); |
| 5027 } | 5010 } |
| 5028 | 5011 |
| 5029 void test_equalEqual_map_empty() { | 5012 void test_equalEqual_map_empty() { |
| 5030 _assertEqualEqual(null, _mapValue([]), _mapValue([])); | 5013 _assertEqualEqual(null, _mapValue(), _mapValue()); |
| 5031 } | 5014 } |
| 5032 | 5015 |
| 5033 void test_equalEqual_map_false() { | 5016 void test_equalEqual_map_false() { |
| 5034 _assertEqualEqual(null, _mapValue([]), _mapValue([])); | 5017 _assertEqualEqual(null, _mapValue(), _mapValue()); |
| 5035 } | 5018 } |
| 5036 | 5019 |
| 5037 void test_equalEqual_null() { | 5020 void test_equalEqual_null() { |
| 5038 _assertEqualEqual(_boolValue(true), _nullValue(), _nullValue()); | 5021 _assertEqualEqual(_boolValue(true), _nullValue(), _nullValue()); |
| 5039 } | 5022 } |
| 5040 | 5023 |
| 5041 void test_equalEqual_string_false() { | 5024 void test_equalEqual_string_false() { |
| 5042 _assertEqualEqual( | 5025 _assertEqualEqual( |
| 5043 _boolValue(false), | 5026 _boolValue(false), |
| 5044 _stringValue("abc"), | 5027 _stringValue("abc"), |
| (...skipping 17 matching lines...) Expand all Loading... |
| 5062 void test_equals_list_false_differentSizes() { | 5045 void test_equals_list_false_differentSizes() { |
| 5063 expect(_listValue([_boolValue(true)]) == | 5046 expect(_listValue([_boolValue(true)]) == |
| 5064 _listValue([_boolValue(true), _boolValue(false)]), isFalse); | 5047 _listValue([_boolValue(true), _boolValue(false)]), isFalse); |
| 5065 } | 5048 } |
| 5066 | 5049 |
| 5067 void test_equals_list_false_sameSize() { | 5050 void test_equals_list_false_sameSize() { |
| 5068 expect(_listValue([_boolValue(true)]) == _listValue([_boolValue(false)]), is
False); | 5051 expect(_listValue([_boolValue(true)]) == _listValue([_boolValue(false)]), is
False); |
| 5069 } | 5052 } |
| 5070 | 5053 |
| 5071 void test_equals_list_true_empty() { | 5054 void test_equals_list_true_empty() { |
| 5072 expect(_listValue([]), _listValue([])); | 5055 expect(_listValue(), _listValue()); |
| 5073 } | 5056 } |
| 5074 | 5057 |
| 5075 void test_equals_list_true_nonEmpty() { | 5058 void test_equals_list_true_nonEmpty() { |
| 5076 expect(_listValue([_boolValue(true)]), _listValue([_boolValue(true)])); | 5059 expect(_listValue([_boolValue(true)]), _listValue([_boolValue(true)])); |
| 5077 } | 5060 } |
| 5078 | 5061 |
| 5079 void test_equals_map_true_empty() { | 5062 void test_equals_map_true_empty() { |
| 5080 expect(_mapValue([]), _mapValue([])); | 5063 expect(_mapValue(), _mapValue()); |
| 5081 } | 5064 } |
| 5082 | 5065 |
| 5083 void test_equals_symbol_false() { | 5066 void test_equals_symbol_false() { |
| 5084 expect(_symbolValue("a") == _symbolValue("b"), isFalse); | 5067 expect(_symbolValue("a") == _symbolValue("b"), isFalse); |
| 5085 } | 5068 } |
| 5086 | 5069 |
| 5087 void test_equals_symbol_true() { | 5070 void test_equals_symbol_true() { |
| 5088 expect(_symbolValue("a"), _symbolValue("a")); | 5071 expect(_symbolValue("a"), _symbolValue("a")); |
| 5089 } | 5072 } |
| 5090 | 5073 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 5112 void test_getValue_int_known() { | 5095 void test_getValue_int_known() { |
| 5113 int value = 23; | 5096 int value = 23; |
| 5114 expect(_intValue(value).value, value); | 5097 expect(_intValue(value).value, value); |
| 5115 } | 5098 } |
| 5116 | 5099 |
| 5117 void test_getValue_int_unknown() { | 5100 void test_getValue_int_unknown() { |
| 5118 expect(_intValue(null).value, isNull); | 5101 expect(_intValue(null).value, isNull); |
| 5119 } | 5102 } |
| 5120 | 5103 |
| 5121 void test_getValue_list_empty() { | 5104 void test_getValue_list_empty() { |
| 5122 Object result = _listValue([]).value; | 5105 Object result = _listValue().value; |
| 5123 _assertInstanceOfObjectArray(result); | 5106 _assertInstanceOfObjectArray(result); |
| 5124 List<Object> array = result as List<Object>; | 5107 List<Object> array = result as List<Object>; |
| 5125 expect(array, hasLength(0)); | 5108 expect(array, hasLength(0)); |
| 5126 } | 5109 } |
| 5127 | 5110 |
| 5128 void test_getValue_list_valid() { | 5111 void test_getValue_list_valid() { |
| 5129 Object result = _listValue([_intValue(23)]).value; | 5112 Object result = _listValue([_intValue(23)]).value; |
| 5130 _assertInstanceOfObjectArray(result); | 5113 _assertInstanceOfObjectArray(result); |
| 5131 List<Object> array = result as List<Object>; | 5114 List<Object> array = result as List<Object>; |
| 5132 expect(array, hasLength(1)); | 5115 expect(array, hasLength(1)); |
| 5133 } | 5116 } |
| 5134 | 5117 |
| 5135 void test_getValue_map_empty() { | 5118 void test_getValue_map_empty() { |
| 5136 Object result = _mapValue([]).value; | 5119 Object result = _mapValue().value; |
| 5137 EngineTestCase.assertInstanceOf((obj) => obj is Map, Map, result); | 5120 EngineTestCase.assertInstanceOf((obj) => obj is Map, Map, result); |
| 5138 Map map = result as Map; | 5121 Map map = result as Map; |
| 5139 expect(map, hasLength(0)); | 5122 expect(map, hasLength(0)); |
| 5140 } | 5123 } |
| 5141 | 5124 |
| 5142 void test_getValue_map_valid() { | 5125 void test_getValue_map_valid() { |
| 5143 Object result = | 5126 Object result = |
| 5144 _mapValue([_stringValue("key"), _stringValue("value")]).value; | 5127 _mapValue([_stringValue("key"), _stringValue("value")]).value; |
| 5145 EngineTestCase.assertInstanceOf((obj) => obj is Map, Map, result); | 5128 EngineTestCase.assertInstanceOf((obj) => obj is Map, Map, result); |
| 5146 Map map = result as Map; | 5129 Map map = result as Map; |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5344 | 5327 |
| 5345 void test_hasExactValue_int_known() { | 5328 void test_hasExactValue_int_known() { |
| 5346 expect(_intValue(23).hasExactValue, isTrue); | 5329 expect(_intValue(23).hasExactValue, isTrue); |
| 5347 } | 5330 } |
| 5348 | 5331 |
| 5349 void test_hasExactValue_int_unknown() { | 5332 void test_hasExactValue_int_unknown() { |
| 5350 expect(_intValue(null).hasExactValue, isTrue); | 5333 expect(_intValue(null).hasExactValue, isTrue); |
| 5351 } | 5334 } |
| 5352 | 5335 |
| 5353 void test_hasExactValue_list_empty() { | 5336 void test_hasExactValue_list_empty() { |
| 5354 expect(_listValue([]).hasExactValue, isTrue); | 5337 expect(_listValue().hasExactValue, isTrue); |
| 5355 } | 5338 } |
| 5356 | 5339 |
| 5357 void test_hasExactValue_list_invalid() { | 5340 void test_hasExactValue_list_invalid() { |
| 5358 expect(_dynamicValue().hasExactValue, isFalse); | 5341 expect(_dynamicValue().hasExactValue, isFalse); |
| 5359 } | 5342 } |
| 5360 | 5343 |
| 5361 void test_hasExactValue_list_valid() { | 5344 void test_hasExactValue_list_valid() { |
| 5362 expect(_listValue([_intValue(23)]).hasExactValue, isTrue); | 5345 expect(_listValue([_intValue(23)]).hasExactValue, isTrue); |
| 5363 } | 5346 } |
| 5364 | 5347 |
| 5365 void test_hasExactValue_map_empty() { | 5348 void test_hasExactValue_map_empty() { |
| 5366 expect(_mapValue([]).hasExactValue, isTrue); | 5349 expect(_mapValue().hasExactValue, isTrue); |
| 5367 } | 5350 } |
| 5368 | 5351 |
| 5369 void test_hasExactValue_map_invalidKey() { | 5352 void test_hasExactValue_map_invalidKey() { |
| 5370 expect(_mapValue([_dynamicValue(), _stringValue("value")]).hasExactValue, is
False); | 5353 expect(_mapValue([_dynamicValue(), _stringValue("value")]).hasExactValue, is
False); |
| 5371 } | 5354 } |
| 5372 | 5355 |
| 5373 void test_hasExactValue_map_invalidValue() { | 5356 void test_hasExactValue_map_invalidValue() { |
| 5374 expect(_mapValue([_stringValue("key"), _dynamicValue()]).hasExactValue, isFa
lse); | 5357 expect(_mapValue([_stringValue("key"), _dynamicValue()]).hasExactValue, isFa
lse); |
| 5375 } | 5358 } |
| 5376 | 5359 |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5424 | 5407 |
| 5425 void test_identical_int_true() { | 5408 void test_identical_int_true() { |
| 5426 _assertIdentical(_boolValue(true), _intValue(5), _intValue(5)); | 5409 _assertIdentical(_boolValue(true), _intValue(5), _intValue(5)); |
| 5427 } | 5410 } |
| 5428 | 5411 |
| 5429 void test_identical_int_unknown() { | 5412 void test_identical_int_unknown() { |
| 5430 _assertIdentical(_boolValue(null), _intValue(null), _intValue(3)); | 5413 _assertIdentical(_boolValue(null), _intValue(null), _intValue(3)); |
| 5431 } | 5414 } |
| 5432 | 5415 |
| 5433 void test_identical_list_empty() { | 5416 void test_identical_list_empty() { |
| 5434 _assertIdentical(_boolValue(true), _listValue([]), _listValue([])); | 5417 _assertIdentical(_boolValue(true), _listValue(), _listValue()); |
| 5435 } | 5418 } |
| 5436 | 5419 |
| 5437 void test_identical_list_false() { | 5420 void test_identical_list_false() { |
| 5438 _assertIdentical(_boolValue(false), _listValue([]), | 5421 _assertIdentical(_boolValue(false), _listValue(), |
| 5439 _listValue([_intValue(3)])); | 5422 _listValue([_intValue(3)])); |
| 5440 } | 5423 } |
| 5441 | 5424 |
| 5442 void test_identical_map_empty() { | 5425 void test_identical_map_empty() { |
| 5443 _assertIdentical(_boolValue(true), _mapValue([]), _mapValue([])); | 5426 _assertIdentical(_boolValue(true), _mapValue(), _mapValue()); |
| 5444 } | 5427 } |
| 5445 | 5428 |
| 5446 void test_identical_map_false() { | 5429 void test_identical_map_false() { |
| 5447 _assertIdentical(_boolValue(false), _mapValue([]), | 5430 _assertIdentical(_boolValue(false), _mapValue(), |
| 5448 _mapValue([_intValue(1), _intValue(2)])); | 5431 _mapValue([_intValue(1), _intValue(2)])); |
| 5449 } | 5432 } |
| 5450 | 5433 |
| 5451 void test_identical_null() { | 5434 void test_identical_null() { |
| 5452 _assertIdentical(_boolValue(true), _nullValue(), _nullValue()); | 5435 _assertIdentical(_boolValue(true), _nullValue(), _nullValue()); |
| 5453 } | 5436 } |
| 5454 | 5437 |
| 5455 void test_identical_string_false() { | 5438 void test_identical_string_false() { |
| 5456 _assertIdentical( | 5439 _assertIdentical( |
| 5457 _boolValue(false), | 5440 _boolValue(false), |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5557 | 5540 |
| 5558 void test_isBoolNumStringOrNull_int_known() { | 5541 void test_isBoolNumStringOrNull_int_known() { |
| 5559 expect(_intValue(23).isBoolNumStringOrNull, isTrue); | 5542 expect(_intValue(23).isBoolNumStringOrNull, isTrue); |
| 5560 } | 5543 } |
| 5561 | 5544 |
| 5562 void test_isBoolNumStringOrNull_int_unknown() { | 5545 void test_isBoolNumStringOrNull_int_unknown() { |
| 5563 expect(_intValue(null).isBoolNumStringOrNull, isTrue); | 5546 expect(_intValue(null).isBoolNumStringOrNull, isTrue); |
| 5564 } | 5547 } |
| 5565 | 5548 |
| 5566 void test_isBoolNumStringOrNull_list() { | 5549 void test_isBoolNumStringOrNull_list() { |
| 5567 expect(_listValue([]).isBoolNumStringOrNull, isFalse); | 5550 expect(_listValue().isBoolNumStringOrNull, isFalse); |
| 5568 } | 5551 } |
| 5569 | 5552 |
| 5570 void test_isBoolNumStringOrNull_null() { | 5553 void test_isBoolNumStringOrNull_null() { |
| 5571 expect(_nullValue().isBoolNumStringOrNull, isTrue); | 5554 expect(_nullValue().isBoolNumStringOrNull, isTrue); |
| 5572 } | 5555 } |
| 5573 | 5556 |
| 5574 void test_isBoolNumStringOrNull_num() { | 5557 void test_isBoolNumStringOrNull_num() { |
| 5575 expect(_numValue().isBoolNumStringOrNull, isTrue); | 5558 expect(_numValue().isBoolNumStringOrNull, isTrue); |
| 5576 } | 5559 } |
| 5577 | 5560 |
| (...skipping 1354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6932 } | 6915 } |
| 6933 | 6916 |
| 6934 DartObjectImpl _intValue(int value) { | 6917 DartObjectImpl _intValue(int value) { |
| 6935 if (value == null) { | 6918 if (value == null) { |
| 6936 return new DartObjectImpl(_typeProvider.intType, IntState.UNKNOWN_VALUE); | 6919 return new DartObjectImpl(_typeProvider.intType, IntState.UNKNOWN_VALUE); |
| 6937 } else { | 6920 } else { |
| 6938 return new DartObjectImpl(_typeProvider.intType, new IntState(value)); | 6921 return new DartObjectImpl(_typeProvider.intType, new IntState(value)); |
| 6939 } | 6922 } |
| 6940 } | 6923 } |
| 6941 | 6924 |
| 6942 DartObjectImpl _listValue(List<DartObjectImpl> elements) { | 6925 DartObjectImpl _listValue([List<DartObjectImpl> elements = DartObjectImpl.EMPT
Y_LIST]) { |
| 6943 return new DartObjectImpl(_typeProvider.listType, new ListState(elements)); | 6926 return new DartObjectImpl(_typeProvider.listType, new ListState(elements)); |
| 6944 } | 6927 } |
| 6945 | 6928 |
| 6946 DartObjectImpl _mapValue(List<DartObjectImpl> keyElementPairs) { | 6929 DartObjectImpl _mapValue([List<DartObjectImpl> keyElementPairs = DartObjectImp
l.EMPTY_LIST]) { |
| 6947 Map<DartObjectImpl, DartObjectImpl> map = | 6930 Map<DartObjectImpl, DartObjectImpl> map = |
| 6948 new Map<DartObjectImpl, DartObjectImpl>(); | 6931 new Map<DartObjectImpl, DartObjectImpl>(); |
| 6949 int count = keyElementPairs.length; | 6932 int count = keyElementPairs.length; |
| 6950 for (int i = 0; i < count; ) { | 6933 for (int i = 0; i < count; ) { |
| 6951 map[keyElementPairs[i++]] = keyElementPairs[i++]; | 6934 map[keyElementPairs[i++]] = keyElementPairs[i++]; |
| 6952 } | 6935 } |
| 6953 return new DartObjectImpl(_typeProvider.mapType, new MapState(map)); | 6936 return new DartObjectImpl(_typeProvider.mapType, new MapState(map)); |
| 6954 } | 6937 } |
| 6955 | 6938 |
| 6956 DartObjectImpl _nullValue() { | 6939 DartObjectImpl _nullValue() { |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7247 } | 7230 } |
| 7248 | 7231 |
| 7249 | 7232 |
| 7250 class ElementBuilderTest extends EngineTestCase { | 7233 class ElementBuilderTest extends EngineTestCase { |
| 7251 void test_visitCatchClause() { | 7234 void test_visitCatchClause() { |
| 7252 ElementHolder holder = new ElementHolder(); | 7235 ElementHolder holder = new ElementHolder(); |
| 7253 ElementBuilder builder = new ElementBuilder(holder); | 7236 ElementBuilder builder = new ElementBuilder(holder); |
| 7254 String exceptionParameterName = "e"; | 7237 String exceptionParameterName = "e"; |
| 7255 String stackParameterName = "s"; | 7238 String stackParameterName = "s"; |
| 7256 CatchClause clause = | 7239 CatchClause clause = |
| 7257 AstFactory.catchClause2(exceptionParameterName, stackParameterName, []); | 7240 AstFactory.catchClause2(exceptionParameterName, stackParameterName); |
| 7258 clause.accept(builder); | 7241 clause.accept(builder); |
| 7259 List<LocalVariableElement> variables = holder.localVariables; | 7242 List<LocalVariableElement> variables = holder.localVariables; |
| 7260 expect(variables, hasLength(2)); | 7243 expect(variables, hasLength(2)); |
| 7261 VariableElement exceptionVariable = variables[0]; | 7244 VariableElement exceptionVariable = variables[0]; |
| 7262 expect(exceptionVariable, isNotNull); | 7245 expect(exceptionVariable, isNotNull); |
| 7263 expect(exceptionVariable.name, exceptionParameterName); | 7246 expect(exceptionVariable.name, exceptionParameterName); |
| 7264 expect(exceptionVariable.isSynthetic, isFalse); | 7247 expect(exceptionVariable.isSynthetic, isFalse); |
| 7265 expect(exceptionVariable.isConst, isFalse); | 7248 expect(exceptionVariable.isConst, isFalse); |
| 7266 expect(exceptionVariable.isFinal, isFalse); | 7249 expect(exceptionVariable.isFinal, isFalse); |
| 7267 expect(exceptionVariable.initializer, isNull); | 7250 expect(exceptionVariable.initializer, isNull); |
| 7268 VariableElement stackVariable = variables[1]; | 7251 VariableElement stackVariable = variables[1]; |
| 7269 expect(stackVariable, isNotNull); | 7252 expect(stackVariable, isNotNull); |
| 7270 expect(stackVariable.name, stackParameterName); | 7253 expect(stackVariable.name, stackParameterName); |
| 7271 expect(stackVariable.isSynthetic, isFalse); | 7254 expect(stackVariable.isSynthetic, isFalse); |
| 7272 expect(stackVariable.isConst, isFalse); | 7255 expect(stackVariable.isConst, isFalse); |
| 7273 expect(stackVariable.isFinal, isFalse); | 7256 expect(stackVariable.isFinal, isFalse); |
| 7274 expect(stackVariable.initializer, isNull); | 7257 expect(stackVariable.initializer, isNull); |
| 7275 } | 7258 } |
| 7276 | 7259 |
| 7277 void test_visitClassDeclaration_abstract() { | 7260 void test_visitClassDeclaration_abstract() { |
| 7278 ElementHolder holder = new ElementHolder(); | 7261 ElementHolder holder = new ElementHolder(); |
| 7279 ElementBuilder builder = new ElementBuilder(holder); | 7262 ElementBuilder builder = new ElementBuilder(holder); |
| 7280 String className = "C"; | 7263 String className = "C"; |
| 7281 ClassDeclaration classDeclaration = AstFactory.classDeclaration( | 7264 ClassDeclaration classDeclaration = AstFactory.classDeclaration( |
| 7282 Keyword.ABSTRACT, | 7265 Keyword.ABSTRACT, |
| 7283 className, | 7266 className, |
| 7284 null, | 7267 null, |
| 7285 null, | 7268 null, |
| 7286 null, | 7269 null, |
| 7287 null, | 7270 null); |
| 7288 []); | |
| 7289 classDeclaration.accept(builder); | 7271 classDeclaration.accept(builder); |
| 7290 List<ClassElement> types = holder.types; | 7272 List<ClassElement> types = holder.types; |
| 7291 expect(types, hasLength(1)); | 7273 expect(types, hasLength(1)); |
| 7292 ClassElement type = types[0]; | 7274 ClassElement type = types[0]; |
| 7293 expect(type, isNotNull); | 7275 expect(type, isNotNull); |
| 7294 expect(type.name, className); | 7276 expect(type.name, className); |
| 7295 List<TypeParameterElement> typeParameters = type.typeParameters; | 7277 List<TypeParameterElement> typeParameters = type.typeParameters; |
| 7296 expect(typeParameters, hasLength(0)); | 7278 expect(typeParameters, hasLength(0)); |
| 7297 expect(type.isAbstract, isTrue); | 7279 expect(type.isAbstract, isTrue); |
| 7298 expect(type.isSynthetic, isFalse); | 7280 expect(type.isSynthetic, isFalse); |
| 7299 } | 7281 } |
| 7300 | 7282 |
| 7301 void test_visitClassDeclaration_minimal() { | 7283 void test_visitClassDeclaration_minimal() { |
| 7302 ElementHolder holder = new ElementHolder(); | 7284 ElementHolder holder = new ElementHolder(); |
| 7303 ElementBuilder builder = new ElementBuilder(holder); | 7285 ElementBuilder builder = new ElementBuilder(holder); |
| 7304 String className = "C"; | 7286 String className = "C"; |
| 7305 ClassDeclaration classDeclaration = | 7287 ClassDeclaration classDeclaration = |
| 7306 AstFactory.classDeclaration(null, className, null, null, null, null, [])
; | 7288 AstFactory.classDeclaration(null, className, null, null, null, null); |
| 7307 classDeclaration.accept(builder); | 7289 classDeclaration.accept(builder); |
| 7308 List<ClassElement> types = holder.types; | 7290 List<ClassElement> types = holder.types; |
| 7309 expect(types, hasLength(1)); | 7291 expect(types, hasLength(1)); |
| 7310 ClassElement type = types[0]; | 7292 ClassElement type = types[0]; |
| 7311 expect(type, isNotNull); | 7293 expect(type, isNotNull); |
| 7312 expect(type.name, className); | 7294 expect(type.name, className); |
| 7313 List<TypeParameterElement> typeParameters = type.typeParameters; | 7295 List<TypeParameterElement> typeParameters = type.typeParameters; |
| 7314 expect(typeParameters, hasLength(0)); | 7296 expect(typeParameters, hasLength(0)); |
| 7315 expect(type.isAbstract, isFalse); | 7297 expect(type.isAbstract, isFalse); |
| 7316 expect(type.isSynthetic, isFalse); | 7298 expect(type.isSynthetic, isFalse); |
| 7317 } | 7299 } |
| 7318 | 7300 |
| 7319 void test_visitClassDeclaration_parameterized() { | 7301 void test_visitClassDeclaration_parameterized() { |
| 7320 ElementHolder holder = new ElementHolder(); | 7302 ElementHolder holder = new ElementHolder(); |
| 7321 ElementBuilder builder = new ElementBuilder(holder); | 7303 ElementBuilder builder = new ElementBuilder(holder); |
| 7322 String className = "C"; | 7304 String className = "C"; |
| 7323 String firstVariableName = "E"; | 7305 String firstVariableName = "E"; |
| 7324 String secondVariableName = "F"; | 7306 String secondVariableName = "F"; |
| 7325 ClassDeclaration classDeclaration = AstFactory.classDeclaration( | 7307 ClassDeclaration classDeclaration = AstFactory.classDeclaration( |
| 7326 null, | 7308 null, |
| 7327 className, | 7309 className, |
| 7328 AstFactory.typeParameterList([firstVariableName, secondVariableName]), | 7310 AstFactory.typeParameterList([firstVariableName, secondVariableName]), |
| 7329 null, | 7311 null, |
| 7330 null, | 7312 null, |
| 7331 null, | 7313 null); |
| 7332 []); | |
| 7333 classDeclaration.accept(builder); | 7314 classDeclaration.accept(builder); |
| 7334 List<ClassElement> types = holder.types; | 7315 List<ClassElement> types = holder.types; |
| 7335 expect(types, hasLength(1)); | 7316 expect(types, hasLength(1)); |
| 7336 ClassElement type = types[0]; | 7317 ClassElement type = types[0]; |
| 7337 expect(type, isNotNull); | 7318 expect(type, isNotNull); |
| 7338 expect(type.name, className); | 7319 expect(type.name, className); |
| 7339 List<TypeParameterElement> typeParameters = type.typeParameters; | 7320 List<TypeParameterElement> typeParameters = type.typeParameters; |
| 7340 expect(typeParameters, hasLength(2)); | 7321 expect(typeParameters, hasLength(2)); |
| 7341 expect(typeParameters[0].name, firstVariableName); | 7322 expect(typeParameters[0].name, firstVariableName); |
| 7342 expect(typeParameters[1].name, secondVariableName); | 7323 expect(typeParameters[1].name, secondVariableName); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 7362 AstFactory.fieldDeclaration2( | 7343 AstFactory.fieldDeclaration2( |
| 7363 false, | 7344 false, |
| 7364 null, | 7345 null, |
| 7365 [AstFactory.variableDeclaration(fieldName)]), | 7346 [AstFactory.variableDeclaration(fieldName)]), |
| 7366 AstFactory.methodDeclaration2( | 7347 AstFactory.methodDeclaration2( |
| 7367 null, | 7348 null, |
| 7368 null, | 7349 null, |
| 7369 null, | 7350 null, |
| 7370 null, | 7351 null, |
| 7371 AstFactory.identifier3(methodName), | 7352 AstFactory.identifier3(methodName), |
| 7372 AstFactory.formalParameterList([]), | 7353 AstFactory.formalParameterList(), |
| 7373 AstFactory.blockFunctionBody2([]))]); | 7354 AstFactory.blockFunctionBody2())]); |
| 7374 classDeclaration.accept(builder); | 7355 classDeclaration.accept(builder); |
| 7375 List<ClassElement> types = holder.types; | 7356 List<ClassElement> types = holder.types; |
| 7376 expect(types, hasLength(1)); | 7357 expect(types, hasLength(1)); |
| 7377 ClassElement type = types[0]; | 7358 ClassElement type = types[0]; |
| 7378 expect(type, isNotNull); | 7359 expect(type, isNotNull); |
| 7379 expect(type.name, className); | 7360 expect(type.name, className); |
| 7380 expect(type.isAbstract, isFalse); | 7361 expect(type.isAbstract, isFalse); |
| 7381 expect(type.isSynthetic, isFalse); | 7362 expect(type.isSynthetic, isFalse); |
| 7382 List<TypeParameterElement> typeParameters = type.typeParameters; | 7363 List<TypeParameterElement> typeParameters = type.typeParameters; |
| 7383 expect(typeParameters, hasLength(1)); | 7364 expect(typeParameters, hasLength(1)); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 7399 void test_visitConstructorDeclaration_factory() { | 7380 void test_visitConstructorDeclaration_factory() { |
| 7400 ElementHolder holder = new ElementHolder(); | 7381 ElementHolder holder = new ElementHolder(); |
| 7401 ElementBuilder builder = new ElementBuilder(holder); | 7382 ElementBuilder builder = new ElementBuilder(holder); |
| 7402 String className = "A"; | 7383 String className = "A"; |
| 7403 ConstructorDeclaration constructorDeclaration = | 7384 ConstructorDeclaration constructorDeclaration = |
| 7404 AstFactory.constructorDeclaration2( | 7385 AstFactory.constructorDeclaration2( |
| 7405 null, | 7386 null, |
| 7406 Keyword.FACTORY, | 7387 Keyword.FACTORY, |
| 7407 AstFactory.identifier3(className), | 7388 AstFactory.identifier3(className), |
| 7408 null, | 7389 null, |
| 7409 AstFactory.formalParameterList([]), | 7390 AstFactory.formalParameterList(), |
| 7410 null, | 7391 null, |
| 7411 AstFactory.blockFunctionBody2([])); | 7392 AstFactory.blockFunctionBody2()); |
| 7412 constructorDeclaration.accept(builder); | 7393 constructorDeclaration.accept(builder); |
| 7413 List<ConstructorElement> constructors = holder.constructors; | 7394 List<ConstructorElement> constructors = holder.constructors; |
| 7414 expect(constructors, hasLength(1)); | 7395 expect(constructors, hasLength(1)); |
| 7415 ConstructorElement constructor = constructors[0]; | 7396 ConstructorElement constructor = constructors[0]; |
| 7416 expect(constructor, isNotNull); | 7397 expect(constructor, isNotNull); |
| 7417 expect(constructor.isFactory, isTrue); | 7398 expect(constructor.isFactory, isTrue); |
| 7418 expect(constructor.name, ""); | 7399 expect(constructor.name, ""); |
| 7419 expect(constructor.functions, hasLength(0)); | 7400 expect(constructor.functions, hasLength(0)); |
| 7420 expect(constructor.labels, hasLength(0)); | 7401 expect(constructor.labels, hasLength(0)); |
| 7421 expect(constructor.localVariables, hasLength(0)); | 7402 expect(constructor.localVariables, hasLength(0)); |
| 7422 expect(constructor.parameters, hasLength(0)); | 7403 expect(constructor.parameters, hasLength(0)); |
| 7423 } | 7404 } |
| 7424 | 7405 |
| 7425 void test_visitConstructorDeclaration_minimal() { | 7406 void test_visitConstructorDeclaration_minimal() { |
| 7426 ElementHolder holder = new ElementHolder(); | 7407 ElementHolder holder = new ElementHolder(); |
| 7427 ElementBuilder builder = new ElementBuilder(holder); | 7408 ElementBuilder builder = new ElementBuilder(holder); |
| 7428 String className = "A"; | 7409 String className = "A"; |
| 7429 ConstructorDeclaration constructorDeclaration = | 7410 ConstructorDeclaration constructorDeclaration = |
| 7430 AstFactory.constructorDeclaration2( | 7411 AstFactory.constructorDeclaration2( |
| 7431 null, | 7412 null, |
| 7432 null, | 7413 null, |
| 7433 AstFactory.identifier3(className), | 7414 AstFactory.identifier3(className), |
| 7434 null, | 7415 null, |
| 7435 AstFactory.formalParameterList([]), | 7416 AstFactory.formalParameterList(), |
| 7436 null, | 7417 null, |
| 7437 AstFactory.blockFunctionBody2([])); | 7418 AstFactory.blockFunctionBody2()); |
| 7438 constructorDeclaration.accept(builder); | 7419 constructorDeclaration.accept(builder); |
| 7439 List<ConstructorElement> constructors = holder.constructors; | 7420 List<ConstructorElement> constructors = holder.constructors; |
| 7440 expect(constructors, hasLength(1)); | 7421 expect(constructors, hasLength(1)); |
| 7441 ConstructorElement constructor = constructors[0]; | 7422 ConstructorElement constructor = constructors[0]; |
| 7442 expect(constructor, isNotNull); | 7423 expect(constructor, isNotNull); |
| 7443 expect(constructor.isFactory, isFalse); | 7424 expect(constructor.isFactory, isFalse); |
| 7444 expect(constructor.name, ""); | 7425 expect(constructor.name, ""); |
| 7445 expect(constructor.functions, hasLength(0)); | 7426 expect(constructor.functions, hasLength(0)); |
| 7446 expect(constructor.labels, hasLength(0)); | 7427 expect(constructor.labels, hasLength(0)); |
| 7447 expect(constructor.localVariables, hasLength(0)); | 7428 expect(constructor.localVariables, hasLength(0)); |
| 7448 expect(constructor.parameters, hasLength(0)); | 7429 expect(constructor.parameters, hasLength(0)); |
| 7449 } | 7430 } |
| 7450 | 7431 |
| 7451 void test_visitConstructorDeclaration_named() { | 7432 void test_visitConstructorDeclaration_named() { |
| 7452 ElementHolder holder = new ElementHolder(); | 7433 ElementHolder holder = new ElementHolder(); |
| 7453 ElementBuilder builder = new ElementBuilder(holder); | 7434 ElementBuilder builder = new ElementBuilder(holder); |
| 7454 String className = "A"; | 7435 String className = "A"; |
| 7455 String constructorName = "c"; | 7436 String constructorName = "c"; |
| 7456 ConstructorDeclaration constructorDeclaration = | 7437 ConstructorDeclaration constructorDeclaration = |
| 7457 AstFactory.constructorDeclaration2( | 7438 AstFactory.constructorDeclaration2( |
| 7458 null, | 7439 null, |
| 7459 null, | 7440 null, |
| 7460 AstFactory.identifier3(className), | 7441 AstFactory.identifier3(className), |
| 7461 constructorName, | 7442 constructorName, |
| 7462 AstFactory.formalParameterList([]), | 7443 AstFactory.formalParameterList(), |
| 7463 null, | 7444 null, |
| 7464 AstFactory.blockFunctionBody2([])); | 7445 AstFactory.blockFunctionBody2()); |
| 7465 constructorDeclaration.accept(builder); | 7446 constructorDeclaration.accept(builder); |
| 7466 List<ConstructorElement> constructors = holder.constructors; | 7447 List<ConstructorElement> constructors = holder.constructors; |
| 7467 expect(constructors, hasLength(1)); | 7448 expect(constructors, hasLength(1)); |
| 7468 ConstructorElement constructor = constructors[0]; | 7449 ConstructorElement constructor = constructors[0]; |
| 7469 expect(constructor, isNotNull); | 7450 expect(constructor, isNotNull); |
| 7470 expect(constructor.isFactory, isFalse); | 7451 expect(constructor.isFactory, isFalse); |
| 7471 expect(constructor.name, constructorName); | 7452 expect(constructor.name, constructorName); |
| 7472 expect(constructor.functions, hasLength(0)); | 7453 expect(constructor.functions, hasLength(0)); |
| 7473 expect(constructor.labels, hasLength(0)); | 7454 expect(constructor.labels, hasLength(0)); |
| 7474 expect(constructor.localVariables, hasLength(0)); | 7455 expect(constructor.localVariables, hasLength(0)); |
| 7475 expect(constructor.parameters, hasLength(0)); | 7456 expect(constructor.parameters, hasLength(0)); |
| 7476 expect(constructorDeclaration.name.staticElement, same(constructor)); | 7457 expect(constructorDeclaration.name.staticElement, same(constructor)); |
| 7477 expect(constructorDeclaration.element, same(constructor)); | 7458 expect(constructorDeclaration.element, same(constructor)); |
| 7478 } | 7459 } |
| 7479 | 7460 |
| 7480 void test_visitConstructorDeclaration_unnamed() { | 7461 void test_visitConstructorDeclaration_unnamed() { |
| 7481 ElementHolder holder = new ElementHolder(); | 7462 ElementHolder holder = new ElementHolder(); |
| 7482 ElementBuilder builder = new ElementBuilder(holder); | 7463 ElementBuilder builder = new ElementBuilder(holder); |
| 7483 String className = "A"; | 7464 String className = "A"; |
| 7484 ConstructorDeclaration constructorDeclaration = | 7465 ConstructorDeclaration constructorDeclaration = |
| 7485 AstFactory.constructorDeclaration2( | 7466 AstFactory.constructorDeclaration2( |
| 7486 null, | 7467 null, |
| 7487 null, | 7468 null, |
| 7488 AstFactory.identifier3(className), | 7469 AstFactory.identifier3(className), |
| 7489 null, | 7470 null, |
| 7490 AstFactory.formalParameterList([]), | 7471 AstFactory.formalParameterList(), |
| 7491 null, | 7472 null, |
| 7492 AstFactory.blockFunctionBody2([])); | 7473 AstFactory.blockFunctionBody2()); |
| 7493 constructorDeclaration.accept(builder); | 7474 constructorDeclaration.accept(builder); |
| 7494 List<ConstructorElement> constructors = holder.constructors; | 7475 List<ConstructorElement> constructors = holder.constructors; |
| 7495 expect(constructors, hasLength(1)); | 7476 expect(constructors, hasLength(1)); |
| 7496 ConstructorElement constructor = constructors[0]; | 7477 ConstructorElement constructor = constructors[0]; |
| 7497 expect(constructor, isNotNull); | 7478 expect(constructor, isNotNull); |
| 7498 expect(constructor.isFactory, isFalse); | 7479 expect(constructor.isFactory, isFalse); |
| 7499 expect(constructor.name, ""); | 7480 expect(constructor.name, ""); |
| 7500 expect(constructor.functions, hasLength(0)); | 7481 expect(constructor.functions, hasLength(0)); |
| 7501 expect(constructor.labels, hasLength(0)); | 7482 expect(constructor.labels, hasLength(0)); |
| 7502 expect(constructor.localVariables, hasLength(0)); | 7483 expect(constructor.localVariables, hasLength(0)); |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7609 | 7590 |
| 7610 void test_visitFunctionDeclaration_getter() { | 7591 void test_visitFunctionDeclaration_getter() { |
| 7611 ElementHolder holder = new ElementHolder(); | 7592 ElementHolder holder = new ElementHolder(); |
| 7612 ElementBuilder builder = new ElementBuilder(holder); | 7593 ElementBuilder builder = new ElementBuilder(holder); |
| 7613 String functionName = "f"; | 7594 String functionName = "f"; |
| 7614 FunctionDeclaration declaration = AstFactory.functionDeclaration( | 7595 FunctionDeclaration declaration = AstFactory.functionDeclaration( |
| 7615 null, | 7596 null, |
| 7616 Keyword.GET, | 7597 Keyword.GET, |
| 7617 functionName, | 7598 functionName, |
| 7618 AstFactory.functionExpression2( | 7599 AstFactory.functionExpression2( |
| 7619 AstFactory.formalParameterList([]), | 7600 AstFactory.formalParameterList(), |
| 7620 AstFactory.blockFunctionBody2([]))); | 7601 AstFactory.blockFunctionBody2())); |
| 7621 declaration.accept(builder); | 7602 declaration.accept(builder); |
| 7622 List<PropertyAccessorElement> accessors = holder.accessors; | 7603 List<PropertyAccessorElement> accessors = holder.accessors; |
| 7623 expect(accessors, hasLength(1)); | 7604 expect(accessors, hasLength(1)); |
| 7624 PropertyAccessorElement accessor = accessors[0]; | 7605 PropertyAccessorElement accessor = accessors[0]; |
| 7625 expect(accessor, isNotNull); | 7606 expect(accessor, isNotNull); |
| 7626 expect(accessor.name, functionName); | 7607 expect(accessor.name, functionName); |
| 7627 expect(declaration.element, same(accessor)); | 7608 expect(declaration.element, same(accessor)); |
| 7628 expect(declaration.functionExpression.element, same(accessor)); | 7609 expect(declaration.functionExpression.element, same(accessor)); |
| 7629 expect(accessor.isGetter, isTrue); | 7610 expect(accessor.isGetter, isTrue); |
| 7630 expect(accessor.isSetter, isFalse); | 7611 expect(accessor.isSetter, isFalse); |
| 7631 expect(accessor.isSynthetic, isFalse); | 7612 expect(accessor.isSynthetic, isFalse); |
| 7632 PropertyInducingElement variable = accessor.variable; | 7613 PropertyInducingElement variable = accessor.variable; |
| 7633 EngineTestCase.assertInstanceOf( | 7614 EngineTestCase.assertInstanceOf( |
| 7634 (obj) => obj is TopLevelVariableElement, | 7615 (obj) => obj is TopLevelVariableElement, |
| 7635 TopLevelVariableElement, | 7616 TopLevelVariableElement, |
| 7636 variable); | 7617 variable); |
| 7637 expect(variable.isSynthetic, isTrue); | 7618 expect(variable.isSynthetic, isTrue); |
| 7638 } | 7619 } |
| 7639 | 7620 |
| 7640 void test_visitFunctionDeclaration_plain() { | 7621 void test_visitFunctionDeclaration_plain() { |
| 7641 ElementHolder holder = new ElementHolder(); | 7622 ElementHolder holder = new ElementHolder(); |
| 7642 ElementBuilder builder = new ElementBuilder(holder); | 7623 ElementBuilder builder = new ElementBuilder(holder); |
| 7643 String functionName = "f"; | 7624 String functionName = "f"; |
| 7644 FunctionDeclaration declaration = AstFactory.functionDeclaration( | 7625 FunctionDeclaration declaration = AstFactory.functionDeclaration( |
| 7645 null, | 7626 null, |
| 7646 null, | 7627 null, |
| 7647 functionName, | 7628 functionName, |
| 7648 AstFactory.functionExpression2( | 7629 AstFactory.functionExpression2( |
| 7649 AstFactory.formalParameterList([]), | 7630 AstFactory.formalParameterList(), |
| 7650 AstFactory.blockFunctionBody2([]))); | 7631 AstFactory.blockFunctionBody2())); |
| 7651 declaration.accept(builder); | 7632 declaration.accept(builder); |
| 7652 List<FunctionElement> functions = holder.functions; | 7633 List<FunctionElement> functions = holder.functions; |
| 7653 expect(functions, hasLength(1)); | 7634 expect(functions, hasLength(1)); |
| 7654 FunctionElement function = functions[0]; | 7635 FunctionElement function = functions[0]; |
| 7655 expect(function, isNotNull); | 7636 expect(function, isNotNull); |
| 7656 expect(function.name, functionName); | 7637 expect(function.name, functionName); |
| 7657 expect(declaration.element, same(function)); | 7638 expect(declaration.element, same(function)); |
| 7658 expect(declaration.functionExpression.element, same(function)); | 7639 expect(declaration.functionExpression.element, same(function)); |
| 7659 expect(function.isSynthetic, isFalse); | 7640 expect(function.isSynthetic, isFalse); |
| 7660 } | 7641 } |
| 7661 | 7642 |
| 7662 void test_visitFunctionDeclaration_setter() { | 7643 void test_visitFunctionDeclaration_setter() { |
| 7663 ElementHolder holder = new ElementHolder(); | 7644 ElementHolder holder = new ElementHolder(); |
| 7664 ElementBuilder builder = new ElementBuilder(holder); | 7645 ElementBuilder builder = new ElementBuilder(holder); |
| 7665 String functionName = "f"; | 7646 String functionName = "f"; |
| 7666 FunctionDeclaration declaration = AstFactory.functionDeclaration( | 7647 FunctionDeclaration declaration = AstFactory.functionDeclaration( |
| 7667 null, | 7648 null, |
| 7668 Keyword.SET, | 7649 Keyword.SET, |
| 7669 functionName, | 7650 functionName, |
| 7670 AstFactory.functionExpression2( | 7651 AstFactory.functionExpression2( |
| 7671 AstFactory.formalParameterList([]), | 7652 AstFactory.formalParameterList(), |
| 7672 AstFactory.blockFunctionBody2([]))); | 7653 AstFactory.blockFunctionBody2())); |
| 7673 declaration.accept(builder); | 7654 declaration.accept(builder); |
| 7674 List<PropertyAccessorElement> accessors = holder.accessors; | 7655 List<PropertyAccessorElement> accessors = holder.accessors; |
| 7675 expect(accessors, hasLength(1)); | 7656 expect(accessors, hasLength(1)); |
| 7676 PropertyAccessorElement accessor = accessors[0]; | 7657 PropertyAccessorElement accessor = accessors[0]; |
| 7677 expect(accessor, isNotNull); | 7658 expect(accessor, isNotNull); |
| 7678 expect(accessor.name, "$functionName="); | 7659 expect(accessor.name, "$functionName="); |
| 7679 expect(declaration.element, same(accessor)); | 7660 expect(declaration.element, same(accessor)); |
| 7680 expect(declaration.functionExpression.element, same(accessor)); | 7661 expect(declaration.functionExpression.element, same(accessor)); |
| 7681 expect(accessor.isGetter, isFalse); | 7662 expect(accessor.isGetter, isFalse); |
| 7682 expect(accessor.isSetter, isTrue); | 7663 expect(accessor.isSetter, isTrue); |
| 7683 expect(accessor.isSynthetic, isFalse); | 7664 expect(accessor.isSynthetic, isFalse); |
| 7684 PropertyInducingElement variable = accessor.variable; | 7665 PropertyInducingElement variable = accessor.variable; |
| 7685 EngineTestCase.assertInstanceOf( | 7666 EngineTestCase.assertInstanceOf( |
| 7686 (obj) => obj is TopLevelVariableElement, | 7667 (obj) => obj is TopLevelVariableElement, |
| 7687 TopLevelVariableElement, | 7668 TopLevelVariableElement, |
| 7688 variable); | 7669 variable); |
| 7689 expect(variable.isSynthetic, isTrue); | 7670 expect(variable.isSynthetic, isTrue); |
| 7690 } | 7671 } |
| 7691 | 7672 |
| 7692 void test_visitFunctionExpression() { | 7673 void test_visitFunctionExpression() { |
| 7693 ElementHolder holder = new ElementHolder(); | 7674 ElementHolder holder = new ElementHolder(); |
| 7694 ElementBuilder builder = new ElementBuilder(holder); | 7675 ElementBuilder builder = new ElementBuilder(holder); |
| 7695 FunctionExpression expression = AstFactory.functionExpression2( | 7676 FunctionExpression expression = AstFactory.functionExpression2( |
| 7696 AstFactory.formalParameterList([]), | 7677 AstFactory.formalParameterList(), |
| 7697 AstFactory.blockFunctionBody2([])); | 7678 AstFactory.blockFunctionBody2()); |
| 7698 expression.accept(builder); | 7679 expression.accept(builder); |
| 7699 List<FunctionElement> functions = holder.functions; | 7680 List<FunctionElement> functions = holder.functions; |
| 7700 expect(functions, hasLength(1)); | 7681 expect(functions, hasLength(1)); |
| 7701 FunctionElement function = functions[0]; | 7682 FunctionElement function = functions[0]; |
| 7702 expect(function, isNotNull); | 7683 expect(function, isNotNull); |
| 7703 expect(expression.element, same(function)); | 7684 expect(expression.element, same(function)); |
| 7704 expect(function.isSynthetic, isFalse); | 7685 expect(function.isSynthetic, isFalse); |
| 7705 } | 7686 } |
| 7706 | 7687 |
| 7707 void test_visitFunctionTypeAlias() { | 7688 void test_visitFunctionTypeAlias() { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 7726 TypeParameterElement typeParameter = typeParameters[0]; | 7707 TypeParameterElement typeParameter = typeParameters[0]; |
| 7727 expect(typeParameter, isNotNull); | 7708 expect(typeParameter, isNotNull); |
| 7728 expect(typeParameter.name, parameterName); | 7709 expect(typeParameter.name, parameterName); |
| 7729 } | 7710 } |
| 7730 | 7711 |
| 7731 void test_visitFunctionTypedFormalParameter() { | 7712 void test_visitFunctionTypedFormalParameter() { |
| 7732 ElementHolder holder = new ElementHolder(); | 7713 ElementHolder holder = new ElementHolder(); |
| 7733 ElementBuilder builder = new ElementBuilder(holder); | 7714 ElementBuilder builder = new ElementBuilder(holder); |
| 7734 String parameterName = "p"; | 7715 String parameterName = "p"; |
| 7735 FunctionTypedFormalParameter formalParameter = | 7716 FunctionTypedFormalParameter formalParameter = |
| 7736 AstFactory.functionTypedFormalParameter(null, parameterName, []); | 7717 AstFactory.functionTypedFormalParameter(null, parameterName); |
| 7737 _useParameterInMethod(formalParameter, 100, 110); | 7718 _useParameterInMethod(formalParameter, 100, 110); |
| 7738 formalParameter.accept(builder); | 7719 formalParameter.accept(builder); |
| 7739 List<ParameterElement> parameters = holder.parameters; | 7720 List<ParameterElement> parameters = holder.parameters; |
| 7740 expect(parameters, hasLength(1)); | 7721 expect(parameters, hasLength(1)); |
| 7741 ParameterElement parameter = parameters[0]; | 7722 ParameterElement parameter = parameters[0]; |
| 7742 expect(parameter, isNotNull); | 7723 expect(parameter, isNotNull); |
| 7743 expect(parameter.name, parameterName); | 7724 expect(parameter.name, parameterName); |
| 7744 expect(parameter.initializer, isNull); | 7725 expect(parameter.initializer, isNull); |
| 7745 expect(parameter.isConst, isFalse); | 7726 expect(parameter.isConst, isFalse); |
| 7746 expect(parameter.isFinal, isFalse); | 7727 expect(parameter.isFinal, isFalse); |
| 7747 expect(parameter.isSynthetic, isFalse); | 7728 expect(parameter.isSynthetic, isFalse); |
| 7748 expect(parameter.parameterKind, ParameterKind.REQUIRED); | 7729 expect(parameter.parameterKind, ParameterKind.REQUIRED); |
| 7749 { | 7730 { |
| 7750 SourceRange visibleRange = parameter.visibleRange; | 7731 SourceRange visibleRange = parameter.visibleRange; |
| 7751 expect(100, visibleRange.offset); | 7732 expect(100, visibleRange.offset); |
| 7752 expect(110, visibleRange.end); | 7733 expect(110, visibleRange.end); |
| 7753 } | 7734 } |
| 7754 } | 7735 } |
| 7755 | 7736 |
| 7756 void test_visitLabeledStatement() { | 7737 void test_visitLabeledStatement() { |
| 7757 ElementHolder holder = new ElementHolder(); | 7738 ElementHolder holder = new ElementHolder(); |
| 7758 ElementBuilder builder = new ElementBuilder(holder); | 7739 ElementBuilder builder = new ElementBuilder(holder); |
| 7759 String labelName = "l"; | 7740 String labelName = "l"; |
| 7760 LabeledStatement statement = AstFactory.labeledStatement( | 7741 LabeledStatement statement = AstFactory.labeledStatement( |
| 7761 AstFactory.list([AstFactory.label2(labelName)]), | 7742 [AstFactory.label2(labelName)], |
| 7762 AstFactory.breakStatement()); | 7743 AstFactory.breakStatement()); |
| 7763 statement.accept(builder); | 7744 statement.accept(builder); |
| 7764 List<LabelElement> labels = holder.labels; | 7745 List<LabelElement> labels = holder.labels; |
| 7765 expect(labels, hasLength(1)); | 7746 expect(labels, hasLength(1)); |
| 7766 LabelElement label = labels[0]; | 7747 LabelElement label = labels[0]; |
| 7767 expect(label, isNotNull); | 7748 expect(label, isNotNull); |
| 7768 expect(label.name, labelName); | 7749 expect(label.name, labelName); |
| 7769 expect(label.isSynthetic, isFalse); | 7750 expect(label.isSynthetic, isFalse); |
| 7770 } | 7751 } |
| 7771 | 7752 |
| 7772 void test_visitMethodDeclaration_abstract() { | 7753 void test_visitMethodDeclaration_abstract() { |
| 7773 ElementHolder holder = new ElementHolder(); | 7754 ElementHolder holder = new ElementHolder(); |
| 7774 ElementBuilder builder = new ElementBuilder(holder); | 7755 ElementBuilder builder = new ElementBuilder(holder); |
| 7775 String methodName = "m"; | 7756 String methodName = "m"; |
| 7776 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( | 7757 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( |
| 7777 null, | 7758 null, |
| 7778 null, | 7759 null, |
| 7779 null, | 7760 null, |
| 7780 null, | 7761 null, |
| 7781 AstFactory.identifier3(methodName), | 7762 AstFactory.identifier3(methodName), |
| 7782 AstFactory.formalParameterList([]), | 7763 AstFactory.formalParameterList(), |
| 7783 AstFactory.emptyFunctionBody()); | 7764 AstFactory.emptyFunctionBody()); |
| 7784 methodDeclaration.accept(builder); | 7765 methodDeclaration.accept(builder); |
| 7785 List<MethodElement> methods = holder.methods; | 7766 List<MethodElement> methods = holder.methods; |
| 7786 expect(methods, hasLength(1)); | 7767 expect(methods, hasLength(1)); |
| 7787 MethodElement method = methods[0]; | 7768 MethodElement method = methods[0]; |
| 7788 expect(method, isNotNull); | 7769 expect(method, isNotNull); |
| 7789 expect(method.name, methodName); | 7770 expect(method.name, methodName); |
| 7790 expect(method.functions, hasLength(0)); | 7771 expect(method.functions, hasLength(0)); |
| 7791 expect(method.labels, hasLength(0)); | 7772 expect(method.labels, hasLength(0)); |
| 7792 expect(method.localVariables, hasLength(0)); | 7773 expect(method.localVariables, hasLength(0)); |
| 7793 expect(method.parameters, hasLength(0)); | 7774 expect(method.parameters, hasLength(0)); |
| 7794 expect(method.isAbstract, isTrue); | 7775 expect(method.isAbstract, isTrue); |
| 7795 expect(method.isStatic, isFalse); | 7776 expect(method.isStatic, isFalse); |
| 7796 expect(method.isSynthetic, isFalse); | 7777 expect(method.isSynthetic, isFalse); |
| 7797 } | 7778 } |
| 7798 | 7779 |
| 7799 void test_visitMethodDeclaration_getter() { | 7780 void test_visitMethodDeclaration_getter() { |
| 7800 ElementHolder holder = new ElementHolder(); | 7781 ElementHolder holder = new ElementHolder(); |
| 7801 ElementBuilder builder = new ElementBuilder(holder); | 7782 ElementBuilder builder = new ElementBuilder(holder); |
| 7802 String methodName = "m"; | 7783 String methodName = "m"; |
| 7803 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( | 7784 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( |
| 7804 null, | 7785 null, |
| 7805 null, | 7786 null, |
| 7806 Keyword.GET, | 7787 Keyword.GET, |
| 7807 null, | 7788 null, |
| 7808 AstFactory.identifier3(methodName), | 7789 AstFactory.identifier3(methodName), |
| 7809 AstFactory.formalParameterList([]), | 7790 AstFactory.formalParameterList(), |
| 7810 AstFactory.blockFunctionBody2([])); | 7791 AstFactory.blockFunctionBody2()); |
| 7811 methodDeclaration.accept(builder); | 7792 methodDeclaration.accept(builder); |
| 7812 List<FieldElement> fields = holder.fields; | 7793 List<FieldElement> fields = holder.fields; |
| 7813 expect(fields, hasLength(1)); | 7794 expect(fields, hasLength(1)); |
| 7814 FieldElement field = fields[0]; | 7795 FieldElement field = fields[0]; |
| 7815 expect(field, isNotNull); | 7796 expect(field, isNotNull); |
| 7816 expect(field.name, methodName); | 7797 expect(field.name, methodName); |
| 7817 expect(field.isSynthetic, isTrue); | 7798 expect(field.isSynthetic, isTrue); |
| 7818 expect(field.setter, isNull); | 7799 expect(field.setter, isNull); |
| 7819 PropertyAccessorElement getter = field.getter; | 7800 PropertyAccessorElement getter = field.getter; |
| 7820 expect(getter, isNotNull); | 7801 expect(getter, isNotNull); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 7832 void test_visitMethodDeclaration_getter_abstract() { | 7813 void test_visitMethodDeclaration_getter_abstract() { |
| 7833 ElementHolder holder = new ElementHolder(); | 7814 ElementHolder holder = new ElementHolder(); |
| 7834 ElementBuilder builder = new ElementBuilder(holder); | 7815 ElementBuilder builder = new ElementBuilder(holder); |
| 7835 String methodName = "m"; | 7816 String methodName = "m"; |
| 7836 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( | 7817 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( |
| 7837 null, | 7818 null, |
| 7838 null, | 7819 null, |
| 7839 Keyword.GET, | 7820 Keyword.GET, |
| 7840 null, | 7821 null, |
| 7841 AstFactory.identifier3(methodName), | 7822 AstFactory.identifier3(methodName), |
| 7842 AstFactory.formalParameterList([]), | 7823 AstFactory.formalParameterList(), |
| 7843 AstFactory.emptyFunctionBody()); | 7824 AstFactory.emptyFunctionBody()); |
| 7844 methodDeclaration.accept(builder); | 7825 methodDeclaration.accept(builder); |
| 7845 List<FieldElement> fields = holder.fields; | 7826 List<FieldElement> fields = holder.fields; |
| 7846 expect(fields, hasLength(1)); | 7827 expect(fields, hasLength(1)); |
| 7847 FieldElement field = fields[0]; | 7828 FieldElement field = fields[0]; |
| 7848 expect(field, isNotNull); | 7829 expect(field, isNotNull); |
| 7849 expect(field.name, methodName); | 7830 expect(field.name, methodName); |
| 7850 expect(field.isSynthetic, isTrue); | 7831 expect(field.isSynthetic, isTrue); |
| 7851 expect(field.setter, isNull); | 7832 expect(field.setter, isNull); |
| 7852 PropertyAccessorElement getter = field.getter; | 7833 PropertyAccessorElement getter = field.getter; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 7865 void test_visitMethodDeclaration_getter_external() { | 7846 void test_visitMethodDeclaration_getter_external() { |
| 7866 ElementHolder holder = new ElementHolder(); | 7847 ElementHolder holder = new ElementHolder(); |
| 7867 ElementBuilder builder = new ElementBuilder(holder); | 7848 ElementBuilder builder = new ElementBuilder(holder); |
| 7868 String methodName = "m"; | 7849 String methodName = "m"; |
| 7869 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration( | 7850 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration( |
| 7870 null, | 7851 null, |
| 7871 null, | 7852 null, |
| 7872 Keyword.GET, | 7853 Keyword.GET, |
| 7873 null, | 7854 null, |
| 7874 AstFactory.identifier3(methodName), | 7855 AstFactory.identifier3(methodName), |
| 7875 AstFactory.formalParameterList([])); | 7856 AstFactory.formalParameterList()); |
| 7876 methodDeclaration.accept(builder); | 7857 methodDeclaration.accept(builder); |
| 7877 List<FieldElement> fields = holder.fields; | 7858 List<FieldElement> fields = holder.fields; |
| 7878 expect(fields, hasLength(1)); | 7859 expect(fields, hasLength(1)); |
| 7879 FieldElement field = fields[0]; | 7860 FieldElement field = fields[0]; |
| 7880 expect(field, isNotNull); | 7861 expect(field, isNotNull); |
| 7881 expect(field.name, methodName); | 7862 expect(field.name, methodName); |
| 7882 expect(field.isSynthetic, isTrue); | 7863 expect(field.isSynthetic, isTrue); |
| 7883 expect(field.setter, isNull); | 7864 expect(field.setter, isNull); |
| 7884 PropertyAccessorElement getter = field.getter; | 7865 PropertyAccessorElement getter = field.getter; |
| 7885 expect(getter, isNotNull); | 7866 expect(getter, isNotNull); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 7897 void test_visitMethodDeclaration_minimal() { | 7878 void test_visitMethodDeclaration_minimal() { |
| 7898 ElementHolder holder = new ElementHolder(); | 7879 ElementHolder holder = new ElementHolder(); |
| 7899 ElementBuilder builder = new ElementBuilder(holder); | 7880 ElementBuilder builder = new ElementBuilder(holder); |
| 7900 String methodName = "m"; | 7881 String methodName = "m"; |
| 7901 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( | 7882 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( |
| 7902 null, | 7883 null, |
| 7903 null, | 7884 null, |
| 7904 null, | 7885 null, |
| 7905 null, | 7886 null, |
| 7906 AstFactory.identifier3(methodName), | 7887 AstFactory.identifier3(methodName), |
| 7907 AstFactory.formalParameterList([]), | 7888 AstFactory.formalParameterList(), |
| 7908 AstFactory.blockFunctionBody2([])); | 7889 AstFactory.blockFunctionBody2()); |
| 7909 methodDeclaration.accept(builder); | 7890 methodDeclaration.accept(builder); |
| 7910 List<MethodElement> methods = holder.methods; | 7891 List<MethodElement> methods = holder.methods; |
| 7911 expect(methods, hasLength(1)); | 7892 expect(methods, hasLength(1)); |
| 7912 MethodElement method = methods[0]; | 7893 MethodElement method = methods[0]; |
| 7913 expect(method, isNotNull); | 7894 expect(method, isNotNull); |
| 7914 expect(method.name, methodName); | 7895 expect(method.name, methodName); |
| 7915 expect(method.functions, hasLength(0)); | 7896 expect(method.functions, hasLength(0)); |
| 7916 expect(method.labels, hasLength(0)); | 7897 expect(method.labels, hasLength(0)); |
| 7917 expect(method.localVariables, hasLength(0)); | 7898 expect(method.localVariables, hasLength(0)); |
| 7918 expect(method.parameters, hasLength(0)); | 7899 expect(method.parameters, hasLength(0)); |
| 7919 expect(method.isAbstract, isFalse); | 7900 expect(method.isAbstract, isFalse); |
| 7920 expect(method.isStatic, isFalse); | 7901 expect(method.isStatic, isFalse); |
| 7921 expect(method.isSynthetic, isFalse); | 7902 expect(method.isSynthetic, isFalse); |
| 7922 } | 7903 } |
| 7923 | 7904 |
| 7924 void test_visitMethodDeclaration_operator() { | 7905 void test_visitMethodDeclaration_operator() { |
| 7925 ElementHolder holder = new ElementHolder(); | 7906 ElementHolder holder = new ElementHolder(); |
| 7926 ElementBuilder builder = new ElementBuilder(holder); | 7907 ElementBuilder builder = new ElementBuilder(holder); |
| 7927 String methodName = "+"; | 7908 String methodName = "+"; |
| 7928 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( | 7909 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( |
| 7929 null, | 7910 null, |
| 7930 null, | 7911 null, |
| 7931 null, | 7912 null, |
| 7932 Keyword.OPERATOR, | 7913 Keyword.OPERATOR, |
| 7933 AstFactory.identifier3(methodName), | 7914 AstFactory.identifier3(methodName), |
| 7934 AstFactory.formalParameterList([AstFactory.simpleFormalParameter3("adden
d")]), | 7915 AstFactory.formalParameterList([AstFactory.simpleFormalParameter3("adden
d")]), |
| 7935 AstFactory.blockFunctionBody2([])); | 7916 AstFactory.blockFunctionBody2()); |
| 7936 methodDeclaration.accept(builder); | 7917 methodDeclaration.accept(builder); |
| 7937 List<MethodElement> methods = holder.methods; | 7918 List<MethodElement> methods = holder.methods; |
| 7938 expect(methods, hasLength(1)); | 7919 expect(methods, hasLength(1)); |
| 7939 MethodElement method = methods[0]; | 7920 MethodElement method = methods[0]; |
| 7940 expect(method, isNotNull); | 7921 expect(method, isNotNull); |
| 7941 expect(method.name, methodName); | 7922 expect(method.name, methodName); |
| 7942 expect(method.functions, hasLength(0)); | 7923 expect(method.functions, hasLength(0)); |
| 7943 expect(method.labels, hasLength(0)); | 7924 expect(method.labels, hasLength(0)); |
| 7944 expect(method.localVariables, hasLength(0)); | 7925 expect(method.localVariables, hasLength(0)); |
| 7945 expect(method.parameters, hasLength(1)); | 7926 expect(method.parameters, hasLength(1)); |
| 7946 expect(method.isAbstract, isFalse); | 7927 expect(method.isAbstract, isFalse); |
| 7947 expect(method.isStatic, isFalse); | 7928 expect(method.isStatic, isFalse); |
| 7948 expect(method.isSynthetic, isFalse); | 7929 expect(method.isSynthetic, isFalse); |
| 7949 } | 7930 } |
| 7950 | 7931 |
| 7951 void test_visitMethodDeclaration_setter() { | 7932 void test_visitMethodDeclaration_setter() { |
| 7952 ElementHolder holder = new ElementHolder(); | 7933 ElementHolder holder = new ElementHolder(); |
| 7953 ElementBuilder builder = new ElementBuilder(holder); | 7934 ElementBuilder builder = new ElementBuilder(holder); |
| 7954 String methodName = "m"; | 7935 String methodName = "m"; |
| 7955 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( | 7936 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( |
| 7956 null, | 7937 null, |
| 7957 null, | 7938 null, |
| 7958 Keyword.SET, | 7939 Keyword.SET, |
| 7959 null, | 7940 null, |
| 7960 AstFactory.identifier3(methodName), | 7941 AstFactory.identifier3(methodName), |
| 7961 AstFactory.formalParameterList([]), | 7942 AstFactory.formalParameterList(), |
| 7962 AstFactory.blockFunctionBody2([])); | 7943 AstFactory.blockFunctionBody2()); |
| 7963 methodDeclaration.accept(builder); | 7944 methodDeclaration.accept(builder); |
| 7964 List<FieldElement> fields = holder.fields; | 7945 List<FieldElement> fields = holder.fields; |
| 7965 expect(fields, hasLength(1)); | 7946 expect(fields, hasLength(1)); |
| 7966 FieldElement field = fields[0]; | 7947 FieldElement field = fields[0]; |
| 7967 expect(field, isNotNull); | 7948 expect(field, isNotNull); |
| 7968 expect(field.name, methodName); | 7949 expect(field.name, methodName); |
| 7969 expect(field.isSynthetic, isTrue); | 7950 expect(field.isSynthetic, isTrue); |
| 7970 expect(field.getter, isNull); | 7951 expect(field.getter, isNull); |
| 7971 PropertyAccessorElement setter = field.setter; | 7952 PropertyAccessorElement setter = field.setter; |
| 7972 expect(setter, isNotNull); | 7953 expect(setter, isNotNull); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 7985 void test_visitMethodDeclaration_setter_abstract() { | 7966 void test_visitMethodDeclaration_setter_abstract() { |
| 7986 ElementHolder holder = new ElementHolder(); | 7967 ElementHolder holder = new ElementHolder(); |
| 7987 ElementBuilder builder = new ElementBuilder(holder); | 7968 ElementBuilder builder = new ElementBuilder(holder); |
| 7988 String methodName = "m"; | 7969 String methodName = "m"; |
| 7989 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( | 7970 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( |
| 7990 null, | 7971 null, |
| 7991 null, | 7972 null, |
| 7992 Keyword.SET, | 7973 Keyword.SET, |
| 7993 null, | 7974 null, |
| 7994 AstFactory.identifier3(methodName), | 7975 AstFactory.identifier3(methodName), |
| 7995 AstFactory.formalParameterList([]), | 7976 AstFactory.formalParameterList(), |
| 7996 AstFactory.emptyFunctionBody()); | 7977 AstFactory.emptyFunctionBody()); |
| 7997 methodDeclaration.accept(builder); | 7978 methodDeclaration.accept(builder); |
| 7998 List<FieldElement> fields = holder.fields; | 7979 List<FieldElement> fields = holder.fields; |
| 7999 expect(fields, hasLength(1)); | 7980 expect(fields, hasLength(1)); |
| 8000 FieldElement field = fields[0]; | 7981 FieldElement field = fields[0]; |
| 8001 expect(field, isNotNull); | 7982 expect(field, isNotNull); |
| 8002 expect(field.name, methodName); | 7983 expect(field.name, methodName); |
| 8003 expect(field.isSynthetic, isTrue); | 7984 expect(field.isSynthetic, isTrue); |
| 8004 expect(field.getter, isNull); | 7985 expect(field.getter, isNull); |
| 8005 PropertyAccessorElement setter = field.setter; | 7986 PropertyAccessorElement setter = field.setter; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 8019 void test_visitMethodDeclaration_setter_external() { | 8000 void test_visitMethodDeclaration_setter_external() { |
| 8020 ElementHolder holder = new ElementHolder(); | 8001 ElementHolder holder = new ElementHolder(); |
| 8021 ElementBuilder builder = new ElementBuilder(holder); | 8002 ElementBuilder builder = new ElementBuilder(holder); |
| 8022 String methodName = "m"; | 8003 String methodName = "m"; |
| 8023 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration( | 8004 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration( |
| 8024 null, | 8005 null, |
| 8025 null, | 8006 null, |
| 8026 Keyword.SET, | 8007 Keyword.SET, |
| 8027 null, | 8008 null, |
| 8028 AstFactory.identifier3(methodName), | 8009 AstFactory.identifier3(methodName), |
| 8029 AstFactory.formalParameterList([])); | 8010 AstFactory.formalParameterList()); |
| 8030 methodDeclaration.accept(builder); | 8011 methodDeclaration.accept(builder); |
| 8031 List<FieldElement> fields = holder.fields; | 8012 List<FieldElement> fields = holder.fields; |
| 8032 expect(fields, hasLength(1)); | 8013 expect(fields, hasLength(1)); |
| 8033 FieldElement field = fields[0]; | 8014 FieldElement field = fields[0]; |
| 8034 expect(field, isNotNull); | 8015 expect(field, isNotNull); |
| 8035 expect(field.name, methodName); | 8016 expect(field.name, methodName); |
| 8036 expect(field.isSynthetic, isTrue); | 8017 expect(field.isSynthetic, isTrue); |
| 8037 expect(field.getter, isNull); | 8018 expect(field.getter, isNull); |
| 8038 PropertyAccessorElement setter = field.setter; | 8019 PropertyAccessorElement setter = field.setter; |
| 8039 expect(setter, isNotNull); | 8020 expect(setter, isNotNull); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 8052 void test_visitMethodDeclaration_static() { | 8033 void test_visitMethodDeclaration_static() { |
| 8053 ElementHolder holder = new ElementHolder(); | 8034 ElementHolder holder = new ElementHolder(); |
| 8054 ElementBuilder builder = new ElementBuilder(holder); | 8035 ElementBuilder builder = new ElementBuilder(holder); |
| 8055 String methodName = "m"; | 8036 String methodName = "m"; |
| 8056 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( | 8037 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( |
| 8057 Keyword.STATIC, | 8038 Keyword.STATIC, |
| 8058 null, | 8039 null, |
| 8059 null, | 8040 null, |
| 8060 null, | 8041 null, |
| 8061 AstFactory.identifier3(methodName), | 8042 AstFactory.identifier3(methodName), |
| 8062 AstFactory.formalParameterList([]), | 8043 AstFactory.formalParameterList(), |
| 8063 AstFactory.blockFunctionBody2([])); | 8044 AstFactory.blockFunctionBody2()); |
| 8064 methodDeclaration.accept(builder); | 8045 methodDeclaration.accept(builder); |
| 8065 List<MethodElement> methods = holder.methods; | 8046 List<MethodElement> methods = holder.methods; |
| 8066 expect(methods, hasLength(1)); | 8047 expect(methods, hasLength(1)); |
| 8067 MethodElement method = methods[0]; | 8048 MethodElement method = methods[0]; |
| 8068 expect(method, isNotNull); | 8049 expect(method, isNotNull); |
| 8069 expect(method.name, methodName); | 8050 expect(method.name, methodName); |
| 8070 expect(method.functions, hasLength(0)); | 8051 expect(method.functions, hasLength(0)); |
| 8071 expect(method.labels, hasLength(0)); | 8052 expect(method.labels, hasLength(0)); |
| 8072 expect(method.localVariables, hasLength(0)); | 8053 expect(method.localVariables, hasLength(0)); |
| 8073 expect(method.parameters, hasLength(0)); | 8054 expect(method.parameters, hasLength(0)); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 8085 String labelName = "l"; | 8066 String labelName = "l"; |
| 8086 String exceptionParameterName = "e"; | 8067 String exceptionParameterName = "e"; |
| 8087 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( | 8068 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( |
| 8088 null, | 8069 null, |
| 8089 null, | 8070 null, |
| 8090 null, | 8071 null, |
| 8091 null, | 8072 null, |
| 8092 AstFactory.identifier3(methodName), | 8073 AstFactory.identifier3(methodName), |
| 8093 AstFactory.formalParameterList( | 8074 AstFactory.formalParameterList( |
| 8094 [AstFactory.simpleFormalParameter3(parameterName)]), | 8075 [AstFactory.simpleFormalParameter3(parameterName)]), |
| 8095 AstFactory.blockFunctionBody2( | 8076 AstFactory.blockFunctionBody2([ |
| 8096 [ | 8077 AstFactory.variableDeclarationStatement2( |
| 8097 AstFactory.variableDeclarationStatement2( | 8078 Keyword.VAR, |
| 8098 Keyword.VAR, | 8079 [AstFactory.variableDeclaration(localVariableName)]), |
| 8099 [AstFactory.variableDeclaration(localVariableName)]), | 8080 AstFactory.tryStatement2( |
| 8100 AstFactory.tryStatement2( | 8081 AstFactory.block([AstFactory.labeledStatement( |
| 8101 AstFactory.block( | 8082 [AstFactory.label2(labelName)], |
| 8102 [ | 8083 AstFactory.returnStatement())]), |
| 8103 AstFactory.labeledStatement( | 8084 [AstFactory.catchClause(exceptionParameterName)])])); |
| 8104 AstFactory.list([AstFactory.label2(labelName)]), | |
| 8105 AstFactory.returnStatement())]), | |
| 8106 [AstFactory.catchClause(exceptionParameterName, [])])])); | |
| 8107 methodDeclaration.accept(builder); | 8085 methodDeclaration.accept(builder); |
| 8108 List<MethodElement> methods = holder.methods; | 8086 List<MethodElement> methods = holder.methods; |
| 8109 expect(methods, hasLength(1)); | 8087 expect(methods, hasLength(1)); |
| 8110 MethodElement method = methods[0]; | 8088 MethodElement method = methods[0]; |
| 8111 expect(method, isNotNull); | 8089 expect(method, isNotNull); |
| 8112 expect(method.name, methodName); | 8090 expect(method.name, methodName); |
| 8113 expect(method.isAbstract, isFalse); | 8091 expect(method.isAbstract, isFalse); |
| 8114 expect(method.isStatic, isFalse); | 8092 expect(method.isStatic, isFalse); |
| 8115 expect(method.isSynthetic, isFalse); | 8093 expect(method.isSynthetic, isFalse); |
| 8116 List<VariableElement> parameters = method.parameters; | 8094 List<VariableElement> parameters = method.parameters; |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8206 | 8184 |
| 8207 void test_visitTypeAlias_withFormalParameters() { | 8185 void test_visitTypeAlias_withFormalParameters() { |
| 8208 ElementHolder holder = new ElementHolder(); | 8186 ElementHolder holder = new ElementHolder(); |
| 8209 ElementBuilder builder = new ElementBuilder(holder); | 8187 ElementBuilder builder = new ElementBuilder(holder); |
| 8210 String aliasName = "F"; | 8188 String aliasName = "F"; |
| 8211 String firstParameterName = "x"; | 8189 String firstParameterName = "x"; |
| 8212 String secondParameterName = "y"; | 8190 String secondParameterName = "y"; |
| 8213 TypeAlias typeAlias = AstFactory.typeAlias( | 8191 TypeAlias typeAlias = AstFactory.typeAlias( |
| 8214 null, | 8192 null, |
| 8215 aliasName, | 8193 aliasName, |
| 8216 AstFactory.typeParameterList([]), | 8194 AstFactory.typeParameterList(), |
| 8217 AstFactory.formalParameterList( | 8195 AstFactory.formalParameterList( |
| 8218 [ | 8196 [ |
| 8219 AstFactory.simpleFormalParameter3(firstParameterName), | 8197 AstFactory.simpleFormalParameter3(firstParameterName), |
| 8220 AstFactory.simpleFormalParameter3(secondParameterName)])); | 8198 AstFactory.simpleFormalParameter3(secondParameterName)])); |
| 8221 typeAlias.accept(builder); | 8199 typeAlias.accept(builder); |
| 8222 List<FunctionTypeAliasElement> aliases = holder.typeAliases; | 8200 List<FunctionTypeAliasElement> aliases = holder.typeAliases; |
| 8223 expect(aliases, hasLength(1)); | 8201 expect(aliases, hasLength(1)); |
| 8224 FunctionTypeAliasElement alias = aliases[0]; | 8202 FunctionTypeAliasElement alias = aliases[0]; |
| 8225 expect(alias, isNotNull); | 8203 expect(alias, isNotNull); |
| 8226 expect(alias.name, aliasName); | 8204 expect(alias.name, aliasName); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 8238 void test_visitTypeAlias_withTypeParameters() { | 8216 void test_visitTypeAlias_withTypeParameters() { |
| 8239 ElementHolder holder = new ElementHolder(); | 8217 ElementHolder holder = new ElementHolder(); |
| 8240 ElementBuilder builder = new ElementBuilder(holder); | 8218 ElementBuilder builder = new ElementBuilder(holder); |
| 8241 String aliasName = "F"; | 8219 String aliasName = "F"; |
| 8242 String firstTypeParameterName = "A"; | 8220 String firstTypeParameterName = "A"; |
| 8243 String secondTypeParameterName = "B"; | 8221 String secondTypeParameterName = "B"; |
| 8244 TypeAlias typeAlias = AstFactory.typeAlias( | 8222 TypeAlias typeAlias = AstFactory.typeAlias( |
| 8245 null, | 8223 null, |
| 8246 aliasName, | 8224 aliasName, |
| 8247 AstFactory.typeParameterList([firstTypeParameterName, secondTypeParamete
rName]), | 8225 AstFactory.typeParameterList([firstTypeParameterName, secondTypeParamete
rName]), |
| 8248 AstFactory.formalParameterList([])); | 8226 AstFactory.formalParameterList()); |
| 8249 typeAlias.accept(builder); | 8227 typeAlias.accept(builder); |
| 8250 List<FunctionTypeAliasElement> aliases = holder.typeAliases; | 8228 List<FunctionTypeAliasElement> aliases = holder.typeAliases; |
| 8251 expect(aliases, hasLength(1)); | 8229 expect(aliases, hasLength(1)); |
| 8252 FunctionTypeAliasElement alias = aliases[0]; | 8230 FunctionTypeAliasElement alias = aliases[0]; |
| 8253 expect(alias, isNotNull); | 8231 expect(alias, isNotNull); |
| 8254 expect(alias.name, aliasName); | 8232 expect(alias.name, aliasName); |
| 8255 expect(alias.type, isNotNull); | 8233 expect(alias.type, isNotNull); |
| 8256 expect(alias.isSynthetic, isFalse); | 8234 expect(alias.isSynthetic, isFalse); |
| 8257 List<VariableElement> parameters = alias.parameters; | 8235 List<VariableElement> parameters = alias.parameters; |
| 8258 expect(parameters, isNotNull); | 8236 expect(parameters, isNotNull); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 8287 String variableName = "v"; | 8265 String variableName = "v"; |
| 8288 VariableDeclaration variable = | 8266 VariableDeclaration variable = |
| 8289 AstFactory.variableDeclaration2(variableName, null); | 8267 AstFactory.variableDeclaration2(variableName, null); |
| 8290 Statement statement = | 8268 Statement statement = |
| 8291 AstFactory.variableDeclarationStatement2(null, [variable]); | 8269 AstFactory.variableDeclarationStatement2(null, [variable]); |
| 8292 ConstructorDeclaration constructor = AstFactory.constructorDeclaration2( | 8270 ConstructorDeclaration constructor = AstFactory.constructorDeclaration2( |
| 8293 null, | 8271 null, |
| 8294 null, | 8272 null, |
| 8295 AstFactory.identifier3("C"), | 8273 AstFactory.identifier3("C"), |
| 8296 "C", | 8274 "C", |
| 8297 AstFactory.formalParameterList([]), | 8275 AstFactory.formalParameterList(), |
| 8298 null, | 8276 null, |
| 8299 AstFactory.blockFunctionBody2([statement])); | 8277 AstFactory.blockFunctionBody2([statement])); |
| 8300 constructor.accept(builder); | 8278 constructor.accept(builder); |
| 8301 List<ConstructorElement> constructors = holder.constructors; | 8279 List<ConstructorElement> constructors = holder.constructors; |
| 8302 expect(constructors, hasLength(1)); | 8280 expect(constructors, hasLength(1)); |
| 8303 List<LocalVariableElement> variableElements = | 8281 List<LocalVariableElement> variableElements = |
| 8304 constructors[0].localVariables; | 8282 constructors[0].localVariables; |
| 8305 expect(variableElements, hasLength(1)); | 8283 expect(variableElements, hasLength(1)); |
| 8306 LocalVariableElement variableElement = variableElements[0]; | 8284 LocalVariableElement variableElement = variableElements[0]; |
| 8307 expect(variableElement.name, variableName); | 8285 expect(variableElement.name, variableName); |
| 8308 } | 8286 } |
| 8309 | 8287 |
| 8310 void test_visitVariableDeclaration_inMethod() { | 8288 void test_visitVariableDeclaration_inMethod() { |
| 8311 ElementHolder holder = new ElementHolder(); | 8289 ElementHolder holder = new ElementHolder(); |
| 8312 ElementBuilder builder = new ElementBuilder(holder); | 8290 ElementBuilder builder = new ElementBuilder(holder); |
| 8313 // | 8291 // |
| 8314 // m() {var v;} | 8292 // m() {var v;} |
| 8315 // | 8293 // |
| 8316 String variableName = "v"; | 8294 String variableName = "v"; |
| 8317 VariableDeclaration variable = | 8295 VariableDeclaration variable = |
| 8318 AstFactory.variableDeclaration2(variableName, null); | 8296 AstFactory.variableDeclaration2(variableName, null); |
| 8319 Statement statement = | 8297 Statement statement = |
| 8320 AstFactory.variableDeclarationStatement2(null, [variable]); | 8298 AstFactory.variableDeclarationStatement2(null, [variable]); |
| 8321 MethodDeclaration constructor = AstFactory.methodDeclaration2( | 8299 MethodDeclaration constructor = AstFactory.methodDeclaration2( |
| 8322 null, | 8300 null, |
| 8323 null, | 8301 null, |
| 8324 null, | 8302 null, |
| 8325 null, | 8303 null, |
| 8326 AstFactory.identifier3("m"), | 8304 AstFactory.identifier3("m"), |
| 8327 AstFactory.formalParameterList([]), | 8305 AstFactory.formalParameterList(), |
| 8328 AstFactory.blockFunctionBody2([statement])); | 8306 AstFactory.blockFunctionBody2([statement])); |
| 8329 constructor.accept(builder); | 8307 constructor.accept(builder); |
| 8330 List<MethodElement> methods = holder.methods; | 8308 List<MethodElement> methods = holder.methods; |
| 8331 expect(methods, hasLength(1)); | 8309 expect(methods, hasLength(1)); |
| 8332 List<LocalVariableElement> variableElements = methods[0].localVariables; | 8310 List<LocalVariableElement> variableElements = methods[0].localVariables; |
| 8333 expect(variableElements, hasLength(1)); | 8311 expect(variableElements, hasLength(1)); |
| 8334 LocalVariableElement variableElement = variableElements[0]; | 8312 LocalVariableElement variableElement = variableElements[0]; |
| 8335 expect(variableElement.name, variableName); | 8313 expect(variableElement.name, variableName); |
| 8336 } | 8314 } |
| 8337 | 8315 |
| 8338 void test_visitVariableDeclaration_localNestedInField() { | 8316 void test_visitVariableDeclaration_localNestedInField() { |
| 8339 ElementHolder holder = new ElementHolder(); | 8317 ElementHolder holder = new ElementHolder(); |
| 8340 ElementBuilder builder = new ElementBuilder(holder); | 8318 ElementBuilder builder = new ElementBuilder(holder); |
| 8341 // | 8319 // |
| 8342 // var f = () {var v;} | 8320 // var f = () {var v;} |
| 8343 // | 8321 // |
| 8344 String variableName = "v"; | 8322 String variableName = "v"; |
| 8345 VariableDeclaration variable = | 8323 VariableDeclaration variable = |
| 8346 AstFactory.variableDeclaration2(variableName, null); | 8324 AstFactory.variableDeclaration2(variableName, null); |
| 8347 Statement statement = | 8325 Statement statement = |
| 8348 AstFactory.variableDeclarationStatement2(null, [variable]); | 8326 AstFactory.variableDeclarationStatement2(null, [variable]); |
| 8349 Expression initializer = AstFactory.functionExpression2( | 8327 Expression initializer = AstFactory.functionExpression2( |
| 8350 AstFactory.formalParameterList([]), | 8328 AstFactory.formalParameterList(), |
| 8351 AstFactory.blockFunctionBody2([statement])); | 8329 AstFactory.blockFunctionBody2([statement])); |
| 8352 String fieldName = "f"; | 8330 String fieldName = "f"; |
| 8353 VariableDeclaration field = | 8331 VariableDeclaration field = |
| 8354 AstFactory.variableDeclaration2(fieldName, initializer); | 8332 AstFactory.variableDeclaration2(fieldName, initializer); |
| 8355 FieldDeclaration fieldDeclaration = | 8333 FieldDeclaration fieldDeclaration = |
| 8356 AstFactory.fieldDeclaration2(false, null, [field]); | 8334 AstFactory.fieldDeclaration2(false, null, [field]); |
| 8357 fieldDeclaration.accept(builder); | 8335 fieldDeclaration.accept(builder); |
| 8358 List<FieldElement> variables = holder.fields; | 8336 List<FieldElement> variables = holder.fields; |
| 8359 expect(variables, hasLength(1)); | 8337 expect(variables, hasLength(1)); |
| 8360 FieldElement fieldElement = variables[0]; | 8338 FieldElement fieldElement = variables[0]; |
| (...skipping 28 matching lines...) Expand all Loading... |
| 8389 expect(variable.name, variableName); | 8367 expect(variable.name, variableName); |
| 8390 expect(variable.isConst, isFalse); | 8368 expect(variable.isConst, isFalse); |
| 8391 expect(variable.isFinal, isFalse); | 8369 expect(variable.isFinal, isFalse); |
| 8392 expect(variable.isSynthetic, isFalse); | 8370 expect(variable.isSynthetic, isFalse); |
| 8393 expect(variable.getter, isNotNull); | 8371 expect(variable.getter, isNotNull); |
| 8394 expect(variable.setter, isNotNull); | 8372 expect(variable.setter, isNotNull); |
| 8395 } | 8373 } |
| 8396 | 8374 |
| 8397 void _useParameterInMethod(FormalParameter formalParameter, int blockOffset, | 8375 void _useParameterInMethod(FormalParameter formalParameter, int blockOffset, |
| 8398 int blockEnd) { | 8376 int blockEnd) { |
| 8399 Block block = AstFactory.block([]); | 8377 Block block = AstFactory.block(); |
| 8400 block.leftBracket.offset = blockOffset; | 8378 block.leftBracket.offset = blockOffset; |
| 8401 block.rightBracket.offset = blockEnd - 1; | 8379 block.rightBracket.offset = blockEnd - 1; |
| 8402 BlockFunctionBody body = AstFactory.blockFunctionBody(block); | 8380 BlockFunctionBody body = AstFactory.blockFunctionBody(block); |
| 8403 AstFactory.methodDeclaration2( | 8381 AstFactory.methodDeclaration2( |
| 8404 null, | 8382 null, |
| 8405 null, | 8383 null, |
| 8406 null, | 8384 null, |
| 8407 null, | 8385 null, |
| 8408 AstFactory.identifier3("main"), | 8386 AstFactory.identifier3("main"), |
| 8409 AstFactory.formalParameterList([formalParameter]), | 8387 AstFactory.formalParameterList([formalParameter]), |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8658 } | 8636 } |
| 8659 | 8637 |
| 8660 void test_locate_InstanceCreationExpression_type_prefixedIdentifier() { | 8638 void test_locate_InstanceCreationExpression_type_prefixedIdentifier() { |
| 8661 // prepare: new pref.A() | 8639 // prepare: new pref.A() |
| 8662 SimpleIdentifier identifier = AstFactory.identifier3("A"); | 8640 SimpleIdentifier identifier = AstFactory.identifier3("A"); |
| 8663 PrefixedIdentifier prefixedIdentifier = | 8641 PrefixedIdentifier prefixedIdentifier = |
| 8664 AstFactory.identifier4("pref", identifier); | 8642 AstFactory.identifier4("pref", identifier); |
| 8665 InstanceCreationExpression creation = | 8643 InstanceCreationExpression creation = |
| 8666 AstFactory.instanceCreationExpression2( | 8644 AstFactory.instanceCreationExpression2( |
| 8667 Keyword.NEW, | 8645 Keyword.NEW, |
| 8668 AstFactory.typeName3(prefixedIdentifier, []), | 8646 AstFactory.typeName3(prefixedIdentifier)); |
| 8669 []); | |
| 8670 // set ClassElement | 8647 // set ClassElement |
| 8671 ClassElement classElement = ElementFactory.classElement2("A", []); | 8648 ClassElement classElement = ElementFactory.classElement2("A"); |
| 8672 identifier.staticElement = classElement; | 8649 identifier.staticElement = classElement; |
| 8673 // set ConstructorElement | 8650 // set ConstructorElement |
| 8674 ConstructorElement constructorElement = | 8651 ConstructorElement constructorElement = |
| 8675 ElementFactory.constructorElement2(classElement, null, []); | 8652 ElementFactory.constructorElement2(classElement, null); |
| 8676 creation.constructorName.staticElement = constructorElement; | 8653 creation.constructorName.staticElement = constructorElement; |
| 8677 // verify that "A" is resolved to ConstructorElement | 8654 // verify that "A" is resolved to ConstructorElement |
| 8678 Element element = ElementLocator.locate(identifier); | 8655 Element element = ElementLocator.locate(identifier); |
| 8679 expect(element, same(classElement)); | 8656 expect(element, same(classElement)); |
| 8680 } | 8657 } |
| 8681 | 8658 |
| 8682 void test_locate_InstanceCreationExpression_type_simpleIdentifier() { | 8659 void test_locate_InstanceCreationExpression_type_simpleIdentifier() { |
| 8683 // prepare: new A() | 8660 // prepare: new A() |
| 8684 SimpleIdentifier identifier = AstFactory.identifier3("A"); | 8661 SimpleIdentifier identifier = AstFactory.identifier3("A"); |
| 8685 InstanceCreationExpression creation = | 8662 InstanceCreationExpression creation = |
| 8686 AstFactory.instanceCreationExpression2( | 8663 AstFactory.instanceCreationExpression2( |
| 8687 Keyword.NEW, | 8664 Keyword.NEW, |
| 8688 AstFactory.typeName3(identifier, []), | 8665 AstFactory.typeName3(identifier)); |
| 8689 []); | |
| 8690 // set ClassElement | 8666 // set ClassElement |
| 8691 ClassElement classElement = ElementFactory.classElement2("A", []); | 8667 ClassElement classElement = ElementFactory.classElement2("A"); |
| 8692 identifier.staticElement = classElement; | 8668 identifier.staticElement = classElement; |
| 8693 // set ConstructorElement | 8669 // set ConstructorElement |
| 8694 ConstructorElement constructorElement = | 8670 ConstructorElement constructorElement = |
| 8695 ElementFactory.constructorElement2(classElement, null, []); | 8671 ElementFactory.constructorElement2(classElement, null); |
| 8696 creation.constructorName.staticElement = constructorElement; | 8672 creation.constructorName.staticElement = constructorElement; |
| 8697 // verify that "A" is resolved to ConstructorElement | 8673 // verify that "A" is resolved to ConstructorElement |
| 8698 Element element = ElementLocator.locate(identifier); | 8674 Element element = ElementLocator.locate(identifier); |
| 8699 expect(element, same(classElement)); | 8675 expect(element, same(classElement)); |
| 8700 } | 8676 } |
| 8701 | 8677 |
| 8702 void test_locate_LibraryDirective() { | 8678 void test_locate_LibraryDirective() { |
| 8703 AstNode id = _findNodeIn("library", "library foo;"); | 8679 AstNode id = _findNodeIn("library", "library foo;"); |
| 8704 Element element = ElementLocator.locate(id); | 8680 Element element = ElementLocator.locate(id); |
| 8705 EngineTestCase.assertInstanceOf( | 8681 EngineTestCase.assertInstanceOf( |
| (...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8989 class ErrorReporterTest extends EngineTestCase { | 8965 class ErrorReporterTest extends EngineTestCase { |
| 8990 /** | 8966 /** |
| 8991 * Create a type with the given name in a compilation unit with the given name
. | 8967 * Create a type with the given name in a compilation unit with the given name
. |
| 8992 * | 8968 * |
| 8993 * @param fileName the name of the compilation unit containing the class | 8969 * @param fileName the name of the compilation unit containing the class |
| 8994 * @param typeName the name of the type to be created | 8970 * @param typeName the name of the type to be created |
| 8995 * @return the type that was created | 8971 * @return the type that was created |
| 8996 */ | 8972 */ |
| 8997 InterfaceType createType(String fileName, String typeName) { | 8973 InterfaceType createType(String fileName, String typeName) { |
| 8998 CompilationUnitElementImpl unit = ElementFactory.compilationUnit(fileName); | 8974 CompilationUnitElementImpl unit = ElementFactory.compilationUnit(fileName); |
| 8999 ClassElementImpl element = ElementFactory.classElement2(typeName, []); | 8975 ClassElementImpl element = ElementFactory.classElement2(typeName); |
| 9000 unit.types = <ClassElement>[element]; | 8976 unit.types = <ClassElement>[element]; |
| 9001 return element.type; | 8977 return element.type; |
| 9002 } | 8978 } |
| 9003 | 8979 |
| 9004 void test_creation() { | 8980 void test_creation() { |
| 9005 GatheringErrorListener listener = new GatheringErrorListener(); | 8981 GatheringErrorListener listener = new GatheringErrorListener(); |
| 9006 TestSource source = new TestSource(); | 8982 TestSource source = new TestSource(); |
| 9007 expect(new ErrorReporter(listener, source), isNotNull); | 8983 expect(new ErrorReporter(listener, source), isNotNull); |
| 9008 } | 8984 } |
| 9009 | 8985 |
| (...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9549 void test_whileStatement_true_throw() { | 9525 void test_whileStatement_true_throw() { |
| 9550 _assertTrue("{ while (true) { throw ''; } }"); | 9526 _assertTrue("{ while (true) { throw ''; } }"); |
| 9551 } | 9527 } |
| 9552 | 9528 |
| 9553 void _assertFalse(String source) { | 9529 void _assertFalse(String source) { |
| 9554 _assertHasReturn(false, source); | 9530 _assertHasReturn(false, source); |
| 9555 } | 9531 } |
| 9556 | 9532 |
| 9557 void _assertHasReturn(bool expectedResult, String source) { | 9533 void _assertHasReturn(bool expectedResult, String source) { |
| 9558 ExitDetector detector = new ExitDetector(); | 9534 ExitDetector detector = new ExitDetector(); |
| 9559 Statement statement = ParserTestCase.parseStatement(source, []); | 9535 Statement statement = ParserTestCase.parseStatement(source); |
| 9560 expect(statement.accept(detector), same(expectedResult)); | 9536 expect(statement.accept(detector), same(expectedResult)); |
| 9561 } | 9537 } |
| 9562 | 9538 |
| 9563 void _assertTrue(String source) { | 9539 void _assertTrue(String source) { |
| 9564 _assertHasReturn(true, source); | 9540 _assertHasReturn(true, source); |
| 9565 } | 9541 } |
| 9566 } | 9542 } |
| 9567 | 9543 |
| 9568 | 9544 |
| 9569 class ExpressionVisitor_AngularTest_verify extends ExpressionVisitor { | 9545 class ExpressionVisitor_AngularTest_verify extends ExpressionVisitor { |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9837 </body> | 9813 </body> |
| 9838 </html>"""); | 9814 </html>"""); |
| 9839 _validate( | 9815 _validate( |
| 9840 htmlUnit, | 9816 htmlUnit, |
| 9841 [ | 9817 [ |
| 9842 _t4( | 9818 _t4( |
| 9843 "html", | 9819 "html", |
| 9844 [ | 9820 [ |
| 9845 _t4( | 9821 _t4( |
| 9846 "body", | 9822 "body", |
| 9847 [_t("script", _a(["type", "'application/dart'"]), script
Body, [])])])]); | 9823 [_t("script", _a(["type", "'application/dart'"]), script
Body)])])]); |
| 9848 } | 9824 } |
| 9849 ht.HtmlUnit parse(String contents) { | 9825 ht.HtmlUnit parse(String contents) { |
| 9850 // TestSource source = | 9826 // TestSource source = |
| 9851 // new TestSource.con1(FileUtilities2.createFile("/test.dart"), contents)
; | 9827 // new TestSource.con1(FileUtilities2.createFile("/test.dart"), contents)
; |
| 9852 ht.AbstractScanner scanner = new ht.StringScanner(null, contents); | 9828 ht.AbstractScanner scanner = new ht.StringScanner(null, contents); |
| 9853 scanner.passThroughElements = <String>[_TAG_SCRIPT]; | 9829 scanner.passThroughElements = <String>[_TAG_SCRIPT]; |
| 9854 ht.Token token = scanner.tokenize(); | 9830 ht.Token token = scanner.tokenize(); |
| 9855 LineInfo lineInfo = new LineInfo(scanner.lineStarts); | 9831 LineInfo lineInfo = new LineInfo(scanner.lineStarts); |
| 9856 GatheringErrorListener errorListener = new GatheringErrorListener(); | 9832 GatheringErrorListener errorListener = new GatheringErrorListener(); |
| 9857 ht.HtmlUnit unit = | 9833 ht.HtmlUnit unit = |
| 9858 new ht.HtmlParser(null, errorListener).parse(token, lineInfo); | 9834 new ht.HtmlParser(null, errorListener).parse(token, lineInfo); |
| 9859 errorListener.assertNoErrors(); | 9835 errorListener.assertNoErrors(); |
| 9860 return unit; | 9836 return unit; |
| 9861 } | 9837 } |
| 9862 void test_parse_attribute() { | 9838 void test_parse_attribute() { |
| 9863 ht.HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\"></body></html>"); | 9839 ht.HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\"></body></html>"); |
| 9864 _validate( | 9840 _validate( |
| 9865 htmlUnit, | 9841 htmlUnit, |
| 9866 [_t4("html", [_t("body", _a(["foo", "\"sdfsdf\""]), "", [])])]); | 9842 [_t4("html", [_t("body", _a(["foo", "\"sdfsdf\""]), "")])]); |
| 9867 ht.XmlTagNode htmlNode = htmlUnit.tagNodes[0]; | 9843 ht.XmlTagNode htmlNode = htmlUnit.tagNodes[0]; |
| 9868 ht.XmlTagNode bodyNode = htmlNode.tagNodes[0]; | 9844 ht.XmlTagNode bodyNode = htmlNode.tagNodes[0]; |
| 9869 expect(bodyNode.attributes[0].text, "sdfsdf"); | 9845 expect(bodyNode.attributes[0].text, "sdfsdf"); |
| 9870 } | 9846 } |
| 9871 void test_parse_attribute_EOF() { | 9847 void test_parse_attribute_EOF() { |
| 9872 ht.HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\""); | 9848 ht.HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\""); |
| 9873 _validate( | 9849 _validate( |
| 9874 htmlUnit, | 9850 htmlUnit, |
| 9875 [_t4("html", [_t("body", _a(["foo", "\"sdfsdf\""]), "", [])])]); | 9851 [_t4("html", [_t("body", _a(["foo", "\"sdfsdf\""]), "")])]); |
| 9876 } | 9852 } |
| 9877 void test_parse_attribute_EOF_missing_quote() { | 9853 void test_parse_attribute_EOF_missing_quote() { |
| 9878 ht.HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsd"); | 9854 ht.HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsd"); |
| 9879 _validate( | 9855 _validate( |
| 9880 htmlUnit, | 9856 htmlUnit, |
| 9881 [_t4("html", [_t("body", _a(["foo", "\"sdfsd"]), "", [])])]); | 9857 [_t4("html", [_t("body", _a(["foo", "\"sdfsd"]), "")])]); |
| 9882 ht.XmlTagNode htmlNode = htmlUnit.tagNodes[0]; | 9858 ht.XmlTagNode htmlNode = htmlUnit.tagNodes[0]; |
| 9883 ht.XmlTagNode bodyNode = htmlNode.tagNodes[0]; | 9859 ht.XmlTagNode bodyNode = htmlNode.tagNodes[0]; |
| 9884 expect(bodyNode.attributes[0].text, "sdfsd"); | 9860 expect(bodyNode.attributes[0].text, "sdfsd"); |
| 9885 } | 9861 } |
| 9886 void test_parse_attribute_extra_quote() { | 9862 void test_parse_attribute_extra_quote() { |
| 9887 ht.HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\"\"></body></html>"); | 9863 ht.HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\"\"></body></html>"); |
| 9888 _validate( | 9864 _validate( |
| 9889 htmlUnit, | 9865 htmlUnit, |
| 9890 [_t4("html", [_t("body", _a(["foo", "\"sdfsdf\""]), "", [])])]); | 9866 [_t4("html", [_t("body", _a(["foo", "\"sdfsdf\""]), "")])]); |
| 9891 } | 9867 } |
| 9892 void test_parse_attribute_single_quote() { | 9868 void test_parse_attribute_single_quote() { |
| 9893 ht.HtmlUnit htmlUnit = parse("<html><body foo='sdfsdf'></body></html>"); | 9869 ht.HtmlUnit htmlUnit = parse("<html><body foo='sdfsdf'></body></html>"); |
| 9894 _validate( | 9870 _validate( |
| 9895 htmlUnit, | 9871 htmlUnit, |
| 9896 [_t4("html", [_t("body", _a(["foo", "'sdfsdf'"]), "", [])])]); | 9872 [_t4("html", [_t("body", _a(["foo", "'sdfsdf'"]), "")])]); |
| 9897 ht.XmlTagNode htmlNode = htmlUnit.tagNodes[0]; | 9873 ht.XmlTagNode htmlNode = htmlUnit.tagNodes[0]; |
| 9898 ht.XmlTagNode bodyNode = htmlNode.tagNodes[0]; | 9874 ht.XmlTagNode bodyNode = htmlNode.tagNodes[0]; |
| 9899 expect(bodyNode.attributes[0].text, "sdfsdf"); | 9875 expect(bodyNode.attributes[0].text, "sdfsdf"); |
| 9900 } | 9876 } |
| 9901 void test_parse_comment_embedded() { | 9877 void test_parse_comment_embedded() { |
| 9902 ht.HtmlUnit htmlUnit = parse("<html <!-- comment -->></html>"); | 9878 ht.HtmlUnit htmlUnit = parse("<html <!-- comment -->></html>"); |
| 9903 _validate(htmlUnit, [_t3("html", "", [])]); | 9879 _validate(htmlUnit, [_t3("html", "")]); |
| 9904 } | 9880 } |
| 9905 void test_parse_comment_first() { | 9881 void test_parse_comment_first() { |
| 9906 ht.HtmlUnit htmlUnit = parse("<!-- comment --><html></html>"); | 9882 ht.HtmlUnit htmlUnit = parse("<!-- comment --><html></html>"); |
| 9907 _validate(htmlUnit, [_t3("html", "", [])]); | 9883 _validate(htmlUnit, [_t3("html", "")]); |
| 9908 } | 9884 } |
| 9909 void test_parse_comment_in_content() { | 9885 void test_parse_comment_in_content() { |
| 9910 ht.HtmlUnit htmlUnit = parse("<html><!-- comment --></html>"); | 9886 ht.HtmlUnit htmlUnit = parse("<html><!-- comment --></html>"); |
| 9911 _validate(htmlUnit, [_t3("html", "<!-- comment -->", [])]); | 9887 _validate(htmlUnit, [_t3("html", "<!-- comment -->")]); |
| 9912 } | 9888 } |
| 9913 void test_parse_content() { | 9889 void test_parse_content() { |
| 9914 ht.HtmlUnit htmlUnit = parse("<html>\n<p a=\"b\">blat \n </p>\n</html>"); | 9890 ht.HtmlUnit htmlUnit = parse("<html>\n<p a=\"b\">blat \n </p>\n</html>"); |
| 9915 // ht.XmlTagNode.getContent() does not include whitespace | 9891 // ht.XmlTagNode.getContent() does not include whitespace |
| 9916 // between '<' and '>' at this time | 9892 // between '<' and '>' at this time |
| 9917 _validate( | 9893 _validate( |
| 9918 htmlUnit, | 9894 htmlUnit, |
| 9919 [ | 9895 [ |
| 9920 _t3( | 9896 _t3( |
| 9921 "html", | 9897 "html", |
| 9922 "\n<pa=\"b\">blat \n </p>\n", | 9898 "\n<pa=\"b\">blat \n </p>\n", |
| 9923 [_t("p", _a(["a", "\"b\""]), "blat \n ", [])])]); | 9899 [_t("p", _a(["a", "\"b\""]), "blat \n ")])]); |
| 9924 } | 9900 } |
| 9925 void test_parse_content_none() { | 9901 void test_parse_content_none() { |
| 9926 ht.HtmlUnit htmlUnit = parse("<html><p/>blat<p/></html>"); | 9902 ht.HtmlUnit htmlUnit = parse("<html><p/>blat<p/></html>"); |
| 9927 _validate( | 9903 _validate( |
| 9928 htmlUnit, | 9904 htmlUnit, |
| 9929 [_t3("html", "<p/>blat<p/>", [_t3("p", "", []), _t3("p", "", [])])]); | 9905 [_t3("html", "<p/>blat<p/>", [_t3("p", ""), _t3("p", "")])]); |
| 9930 } | 9906 } |
| 9931 void test_parse_declaration() { | 9907 void test_parse_declaration() { |
| 9932 ht.HtmlUnit htmlUnit = parse("<!DOCTYPE html>\n\n<html><p></p></html>"); | 9908 ht.HtmlUnit htmlUnit = parse("<!DOCTYPE html>\n\n<html><p></p></html>"); |
| 9933 _validate(htmlUnit, [_t4("html", [_t3("p", "", [])])]); | 9909 _validate(htmlUnit, [_t4("html", [_t3("p", "")])]); |
| 9934 } | 9910 } |
| 9935 void test_parse_directive() { | 9911 void test_parse_directive() { |
| 9936 ht.HtmlUnit htmlUnit = parse("<?xml ?>\n\n<html><p></p></html>"); | 9912 ht.HtmlUnit htmlUnit = parse("<?xml ?>\n\n<html><p></p></html>"); |
| 9937 _validate(htmlUnit, [_t4("html", [_t3("p", "", [])])]); | 9913 _validate(htmlUnit, [_t4("html", [_t3("p", "")])]); |
| 9938 } | 9914 } |
| 9939 void test_parse_getAttribute() { | 9915 void test_parse_getAttribute() { |
| 9940 ht.HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\"></body></html>"); | 9916 ht.HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\"></body></html>"); |
| 9941 ht.XmlTagNode htmlNode = htmlUnit.tagNodes[0]; | 9917 ht.XmlTagNode htmlNode = htmlUnit.tagNodes[0]; |
| 9942 ht.XmlTagNode bodyNode = htmlNode.tagNodes[0]; | 9918 ht.XmlTagNode bodyNode = htmlNode.tagNodes[0]; |
| 9943 expect(bodyNode.getAttribute("foo").text, "sdfsdf"); | 9919 expect(bodyNode.getAttribute("foo").text, "sdfsdf"); |
| 9944 expect(bodyNode.getAttribute("bar"), null); | 9920 expect(bodyNode.getAttribute("bar"), null); |
| 9945 expect(bodyNode.getAttribute(null), null); | 9921 expect(bodyNode.getAttribute(null), null); |
| 9946 } | 9922 } |
| 9947 void test_parse_getAttributeText() { | 9923 void test_parse_getAttributeText() { |
| (...skipping 10 matching lines...) Expand all Loading... |
| 9958 <body> | 9934 <body> |
| 9959 <h2>000</h2> | 9935 <h2>000</h2> |
| 9960 <div> | 9936 <div> |
| 9961 111 | 9937 111 |
| 9962 </div> | 9938 </div> |
| 9963 </body> | 9939 </body> |
| 9964 </html>'''; | 9940 </html>'''; |
| 9965 ht.HtmlUnit htmlUnit = parse(code); | 9941 ht.HtmlUnit htmlUnit = parse(code); |
| 9966 _validate( | 9942 _validate( |
| 9967 htmlUnit, | 9943 htmlUnit, |
| 9968 [_t4("html", [_t4("body", [_t3("h2", "000", []), _t4("div", [])])])]); | 9944 [_t4("html", [_t4("body", [_t3("h2", "000"), _t4("div")])])]); |
| 9969 } | 9945 } |
| 9970 void test_parse_script() { | 9946 void test_parse_script() { |
| 9971 ht.HtmlUnit htmlUnit = | 9947 ht.HtmlUnit htmlUnit = |
| 9972 parse("<html><script >here is <p> some</script></html>"); | 9948 parse("<html><script >here is <p> some</script></html>"); |
| 9973 _validate(htmlUnit, [_t4("html", [_t3("script", "here is <p> some", [])])]); | 9949 _validate(htmlUnit, [_t4("html", [_t3("script", "here is <p> some")])]); |
| 9974 } | 9950 } |
| 9975 void test_parse_self_closing() { | 9951 void test_parse_self_closing() { |
| 9976 ht.HtmlUnit htmlUnit = parse("<html>foo<br>bar</html>"); | 9952 ht.HtmlUnit htmlUnit = parse("<html>foo<br>bar</html>"); |
| 9977 _validate(htmlUnit, [_t3("html", "foo<br>bar", [_t3("br", "", [])])]); | 9953 _validate(htmlUnit, [_t3("html", "foo<br>bar", [_t3("br", "")])]); |
| 9978 } | 9954 } |
| 9979 void test_parse_self_closing_declaration() { | 9955 void test_parse_self_closing_declaration() { |
| 9980 ht.HtmlUnit htmlUnit = parse("<!DOCTYPE html><html>foo</html>"); | 9956 ht.HtmlUnit htmlUnit = parse("<!DOCTYPE html><html>foo</html>"); |
| 9981 _validate(htmlUnit, [_t3("html", "foo", [])]); | 9957 _validate(htmlUnit, [_t3("html", "foo")]); |
| 9982 } | 9958 } |
| 9983 XmlValidator_Attributes _a(List<String> keyValuePairs) => | 9959 XmlValidator_Attributes _a(List<String> keyValuePairs) => |
| 9984 new XmlValidator_Attributes(keyValuePairs); | 9960 new XmlValidator_Attributes(keyValuePairs); |
| 9985 XmlValidator_Tag _t(String tag, XmlValidator_Attributes attributes, | 9961 XmlValidator_Tag _t(String tag, XmlValidator_Attributes attributes, |
| 9986 String content, List<XmlValidator_Tag> children) => | 9962 String content, [List<XmlValidator_Tag> children = XmlValidator_Tag.EMPTY_
LIST]) => |
| 9987 new XmlValidator_Tag(tag, attributes, content, children); | 9963 new XmlValidator_Tag(tag, attributes, content, children); |
| 9988 XmlValidator_Tag _t2(String tag, XmlValidator_Attributes attributes, | 9964 XmlValidator_Tag _t2(String tag, XmlValidator_Attributes attributes, |
| 9989 List<XmlValidator_Tag> children) => | 9965 [List<XmlValidator_Tag> children = XmlValidator_Tag.EMPTY_LIST]) => |
| 9990 new XmlValidator_Tag(tag, attributes, null, children); | 9966 new XmlValidator_Tag(tag, attributes, null, children); |
| 9991 XmlValidator_Tag _t3(String tag, String content, | 9967 XmlValidator_Tag _t3(String tag, String content, |
| 9992 List<XmlValidator_Tag> children) => | 9968 [List<XmlValidator_Tag> children = XmlValidator_Tag.EMPTY_LIST]) => |
| 9993 new XmlValidator_Tag(tag, new XmlValidator_Attributes([]), content, childr
en); | 9969 new XmlValidator_Tag(tag, new XmlValidator_Attributes(), content, children
); |
| 9994 XmlValidator_Tag _t4(String tag, List<XmlValidator_Tag> children) => | 9970 XmlValidator_Tag _t4(String tag, [List<XmlValidator_Tag> children = XmlValidat
or_Tag.EMPTY_LIST]) => |
| 9995 new XmlValidator_Tag(tag, new XmlValidator_Attributes([]), null, children)
; | 9971 new XmlValidator_Tag(tag, new XmlValidator_Attributes(), null, children); |
| 9996 void _validate(ht.HtmlUnit htmlUnit, List<XmlValidator_Tag> expectedTags) { | 9972 void _validate(ht.HtmlUnit htmlUnit, List<XmlValidator_Tag> expectedTags) { |
| 9997 XmlValidator validator = new XmlValidator(); | 9973 XmlValidator validator = new XmlValidator(); |
| 9998 validator.expectTags(expectedTags); | 9974 validator.expectTags(expectedTags); |
| 9999 htmlUnit.accept(validator); | 9975 htmlUnit.accept(validator); |
| 10000 validator.assertValid(); | 9976 validator.assertValid(); |
| 10001 } | 9977 } |
| 10002 } | 9978 } |
| 10003 | 9979 |
| 10004 | 9980 |
| 10005 class HtmlTagInfoBuilderTest extends HtmlParserTest { | 9981 class HtmlTagInfoBuilderTest extends HtmlParserTest { |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10041 <html> | 10017 <html> |
| 10042 <script type="application/dart">foo=2;</script> | 10018 <script type="application/dart">foo=2;</script> |
| 10043 </html>'''); | 10019 </html>'''); |
| 10044 _validate(element, [_s(_l([_v("foo")]))]); | 10020 _validate(element, [_s(_l([_v("foo")]))]); |
| 10045 } | 10021 } |
| 10046 void test_embedded_script_no_content() { | 10022 void test_embedded_script_no_content() { |
| 10047 HtmlElementImpl element = _build(r''' | 10023 HtmlElementImpl element = _build(r''' |
| 10048 <html> | 10024 <html> |
| 10049 <script type="application/dart"></script> | 10025 <script type="application/dart"></script> |
| 10050 </html>'''); | 10026 </html>'''); |
| 10051 _validate(element, [_s(_l([]))]); | 10027 _validate(element, [_s(_l())]); |
| 10052 } | 10028 } |
| 10053 void test_external_script() { | 10029 void test_external_script() { |
| 10054 HtmlElementImpl element = _build(r''' | 10030 HtmlElementImpl element = _build(r''' |
| 10055 <html> | 10031 <html> |
| 10056 <script type="application/dart" src="other.dart"/> | 10032 <script type="application/dart" src="other.dart"/> |
| 10057 </html>'''); | 10033 </html>'''); |
| 10058 _validate(element, [_s2("other.dart")]); | 10034 _validate(element, [_s2("other.dart")]); |
| 10059 } | 10035 } |
| 10060 void test_external_script_no_source() { | 10036 void test_external_script_no_source() { |
| 10061 HtmlElementImpl element = _build(r''' | 10037 HtmlElementImpl element = _build(r''' |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10093 ChangeSet changeSet = new ChangeSet(); | 10069 ChangeSet changeSet = new ChangeSet(); |
| 10094 changeSet.addedSource(source); | 10070 changeSet.addedSource(source); |
| 10095 _context.applyChanges(changeSet); | 10071 _context.applyChanges(changeSet); |
| 10096 HtmlUnitBuilder builder = new HtmlUnitBuilder(_context); | 10072 HtmlUnitBuilder builder = new HtmlUnitBuilder(_context); |
| 10097 return builder.buildHtmlElement( | 10073 return builder.buildHtmlElement( |
| 10098 source, | 10074 source, |
| 10099 _context.getModificationStamp(source), | 10075 _context.getModificationStamp(source), |
| 10100 _context.parseHtmlUnit(source)); | 10076 _context.parseHtmlUnit(source)); |
| 10101 } | 10077 } |
| 10102 HtmlUnitBuilderTest_ExpectedLibrary | 10078 HtmlUnitBuilderTest_ExpectedLibrary |
| 10103 _l(List<HtmlUnitBuilderTest_ExpectedVariable> expectedVariables) => | 10079 _l([List<HtmlUnitBuilderTest_ExpectedVariable> expectedVariables = HtmlUni
tBuilderTest_ExpectedVariable.EMPTY_LIST]) => |
| 10104 new HtmlUnitBuilderTest_ExpectedLibrary(this, expectedVariables); | 10080 new HtmlUnitBuilderTest_ExpectedLibrary(this, expectedVariables); |
| 10105 _ExpectedScript _s(HtmlUnitBuilderTest_ExpectedLibrary expectedLibrary) => | 10081 _ExpectedScript _s(HtmlUnitBuilderTest_ExpectedLibrary expectedLibrary) => |
| 10106 new _ExpectedScript.con1(expectedLibrary); | 10082 new _ExpectedScript.con1(expectedLibrary); |
| 10107 _ExpectedScript _s2(String scriptSourcePath) => | 10083 _ExpectedScript _s2(String scriptSourcePath) => |
| 10108 new _ExpectedScript.con2(scriptSourcePath); | 10084 new _ExpectedScript.con2(scriptSourcePath); |
| 10109 HtmlUnitBuilderTest_ExpectedVariable _v(String varName) => | 10085 HtmlUnitBuilderTest_ExpectedVariable _v(String varName) => |
| 10110 new HtmlUnitBuilderTest_ExpectedVariable(varName); | 10086 new HtmlUnitBuilderTest_ExpectedVariable(varName); |
| 10111 void _validate(HtmlElementImpl element, | 10087 void _validate(HtmlElementImpl element, |
| 10112 List<_ExpectedScript> expectedScripts) { | 10088 List<_ExpectedScript> expectedScripts) { |
| 10113 expect(element.context, same(_context)); | 10089 expect(element.context, same(_context)); |
| 10114 List<HtmlScriptElement> scripts = element.scripts; | 10090 List<HtmlScriptElement> scripts = element.scripts; |
| 10115 expect(scripts, isNotNull); | 10091 expect(scripts, isNotNull); |
| 10116 expect(scripts, hasLength(expectedScripts.length)); | 10092 expect(scripts, hasLength(expectedScripts.length)); |
| 10117 for (int scriptIndex = 0; scriptIndex < scripts.length; scriptIndex++) { | 10093 for (int scriptIndex = 0; scriptIndex < scripts.length; scriptIndex++) { |
| 10118 expectedScripts[scriptIndex]._validate(scriptIndex, scripts[scriptIndex]); | 10094 expectedScripts[scriptIndex]._validate(scriptIndex, scripts[scriptIndex]); |
| 10119 } | 10095 } |
| 10120 } | 10096 } |
| 10121 } | 10097 } |
| 10122 | 10098 |
| 10123 | 10099 |
| 10124 class HtmlUnitBuilderTest_ExpectedLibrary { | 10100 class HtmlUnitBuilderTest_ExpectedLibrary { |
| 10125 final HtmlUnitBuilderTest HtmlUnitBuilderTest_this; | 10101 final HtmlUnitBuilderTest HtmlUnitBuilderTest_this; |
| 10126 final List<HtmlUnitBuilderTest_ExpectedVariable> _expectedVariables; | 10102 final List<HtmlUnitBuilderTest_ExpectedVariable> _expectedVariables; |
| 10127 HtmlUnitBuilderTest_ExpectedLibrary(this.HtmlUnitBuilderTest_this, | 10103 HtmlUnitBuilderTest_ExpectedLibrary(this.HtmlUnitBuilderTest_this, |
| 10128 this._expectedVariables); | 10104 [this._expectedVariables = HtmlUnitBuilderTest_ExpectedVariable.EMPTY_LIST
]); |
| 10129 void _validate(int scriptIndex, EmbeddedHtmlScriptElementImpl script) { | 10105 void _validate(int scriptIndex, EmbeddedHtmlScriptElementImpl script) { |
| 10130 LibraryElement library = script.scriptLibrary; | 10106 LibraryElement library = script.scriptLibrary; |
| 10131 expect(library, isNotNull, reason: "script $scriptIndex"); | 10107 expect(library, isNotNull, reason: "script $scriptIndex"); |
| 10132 expect(script.context, same(HtmlUnitBuilderTest_this._context), reason: "scr
ipt $scriptIndex"); | 10108 expect(script.context, same(HtmlUnitBuilderTest_this._context), reason: "scr
ipt $scriptIndex"); |
| 10133 CompilationUnitElement unit = library.definingCompilationUnit; | 10109 CompilationUnitElement unit = library.definingCompilationUnit; |
| 10134 expect(unit, isNotNull, reason: "script $scriptIndex"); | 10110 expect(unit, isNotNull, reason: "script $scriptIndex"); |
| 10135 List<TopLevelVariableElement> variables = unit.topLevelVariables; | 10111 List<TopLevelVariableElement> variables = unit.topLevelVariables; |
| 10136 expect(variables, hasLength(_expectedVariables.length)); | 10112 expect(variables, hasLength(_expectedVariables.length)); |
| 10137 for (int index = 0; index < variables.length; index++) { | 10113 for (int index = 0; index < variables.length; index++) { |
| 10138 _expectedVariables[index].validate(scriptIndex, variables[index]); | 10114 _expectedVariables[index].validate(scriptIndex, variables[index]); |
| 10139 } | 10115 } |
| 10140 expect(library.enclosingElement, same(script), reason: "script $scriptIndex"
); | 10116 expect(library.enclosingElement, same(script), reason: "script $scriptIndex"
); |
| 10141 } | 10117 } |
| 10142 } | 10118 } |
| 10143 | 10119 |
| 10144 | 10120 |
| 10145 class HtmlUnitBuilderTest_ExpectedVariable { | 10121 class HtmlUnitBuilderTest_ExpectedVariable { |
| 10146 final String _expectedName; | 10122 final String _expectedName; |
| 10123 static const List<HtmlUnitBuilderTest_ExpectedVariable> EMPTY_LIST |
| 10124 = const <HtmlUnitBuilderTest_ExpectedVariable>[]; |
| 10147 HtmlUnitBuilderTest_ExpectedVariable(this._expectedName); | 10125 HtmlUnitBuilderTest_ExpectedVariable(this._expectedName); |
| 10148 void validate(int scriptIndex, TopLevelVariableElement variable) { | 10126 void validate(int scriptIndex, TopLevelVariableElement variable) { |
| 10149 expect(variable, isNotNull, reason: "script $scriptIndex"); | 10127 expect(variable, isNotNull, reason: "script $scriptIndex"); |
| 10150 expect(variable.name, _expectedName, reason: "script $scriptIndex"); | 10128 expect(variable.name, _expectedName, reason: "script $scriptIndex"); |
| 10151 } | 10129 } |
| 10152 } | 10130 } |
| 10153 | 10131 |
| 10154 | 10132 |
| 10155 /** | 10133 /** |
| 10156 * Instances of the class `HtmlWarningCodeTest` test the generation of HTML warn
ing codes. | 10134 * Instances of the class `HtmlWarningCodeTest` test the generation of HTML warn
ing codes. |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10328 void test_visitSuperConstructorInvocation_nonConst() { | 10306 void test_visitSuperConstructorInvocation_nonConst() { |
| 10329 _visitNode(_makeTailSuperConstructorInvocation("A", false, true)); | 10307 _visitNode(_makeTailSuperConstructorInvocation("A", false, true)); |
| 10330 _assertNoArcs(); | 10308 _assertNoArcs(); |
| 10331 } | 10309 } |
| 10332 void test_visitSuperConstructorInvocation_notInMap() { | 10310 void test_visitSuperConstructorInvocation_notInMap() { |
| 10333 _visitNode(_makeTailSuperConstructorInvocation("A", true, false)); | 10311 _visitNode(_makeTailSuperConstructorInvocation("A", true, false)); |
| 10334 _assertNoArcs(); | 10312 _assertNoArcs(); |
| 10335 } | 10313 } |
| 10336 void test_visitSuperConstructorInvocation_unresolved() { | 10314 void test_visitSuperConstructorInvocation_unresolved() { |
| 10337 SuperConstructorInvocation superConstructorInvocation = | 10315 SuperConstructorInvocation superConstructorInvocation = |
| 10338 AstFactory.superConstructorInvocation([]); | 10316 AstFactory.superConstructorInvocation(); |
| 10339 _tail = superConstructorInvocation; | 10317 _tail = superConstructorInvocation; |
| 10340 _visitNode(superConstructorInvocation); | 10318 _visitNode(superConstructorInvocation); |
| 10341 _assertNoArcs(); | 10319 _assertNoArcs(); |
| 10342 } | 10320 } |
| 10343 void _assertNoArcs() { | 10321 void _assertNoArcs() { |
| 10344 Set<AstNode> tails = _referenceGraph.getTails(_head); | 10322 Set<AstNode> tails = _referenceGraph.getTails(_head); |
| 10345 expect(tails, hasLength(0)); | 10323 expect(tails, hasLength(0)); |
| 10346 } | 10324 } |
| 10347 void _assertOneArc(AstNode tail) { | 10325 void _assertOneArc(AstNode tail) { |
| 10348 Set<AstNode> tails = _referenceGraph.getTails(_head); | 10326 Set<AstNode> tails = _referenceGraph.getTails(_head); |
| 10349 expect(tails, hasLength(1)); | 10327 expect(tails, hasLength(1)); |
| 10350 expect(tails.first, same(tail)); | 10328 expect(tails.first, same(tail)); |
| 10351 } | 10329 } |
| 10352 ReferenceFinder _createReferenceFinder(AstNode source) => | 10330 ReferenceFinder _createReferenceFinder(AstNode source) => |
| 10353 new ReferenceFinder( | 10331 new ReferenceFinder( |
| 10354 source, | 10332 source, |
| 10355 _referenceGraph, | 10333 _referenceGraph, |
| 10356 _variableDeclarationMap, | 10334 _variableDeclarationMap, |
| 10357 _constructorDeclarationMap); | 10335 _constructorDeclarationMap); |
| 10358 InstanceCreationExpression _makeTailConstructor(String name, | 10336 InstanceCreationExpression _makeTailConstructor(String name, |
| 10359 bool isConstDeclaration, bool isConstUsage, bool inMap) { | 10337 bool isConstDeclaration, bool isConstUsage, bool inMap) { |
| 10360 List<ConstructorInitializer> initializers = | 10338 List<ConstructorInitializer> initializers = |
| 10361 new List<ConstructorInitializer>(); | 10339 new List<ConstructorInitializer>(); |
| 10362 ConstructorDeclaration constructorDeclaration = | 10340 ConstructorDeclaration constructorDeclaration = |
| 10363 AstFactory.constructorDeclaration( | 10341 AstFactory.constructorDeclaration( |
| 10364 AstFactory.identifier3(name), | 10342 AstFactory.identifier3(name), |
| 10365 null, | 10343 null, |
| 10366 AstFactory.formalParameterList([]), | 10344 AstFactory.formalParameterList(), |
| 10367 initializers); | 10345 initializers); |
| 10368 if (isConstDeclaration) { | 10346 if (isConstDeclaration) { |
| 10369 constructorDeclaration.constKeyword = new KeywordToken(Keyword.CONST, 0); | 10347 constructorDeclaration.constKeyword = new KeywordToken(Keyword.CONST, 0); |
| 10370 } | 10348 } |
| 10371 ClassElementImpl classElement = ElementFactory.classElement2(name, []); | 10349 ClassElementImpl classElement = ElementFactory.classElement2(name); |
| 10372 SimpleIdentifier identifier = AstFactory.identifier3(name); | 10350 SimpleIdentifier identifier = AstFactory.identifier3(name); |
| 10373 TypeName type = AstFactory.typeName3(identifier, []); | 10351 TypeName type = AstFactory.typeName3(identifier); |
| 10374 InstanceCreationExpression instanceCreationExpression = | 10352 InstanceCreationExpression instanceCreationExpression = |
| 10375 AstFactory.instanceCreationExpression2( | 10353 AstFactory.instanceCreationExpression2( |
| 10376 isConstUsage ? Keyword.CONST : Keyword.NEW, | 10354 isConstUsage ? Keyword.CONST : Keyword.NEW, |
| 10377 type, | 10355 type); |
| 10378 []); | |
| 10379 _tail = instanceCreationExpression; | 10356 _tail = instanceCreationExpression; |
| 10380 ConstructorElementImpl constructorElement = | 10357 ConstructorElementImpl constructorElement = |
| 10381 ElementFactory.constructorElement(classElement, name, isConstDeclaration
, []); | 10358 ElementFactory.constructorElement(classElement, name, isConstDeclaration
); |
| 10382 if (inMap) { | 10359 if (inMap) { |
| 10383 _constructorDeclarationMap[constructorElement] = constructorDeclaration; | 10360 _constructorDeclarationMap[constructorElement] = constructorDeclaration; |
| 10384 } | 10361 } |
| 10385 instanceCreationExpression.staticElement = constructorElement; | 10362 instanceCreationExpression.staticElement = constructorElement; |
| 10386 return instanceCreationExpression; | 10363 return instanceCreationExpression; |
| 10387 } | 10364 } |
| 10388 SuperConstructorInvocation _makeTailSuperConstructorInvocation(String name, | 10365 SuperConstructorInvocation _makeTailSuperConstructorInvocation(String name, |
| 10389 bool isConst, bool inMap) { | 10366 bool isConst, bool inMap) { |
| 10390 List<ConstructorInitializer> initializers = | 10367 List<ConstructorInitializer> initializers = |
| 10391 new List<ConstructorInitializer>(); | 10368 new List<ConstructorInitializer>(); |
| 10392 ConstructorDeclaration constructorDeclaration = | 10369 ConstructorDeclaration constructorDeclaration = |
| 10393 AstFactory.constructorDeclaration( | 10370 AstFactory.constructorDeclaration( |
| 10394 AstFactory.identifier3(name), | 10371 AstFactory.identifier3(name), |
| 10395 null, | 10372 null, |
| 10396 AstFactory.formalParameterList([]), | 10373 AstFactory.formalParameterList(), |
| 10397 initializers); | 10374 initializers); |
| 10398 _tail = constructorDeclaration; | 10375 _tail = constructorDeclaration; |
| 10399 if (isConst) { | 10376 if (isConst) { |
| 10400 constructorDeclaration.constKeyword = new KeywordToken(Keyword.CONST, 0); | 10377 constructorDeclaration.constKeyword = new KeywordToken(Keyword.CONST, 0); |
| 10401 } | 10378 } |
| 10402 ClassElementImpl classElement = ElementFactory.classElement2(name, []); | 10379 ClassElementImpl classElement = ElementFactory.classElement2(name); |
| 10403 SuperConstructorInvocation superConstructorInvocation = | 10380 SuperConstructorInvocation superConstructorInvocation = |
| 10404 AstFactory.superConstructorInvocation([]); | 10381 AstFactory.superConstructorInvocation(); |
| 10405 ConstructorElementImpl constructorElement = | 10382 ConstructorElementImpl constructorElement = |
| 10406 ElementFactory.constructorElement(classElement, name, isConst, []); | 10383 ElementFactory.constructorElement(classElement, name, isConst); |
| 10407 if (inMap) { | 10384 if (inMap) { |
| 10408 _constructorDeclarationMap[constructorElement] = constructorDeclaration; | 10385 _constructorDeclarationMap[constructorElement] = constructorDeclaration; |
| 10409 } | 10386 } |
| 10410 superConstructorInvocation.staticElement = constructorElement; | 10387 superConstructorInvocation.staticElement = constructorElement; |
| 10411 return superConstructorInvocation; | 10388 return superConstructorInvocation; |
| 10412 } | 10389 } |
| 10413 SimpleIdentifier _makeTailVariable(String name, bool isConst, bool inMap) { | 10390 SimpleIdentifier _makeTailVariable(String name, bool isConst, bool inMap) { |
| 10414 VariableDeclaration variableDeclaration = | 10391 VariableDeclaration variableDeclaration = |
| 10415 AstFactory.variableDeclaration(name); | 10392 AstFactory.variableDeclaration(name); |
| 10416 _tail = variableDeclaration; | 10393 _tail = variableDeclaration; |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10588 _assertSource( | 10565 _assertSource( |
| 10589 "<script type='application/dart'>f() {}</script>", | 10566 "<script type='application/dart'>f() {}</script>", |
| 10590 HtmlFactory.scriptTagWithContent( | 10567 HtmlFactory.scriptTagWithContent( |
| 10591 "f() {}", | 10568 "f() {}", |
| 10592 [HtmlFactory.attribute("type", "'application/dart'")])); | 10569 [HtmlFactory.attribute("type", "'application/dart'")])); |
| 10593 } | 10570 } |
| 10594 | 10571 |
| 10595 void fail_visitHtmlScriptTagNode_noAttributes_content() { | 10572 void fail_visitHtmlScriptTagNode_noAttributes_content() { |
| 10596 _assertSource( | 10573 _assertSource( |
| 10597 "<script>f() {}</script>", | 10574 "<script>f() {}</script>", |
| 10598 HtmlFactory.scriptTagWithContent("f() {}", [])); | 10575 HtmlFactory.scriptTagWithContent("f() {}")); |
| 10599 } | 10576 } |
| 10600 | 10577 |
| 10601 void test_visitHtmlScriptTagNode_attributes_noContent() { | 10578 void test_visitHtmlScriptTagNode_attributes_noContent() { |
| 10602 _assertSource( | 10579 _assertSource( |
| 10603 "<script type='application/dart'/>", | 10580 "<script type='application/dart'/>", |
| 10604 HtmlFactory.scriptTag([HtmlFactory.attribute("type", "'application/dart'
")])); | 10581 HtmlFactory.scriptTag([HtmlFactory.attribute("type", "'application/dart'
")])); |
| 10605 } | 10582 } |
| 10606 | 10583 |
| 10607 void test_visitHtmlScriptTagNode_noAttributes_noContent() { | 10584 void test_visitHtmlScriptTagNode_noAttributes_noContent() { |
| 10608 _assertSource("<script/>", HtmlFactory.scriptTag([])); | 10585 _assertSource("<script/>", HtmlFactory.scriptTag()); |
| 10609 } | 10586 } |
| 10610 | 10587 |
| 10611 void test_visitHtmlUnit_empty() { | 10588 void test_visitHtmlUnit_empty() { |
| 10612 _assertSource("", new ht.HtmlUnit(null, new List<ht.XmlTagNode>(), null)); | 10589 _assertSource("", new ht.HtmlUnit(null, new List<ht.XmlTagNode>(), null)); |
| 10613 } | 10590 } |
| 10614 | 10591 |
| 10615 void test_visitHtmlUnit_nonEmpty() { | 10592 void test_visitHtmlUnit_nonEmpty() { |
| 10616 _assertSource( | 10593 _assertSource( |
| 10617 "<html/>", | 10594 "<html/>", |
| 10618 new ht.HtmlUnit(null, [HtmlFactory.tagNode("html", [])], null)); | 10595 new ht.HtmlUnit(null, [HtmlFactory.tagNode("html")], null)); |
| 10619 } | 10596 } |
| 10620 | 10597 |
| 10621 void test_visitXmlAttributeNode() { | 10598 void test_visitXmlAttributeNode() { |
| 10622 _assertSource("x=y", HtmlFactory.attribute("x", "y")); | 10599 _assertSource("x=y", HtmlFactory.attribute("x", "y")); |
| 10623 } | 10600 } |
| 10624 | 10601 |
| 10625 /** | 10602 /** |
| 10626 * Assert that a `ToSourceVisitor` will produce the expected source when visit
ing the given | 10603 * Assert that a `ToSourceVisitor` will produce the expected source when visit
ing the given |
| 10627 * node. | 10604 * node. |
| 10628 * | 10605 * |
| (...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10989 _errors.add( | 10966 _errors.add( |
| 10990 "Invalid source end ($nodeEnd) for ${node.runtimeType} inside ${pare
nt.runtimeType} ($parentStart)"); | 10967 "Invalid source end ($nodeEnd) for ${node.runtimeType} inside ${pare
nt.runtimeType} ($parentStart)"); |
| 10991 } | 10968 } |
| 10992 } | 10969 } |
| 10993 } | 10970 } |
| 10994 } | 10971 } |
| 10995 | 10972 |
| 10996 | 10973 |
| 10997 class XmlValidator_Attributes { | 10974 class XmlValidator_Attributes { |
| 10998 final List<String> _keyValuePairs; | 10975 final List<String> _keyValuePairs; |
| 10999 XmlValidator_Attributes(this._keyValuePairs); | 10976 XmlValidator_Attributes([this._keyValuePairs = StringUtilities.EMPTY_ARRAY]); |
| 11000 } | 10977 } |
| 11001 | 10978 |
| 11002 | 10979 |
| 11003 class XmlValidator_Tag { | 10980 class XmlValidator_Tag { |
| 11004 final String _tag; | 10981 final String _tag; |
| 11005 final XmlValidator_Attributes _attributes; | 10982 final XmlValidator_Attributes _attributes; |
| 11006 final String _content; | 10983 final String _content; |
| 11007 final List<XmlValidator_Tag> _children; | 10984 final List<XmlValidator_Tag> _children; |
| 11008 XmlValidator_Tag(this._tag, this._attributes, this._content, this._children); | 10985 static const List<XmlValidator_Tag> EMPTY_LIST = const <XmlValidator_Tag>[]; |
| 10986 XmlValidator_Tag(this._tag, this._attributes, this._content, [this._children =
EMPTY_LIST]); |
| 11009 } | 10987 } |
| 11010 | 10988 |
| 11011 | 10989 |
| 11012 class _AngularTest_findElement extends GeneralizingElementVisitor<Object> { | 10990 class _AngularTest_findElement extends GeneralizingElementVisitor<Object> { |
| 11013 final ElementKind kind; | 10991 final ElementKind kind; |
| 11014 | 10992 |
| 11015 final String name; | 10993 final String name; |
| 11016 | 10994 |
| 11017 Element result; | 10995 Element result; |
| 11018 | 10996 |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11063 Source scriptSource = externalScript.scriptSource; | 11041 Source scriptSource = externalScript.scriptSource; |
| 11064 if (_expectedExternalScriptName == null) { | 11042 if (_expectedExternalScriptName == null) { |
| 11065 expect(scriptSource, isNull, reason: "script $scriptIndex"); | 11043 expect(scriptSource, isNull, reason: "script $scriptIndex"); |
| 11066 } else { | 11044 } else { |
| 11067 expect(scriptSource, isNotNull, reason: "script $scriptIndex"); | 11045 expect(scriptSource, isNotNull, reason: "script $scriptIndex"); |
| 11068 String actualExternalScriptName = scriptSource.shortName; | 11046 String actualExternalScriptName = scriptSource.shortName; |
| 11069 expect(actualExternalScriptName, _expectedExternalScriptName, reason: "scr
ipt $scriptIndex"); | 11047 expect(actualExternalScriptName, _expectedExternalScriptName, reason: "scr
ipt $scriptIndex"); |
| 11070 } | 11048 } |
| 11071 } | 11049 } |
| 11072 } | 11050 } |
| OLD | NEW |