| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library analyzer.test.src.dart.element.element_test; | 5 library analyzer.test.src.dart.element.element_test; |
| 6 | 6 |
| 7 import 'package:analyzer/dart/ast/ast.dart'; | 7 import 'package:analyzer/dart/ast/ast.dart'; |
| 8 import 'package:analyzer/dart/constant/value.dart'; | 8 import 'package:analyzer/dart/constant/value.dart'; |
| 9 import 'package:analyzer/dart/element/element.dart'; | 9 import 'package:analyzer/dart/element/element.dart'; |
| 10 import 'package:analyzer/dart/element/type.dart'; | 10 import 'package:analyzer/dart/element/type.dart'; |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 defineReflectiveTests(PropertyAccessorElementImplTest); | 46 defineReflectiveTests(PropertyAccessorElementImplTest); |
| 47 defineReflectiveTests(TopLevelVariableElementImplTest); | 47 defineReflectiveTests(TopLevelVariableElementImplTest); |
| 48 }); | 48 }); |
| 49 } | 49 } |
| 50 | 50 |
| 51 @reflectiveTest | 51 @reflectiveTest |
| 52 class ClassElementImplTest extends EngineTestCase { | 52 class ClassElementImplTest extends EngineTestCase { |
| 53 void test_computeNode_ClassDeclaration() { | 53 void test_computeNode_ClassDeclaration() { |
| 54 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); | 54 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); |
| 55 AnalysisContext context = contextHelper.context; | 55 AnalysisContext context = contextHelper.context; |
| 56 Source source = contextHelper.addSource( | 56 Source source = contextHelper.addSource("/test.dart", r''' |
| 57 "/test.dart", | |
| 58 r''' | |
| 59 class A {} | 57 class A {} |
| 60 @deprecated class B {} | 58 @deprecated class B {} |
| 61 enum C {C1, C2, C3} | 59 enum C {C1, C2, C3} |
| 62 @deprecated enum D {D1, D2, D3}'''); | 60 @deprecated enum D {D1, D2, D3}'''); |
| 63 // prepare CompilationUnitElement | 61 // prepare CompilationUnitElement |
| 64 LibraryElement libraryElement = context.computeLibraryElement(source); | 62 LibraryElement libraryElement = context.computeLibraryElement(source); |
| 65 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; | 63 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; |
| 66 // A | 64 // A |
| 67 { | 65 { |
| 68 ClassElement elementA = unitElement.getType("A"); | 66 ClassElement elementA = unitElement.getType("A"); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 EnumDeclaration nodeC = elementD.computeNode(); | 99 EnumDeclaration nodeC = elementD.computeNode(); |
| 102 expect(nodeC, isNotNull); | 100 expect(nodeC, isNotNull); |
| 103 expect(nodeC.name.name, "D"); | 101 expect(nodeC.name.name, "D"); |
| 104 expect(nodeC.element, same(elementD)); | 102 expect(nodeC.element, same(elementD)); |
| 105 } | 103 } |
| 106 } | 104 } |
| 107 | 105 |
| 108 void test_computeNode_ClassTypeAlias() { | 106 void test_computeNode_ClassTypeAlias() { |
| 109 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); | 107 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); |
| 110 AnalysisContext context = contextHelper.context; | 108 AnalysisContext context = contextHelper.context; |
| 111 Source source = contextHelper.addSource( | 109 Source source = contextHelper.addSource("/test.dart", r''' |
| 112 "/test.dart", | |
| 113 r''' | |
| 114 abstract class A<K, V> = Object with MapMixin<K, V>; | 110 abstract class A<K, V> = Object with MapMixin<K, V>; |
| 115 '''); | 111 '''); |
| 116 // prepare CompilationUnitElement | 112 // prepare CompilationUnitElement |
| 117 LibraryElement libraryElement = context.computeLibraryElement(source); | 113 LibraryElement libraryElement = context.computeLibraryElement(source); |
| 118 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; | 114 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; |
| 119 // A | 115 // A |
| 120 { | 116 { |
| 121 ClassElement elementA = unitElement.getType("A"); | 117 ClassElement elementA = unitElement.getType("A"); |
| 122 ClassTypeAlias nodeA = elementA.computeNode(); | 118 ClassTypeAlias nodeA = elementA.computeNode(); |
| 123 expect(nodeA, isNotNull); | 119 expect(nodeA, isNotNull); |
| (...skipping 877 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1001 String className = "C"; | 997 String className = "C"; |
| 1002 ClassElement classElement = ElementFactory.classElement2(className); | 998 ClassElement classElement = ElementFactory.classElement2(className); |
| 1003 unit.types = <ClassElement>[classElement]; | 999 unit.types = <ClassElement>[classElement]; |
| 1004 expect(unit.getType("${className}x"), isNull); | 1000 expect(unit.getType("${className}x"), isNull); |
| 1005 } | 1001 } |
| 1006 } | 1002 } |
| 1007 | 1003 |
| 1008 @reflectiveTest | 1004 @reflectiveTest |
| 1009 class ElementAnnotationImplTest extends ResolverTestCase { | 1005 class ElementAnnotationImplTest extends ResolverTestCase { |
| 1010 void test_computeConstantValue() { | 1006 void test_computeConstantValue() { |
| 1011 addNamedSource( | 1007 addNamedSource('/a.dart', r''' |
| 1012 '/a.dart', | |
| 1013 r''' | |
| 1014 class A { | 1008 class A { |
| 1015 final String f; | 1009 final String f; |
| 1016 const A(this.f); | 1010 const A(this.f); |
| 1017 } | 1011 } |
| 1018 void f(@A('x') int p) {} | 1012 void f(@A('x') int p) {} |
| 1019 '''); | 1013 '''); |
| 1020 Source source = addSource(r''' | 1014 Source source = addSource(r''' |
| 1021 import 'a.dart'; | 1015 import 'a.dart'; |
| 1022 main() { | 1016 main() { |
| 1023 f(3); | 1017 f(3); |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1199 ElementLocationImpl second = new ElementLocationImpl.con2(encoding); | 1193 ElementLocationImpl second = new ElementLocationImpl.con2(encoding); |
| 1200 expect(first.hashCode == second.hashCode, isTrue); | 1194 expect(first.hashCode == second.hashCode, isTrue); |
| 1201 } | 1195 } |
| 1202 } | 1196 } |
| 1203 | 1197 |
| 1204 @reflectiveTest | 1198 @reflectiveTest |
| 1205 class FieldElementImplTest extends EngineTestCase { | 1199 class FieldElementImplTest extends EngineTestCase { |
| 1206 void test_computeNode() { | 1200 void test_computeNode() { |
| 1207 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); | 1201 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); |
| 1208 AnalysisContext context = contextHelper.context; | 1202 AnalysisContext context = contextHelper.context; |
| 1209 Source source = contextHelper.addSource( | 1203 Source source = contextHelper.addSource("/test.dart", r''' |
| 1210 "/test.dart", | |
| 1211 r''' | |
| 1212 class A { | 1204 class A { |
| 1213 int a; | 1205 int a; |
| 1214 } | 1206 } |
| 1215 enum B {B1, B2, B3}'''); | 1207 enum B {B1, B2, B3}'''); |
| 1216 // prepare CompilationUnitElement | 1208 // prepare CompilationUnitElement |
| 1217 LibraryElement libraryElement = context.computeLibraryElement(source); | 1209 LibraryElement libraryElement = context.computeLibraryElement(source); |
| 1218 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; | 1210 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; |
| 1219 // A | 1211 // A |
| 1220 { | 1212 { |
| 1221 FieldElement elementA = unitElement.getType("A").getField('a'); | 1213 FieldElement elementA = unitElement.getType("A").getField('a'); |
| 1222 VariableDeclaration nodeA = elementA.computeNode(); | 1214 VariableDeclaration nodeA = elementA.computeNode(); |
| 1223 expect(nodeA, isNotNull); | 1215 expect(nodeA, isNotNull); |
| 1224 expect(nodeA.name.name, "a"); | 1216 expect(nodeA.name.name, "a"); |
| 1225 expect(nodeA.element, same(elementA)); | 1217 expect(nodeA.element, same(elementA)); |
| 1226 } | 1218 } |
| 1227 // B | 1219 // B |
| 1228 { | 1220 { |
| 1229 FieldElement elementB = unitElement.getEnum("B").getField('B2'); | 1221 FieldElement elementB = unitElement.getEnum("B").getField('B2'); |
| 1230 EnumConstantDeclaration nodeB = elementB.computeNode(); | 1222 EnumConstantDeclaration nodeB = elementB.computeNode(); |
| 1231 expect(nodeB, isNotNull); | 1223 expect(nodeB, isNotNull); |
| 1232 expect(nodeB.name.name, "B2"); | 1224 expect(nodeB.name.name, "B2"); |
| 1233 expect(nodeB.element, same(elementB)); | 1225 expect(nodeB.element, same(elementB)); |
| 1234 } | 1226 } |
| 1235 } | 1227 } |
| 1236 | 1228 |
| 1237 void test_isEnumConstant() { | 1229 void test_isEnumConstant() { |
| 1238 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); | 1230 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); |
| 1239 AnalysisContext context = contextHelper.context; | 1231 AnalysisContext context = contextHelper.context; |
| 1240 Source source = contextHelper.addSource( | 1232 Source source = contextHelper.addSource("/test.dart", r''' |
| 1241 "/test.dart", | |
| 1242 r''' | |
| 1243 enum B {B1, B2, B3} | 1233 enum B {B1, B2, B3} |
| 1244 '''); | 1234 '''); |
| 1245 // prepare CompilationUnitElement | 1235 // prepare CompilationUnitElement |
| 1246 LibraryElement libraryElement = context.computeLibraryElement(source); | 1236 LibraryElement libraryElement = context.computeLibraryElement(source); |
| 1247 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; | 1237 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; |
| 1248 | 1238 |
| 1249 FieldElement b2Element = unitElement.getEnum("B").getField('B2'); | 1239 FieldElement b2Element = unitElement.getEnum("B").getField('B2'); |
| 1250 expect(b2Element.isEnumConstant, isTrue); | 1240 expect(b2Element.isEnumConstant, isTrue); |
| 1251 | 1241 |
| 1252 FieldElement indexElement = unitElement.getEnum("B").getField('index'); | 1242 FieldElement indexElement = unitElement.getEnum("B").getField('index'); |
| (...skipping 2583 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3836 } | 3826 } |
| 3837 | 3827 |
| 3838 @reflectiveTest | 3828 @reflectiveTest |
| 3839 class LocalVariableElementImplTest extends EngineTestCase {} | 3829 class LocalVariableElementImplTest extends EngineTestCase {} |
| 3840 | 3830 |
| 3841 @reflectiveTest | 3831 @reflectiveTest |
| 3842 class MethodElementImplTest extends EngineTestCase { | 3832 class MethodElementImplTest extends EngineTestCase { |
| 3843 void test_computeNode() { | 3833 void test_computeNode() { |
| 3844 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); | 3834 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); |
| 3845 AnalysisContext context = contextHelper.context; | 3835 AnalysisContext context = contextHelper.context; |
| 3846 Source source = contextHelper.addSource( | 3836 Source source = contextHelper.addSource("/test.dart", r''' |
| 3847 "/test.dart", | |
| 3848 r''' | |
| 3849 abstract class A { | 3837 abstract class A { |
| 3850 String m1() => null; | 3838 String m1() => null; |
| 3851 m2(); | 3839 m2(); |
| 3852 } | 3840 } |
| 3853 '''); | 3841 '''); |
| 3854 // prepare CompilationUnitElement | 3842 // prepare CompilationUnitElement |
| 3855 LibraryElement libraryElement = context.computeLibraryElement(source); | 3843 LibraryElement libraryElement = context.computeLibraryElement(source); |
| 3856 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; | 3844 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; |
| 3857 // m1 | 3845 // m1 |
| 3858 { | 3846 { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 3870 expect(m2Node.name.name, "m2"); | 3858 expect(m2Node.name.name, "m2"); |
| 3871 expect(m2Node.element, same(m2Element)); | 3859 expect(m2Node.element, same(m2Element)); |
| 3872 } | 3860 } |
| 3873 } | 3861 } |
| 3874 | 3862 |
| 3875 void test_computeNode_withoutFunctionBody() { | 3863 void test_computeNode_withoutFunctionBody() { |
| 3876 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); | 3864 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); |
| 3877 options.analyzeFunctionBodies = false; | 3865 options.analyzeFunctionBodies = false; |
| 3878 AnalysisContextHelper contextHelper = new AnalysisContextHelper(options); | 3866 AnalysisContextHelper contextHelper = new AnalysisContextHelper(options); |
| 3879 AnalysisContext context = contextHelper.context; | 3867 AnalysisContext context = contextHelper.context; |
| 3880 Source source = contextHelper.addSource( | 3868 Source source = contextHelper.addSource("/test.dart", r''' |
| 3881 "/test.dart", | |
| 3882 r''' | |
| 3883 abstract class A { | 3869 abstract class A { |
| 3884 String m1() => null; | 3870 String m1() => null; |
| 3885 m2(); | 3871 m2(); |
| 3886 } | 3872 } |
| 3887 '''); | 3873 '''); |
| 3888 // prepare CompilationUnitElement | 3874 // prepare CompilationUnitElement |
| 3889 LibraryElement libraryElement = context.computeLibraryElement(source); | 3875 LibraryElement libraryElement = context.computeLibraryElement(source); |
| 3890 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; | 3876 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; |
| 3891 // m1 | 3877 // m1 |
| 3892 { | 3878 { |
| (...skipping 25 matching lines...) Expand all Loading... |
| 3918 void setUp() { | 3904 void setUp() { |
| 3919 super.setUp(); | 3905 super.setUp(); |
| 3920 _typeProvider = new TestTypeProvider(); | 3906 _typeProvider = new TestTypeProvider(); |
| 3921 } | 3907 } |
| 3922 | 3908 |
| 3923 void test_getReifiedType_substituteFor() { | 3909 void test_getReifiedType_substituteFor() { |
| 3924 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); | 3910 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); |
| 3925 options.analyzeFunctionBodies = false; | 3911 options.analyzeFunctionBodies = false; |
| 3926 AnalysisContextHelper contextHelper = new AnalysisContextHelper(options); | 3912 AnalysisContextHelper contextHelper = new AnalysisContextHelper(options); |
| 3927 AnalysisContext context = contextHelper.context; | 3913 AnalysisContext context = contextHelper.context; |
| 3928 Source source = contextHelper.addSource( | 3914 Source source = contextHelper.addSource("/test.dart", r''' |
| 3929 "/test.dart", | |
| 3930 r''' | |
| 3931 class A<T> { | 3915 class A<T> { |
| 3932 T f(T x) => x; | 3916 T f(T x) => x; |
| 3933 } | 3917 } |
| 3934 class B<S> extends A<S> { | 3918 class B<S> extends A<S> { |
| 3935 S f(S x) => x; | 3919 S f(S x) => x; |
| 3936 } | 3920 } |
| 3937 '''); | 3921 '''); |
| 3938 // prepare CompilationUnitElement | 3922 // prepare CompilationUnitElement |
| 3939 LibraryElement libraryElement = context.computeLibraryElement(source); | 3923 LibraryElement libraryElement = context.computeLibraryElement(source); |
| 3940 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; | 3924 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4010 library.definingCompilationUnit = compilationUnit; | 3994 library.definingCompilationUnit = compilationUnit; |
| 4011 compilationUnit.topLevelVariables = variables; | 3995 compilationUnit.topLevelVariables = variables; |
| 4012 } | 3996 } |
| 4013 } | 3997 } |
| 4014 | 3998 |
| 4015 @reflectiveTest | 3999 @reflectiveTest |
| 4016 class ParameterElementImplTest extends EngineTestCase { | 4000 class ParameterElementImplTest extends EngineTestCase { |
| 4017 void test_computeNode_DefaultFormalParameter() { | 4001 void test_computeNode_DefaultFormalParameter() { |
| 4018 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); | 4002 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); |
| 4019 AnalysisContext context = contextHelper.context; | 4003 AnalysisContext context = contextHelper.context; |
| 4020 Source source = contextHelper.addSource( | 4004 Source source = contextHelper.addSource("/test.dart", r''' |
| 4021 "/test.dart", | |
| 4022 r''' | |
| 4023 main([int p = 42]) { | 4005 main([int p = 42]) { |
| 4024 }'''); | 4006 }'''); |
| 4025 // prepare CompilationUnitElement | 4007 // prepare CompilationUnitElement |
| 4026 LibraryElement libraryElement = context.computeLibraryElement(source); | 4008 LibraryElement libraryElement = context.computeLibraryElement(source); |
| 4027 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; | 4009 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; |
| 4028 // p | 4010 // p |
| 4029 { | 4011 { |
| 4030 ParameterElement element = unitElement.functions[0].parameters[0]; | 4012 ParameterElement element = unitElement.functions[0].parameters[0]; |
| 4031 DefaultFormalParameter node = element.computeNode(); | 4013 DefaultFormalParameter node = element.computeNode(); |
| 4032 expect(node, isNotNull); | 4014 expect(node, isNotNull); |
| 4033 expect(node.identifier.name, 'p'); | 4015 expect(node.identifier.name, 'p'); |
| 4034 expect(node.element, same(element)); | 4016 expect(node.element, same(element)); |
| 4035 } | 4017 } |
| 4036 } | 4018 } |
| 4037 | 4019 |
| 4038 void test_computeNode_FieldFormalParameter() { | 4020 void test_computeNode_FieldFormalParameter() { |
| 4039 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); | 4021 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); |
| 4040 AnalysisContext context = contextHelper.context; | 4022 AnalysisContext context = contextHelper.context; |
| 4041 Source source = contextHelper.addSource( | 4023 Source source = contextHelper.addSource("/test.dart", r''' |
| 4042 "/test.dart", | |
| 4043 r''' | |
| 4044 class A { | 4024 class A { |
| 4045 int p; | 4025 int p; |
| 4046 A(this.p) { | 4026 A(this.p) { |
| 4047 } | 4027 } |
| 4048 }'''); | 4028 }'''); |
| 4049 // prepare CompilationUnitElement | 4029 // prepare CompilationUnitElement |
| 4050 LibraryElement libraryElement = context.computeLibraryElement(source); | 4030 LibraryElement libraryElement = context.computeLibraryElement(source); |
| 4051 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; | 4031 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; |
| 4052 // p | 4032 // p |
| 4053 { | 4033 { |
| 4054 ClassElement classA = unitElement.types[0]; | 4034 ClassElement classA = unitElement.types[0]; |
| 4055 ConstructorElement constructorA = classA.constructors[0]; | 4035 ConstructorElement constructorA = classA.constructors[0]; |
| 4056 FieldFormalParameterElement element = constructorA.parameters[0]; | 4036 FieldFormalParameterElement element = constructorA.parameters[0]; |
| 4057 FieldFormalParameter node = element.computeNode(); | 4037 FieldFormalParameter node = element.computeNode(); |
| 4058 expect(node, isNotNull); | 4038 expect(node, isNotNull); |
| 4059 expect(node.identifier.name, 'p'); | 4039 expect(node.identifier.name, 'p'); |
| 4060 expect(node.element, same(element)); | 4040 expect(node.element, same(element)); |
| 4061 } | 4041 } |
| 4062 } | 4042 } |
| 4063 | 4043 |
| 4064 void test_computeNode_FunctionTypedFormalParameter() { | 4044 void test_computeNode_FunctionTypedFormalParameter() { |
| 4065 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); | 4045 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); |
| 4066 AnalysisContext context = contextHelper.context; | 4046 AnalysisContext context = contextHelper.context; |
| 4067 Source source = contextHelper.addSource( | 4047 Source source = contextHelper.addSource("/test.dart", r''' |
| 4068 "/test.dart", | |
| 4069 r''' | |
| 4070 main(p(int a, int b)) { | 4048 main(p(int a, int b)) { |
| 4071 }'''); | 4049 }'''); |
| 4072 // prepare CompilationUnitElement | 4050 // prepare CompilationUnitElement |
| 4073 LibraryElement libraryElement = context.computeLibraryElement(source); | 4051 LibraryElement libraryElement = context.computeLibraryElement(source); |
| 4074 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; | 4052 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; |
| 4075 // p | 4053 // p |
| 4076 { | 4054 { |
| 4077 ParameterElement element = unitElement.functions[0].parameters[0]; | 4055 ParameterElement element = unitElement.functions[0].parameters[0]; |
| 4078 FunctionTypedFormalParameter node = element.computeNode(); | 4056 FunctionTypedFormalParameter node = element.computeNode(); |
| 4079 expect(node, isNotNull); | 4057 expect(node, isNotNull); |
| 4080 expect(node.identifier.name, 'p'); | 4058 expect(node.identifier.name, 'p'); |
| 4081 expect(node.element, same(element)); | 4059 expect(node.element, same(element)); |
| 4082 } | 4060 } |
| 4083 } | 4061 } |
| 4084 | 4062 |
| 4085 void test_computeNode_SimpleFormalParameter() { | 4063 void test_computeNode_SimpleFormalParameter() { |
| 4086 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); | 4064 AnalysisContextHelper contextHelper = new AnalysisContextHelper(); |
| 4087 AnalysisContext context = contextHelper.context; | 4065 AnalysisContext context = contextHelper.context; |
| 4088 Source source = contextHelper.addSource( | 4066 Source source = contextHelper.addSource("/test.dart", r''' |
| 4089 "/test.dart", | |
| 4090 r''' | |
| 4091 main(int p) { | 4067 main(int p) { |
| 4092 }'''); | 4068 }'''); |
| 4093 // prepare CompilationUnitElement | 4069 // prepare CompilationUnitElement |
| 4094 LibraryElement libraryElement = context.computeLibraryElement(source); | 4070 LibraryElement libraryElement = context.computeLibraryElement(source); |
| 4095 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; | 4071 CompilationUnitElement unitElement = libraryElement.definingCompilationUnit; |
| 4096 // p | 4072 // p |
| 4097 { | 4073 { |
| 4098 ParameterElement element = unitElement.functions[0].parameters[0]; | 4074 ParameterElement element = unitElement.functions[0].parameters[0]; |
| 4099 SimpleFormalParameter node = element.computeNode(); | 4075 SimpleFormalParameter node = element.computeNode(); |
| 4100 expect(node, isNotNull); | 4076 expect(node, isNotNull); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4145 | 4121 |
| 4146 @override | 4122 @override |
| 4147 Element getElement(ElementLocation location) { | 4123 Element getElement(ElementLocation location) { |
| 4148 return locationMap[location]; | 4124 return locationMap[location]; |
| 4149 } | 4125 } |
| 4150 } | 4126 } |
| 4151 | 4127 |
| 4152 @reflectiveTest | 4128 @reflectiveTest |
| 4153 class TopLevelVariableElementImplTest extends ResolverTestCase { | 4129 class TopLevelVariableElementImplTest extends ResolverTestCase { |
| 4154 void test_computeConstantValue() { | 4130 void test_computeConstantValue() { |
| 4155 addNamedSource( | 4131 addNamedSource('/a.dart', r''' |
| 4156 '/a.dart', | |
| 4157 r''' | |
| 4158 const int C = 42; | 4132 const int C = 42; |
| 4159 '''); | 4133 '''); |
| 4160 Source source = addSource(r''' | 4134 Source source = addSource(r''' |
| 4161 import 'a.dart'; | 4135 import 'a.dart'; |
| 4162 main() { | 4136 main() { |
| 4163 print(C); | 4137 print(C); |
| 4164 } | 4138 } |
| 4165 '''); | 4139 '''); |
| 4166 LibraryElement library = resolve2(source); | 4140 LibraryElement library = resolve2(source); |
| 4167 CompilationUnit unit = resolveCompilationUnit(source, library); | 4141 CompilationUnit unit = resolveCompilationUnit(source, library); |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4381 } | 4355 } |
| 4382 | 4356 |
| 4383 class _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction | 4357 class _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction |
| 4384 extends InterfaceTypeImpl { | 4358 extends InterfaceTypeImpl { |
| 4385 _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction(ClassElement arg0) | 4359 _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction(ClassElement arg0) |
| 4386 : super(arg0); | 4360 : super(arg0); |
| 4387 | 4361 |
| 4388 @override | 4362 @override |
| 4389 bool get isDartCoreFunction => true; | 4363 bool get isDartCoreFunction => true; |
| 4390 } | 4364 } |
| OLD | NEW |