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 |