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.generated.element_test; | 5 library analyzer.test.generated.element_test; |
6 | 6 |
| 7 import 'package:analyzer/dart/element/element.dart'; |
| 8 import 'package:analyzer/dart/element/type.dart'; |
| 9 import 'package:analyzer/src/dart/element/element.dart'; |
| 10 import 'package:analyzer/src/dart/element/type.dart'; |
7 import 'package:analyzer/src/generated/ast.dart'; | 11 import 'package:analyzer/src/generated/ast.dart'; |
8 import 'package:analyzer/src/generated/element.dart'; | |
9 import 'package:analyzer/src/generated/engine.dart' | 12 import 'package:analyzer/src/generated/engine.dart' |
10 show AnalysisContext, AnalysisOptionsImpl; | 13 show AnalysisContext, AnalysisOptionsImpl; |
11 import 'package:analyzer/src/generated/java_core.dart'; | 14 import 'package:analyzer/src/generated/java_core.dart'; |
12 import 'package:analyzer/src/generated/source_io.dart'; | 15 import 'package:analyzer/src/generated/source_io.dart'; |
13 import 'package:analyzer/src/generated/testing/ast_factory.dart'; | 16 import 'package:analyzer/src/generated/testing/ast_factory.dart'; |
14 import 'package:analyzer/src/generated/testing/element_factory.dart'; | 17 import 'package:analyzer/src/generated/testing/element_factory.dart'; |
15 import 'package:analyzer/src/generated/testing/test_type_provider.dart'; | 18 import 'package:analyzer/src/generated/testing/test_type_provider.dart'; |
16 import 'package:unittest/unittest.dart'; | 19 import 'package:unittest/unittest.dart'; |
17 | 20 |
18 import '../reflective_tests.dart'; | 21 import '../reflective_tests.dart'; |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
274 ElementFactory.setterElement("foo", false, null); | 277 ElementFactory.setterElement("foo", false, null); |
275 classA.accessors = <PropertyAccessorElement>[setter]; | 278 classA.accessors = <PropertyAccessorElement>[setter]; |
276 // "foo" is static | 279 // "foo" is static |
277 setter.static = true; | 280 setter.static = true; |
278 expect(classA.hasStaticMember, isTrue); | 281 expect(classA.hasStaticMember, isTrue); |
279 } | 282 } |
280 | 283 |
281 void test_isEnum() { | 284 void test_isEnum() { |
282 String firstConst = "A"; | 285 String firstConst = "A"; |
283 String secondConst = "B"; | 286 String secondConst = "B"; |
284 ClassElementImpl enumE = ElementFactory.enumElement( | 287 ClassElementImpl enumE = ElementFactory |
285 new TestTypeProvider(), "E", [firstConst, secondConst]); | 288 .enumElement(new TestTypeProvider(), "E", [firstConst, secondConst]); |
286 | 289 |
287 // E is an enum | 290 // E is an enum |
288 expect(enumE.isEnum, true); | 291 expect(enumE.isEnum, true); |
289 | 292 |
290 // A and B are static members | 293 // A and B are static members |
291 expect(enumE.getField(firstConst).isEnumConstant, true); | 294 expect(enumE.getField(firstConst).isEnumConstant, true); |
292 expect(enumE.getField(secondConst).isEnumConstant, true); | 295 expect(enumE.getField(secondConst).isEnumConstant, true); |
293 } | 296 } |
294 | 297 |
295 void test_lookUpConcreteMethod_declared() { | 298 void test_lookUpConcreteMethod_declared() { |
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
626 inheritedMethod.abstract = true; | 629 inheritedMethod.abstract = true; |
627 classA.methods = <MethodElement>[inheritedMethod]; | 630 classA.methods = <MethodElement>[inheritedMethod]; |
628 ClassElementImpl classB = ElementFactory.classElement("B", classA.type); | 631 ClassElementImpl classB = ElementFactory.classElement("B", classA.type); |
629 MethodElement method = ElementFactory.methodElement(methodName, null); | 632 MethodElement method = ElementFactory.methodElement(methodName, null); |
630 classB.methods = <MethodElement>[method]; | 633 classB.methods = <MethodElement>[method]; |
631 (library.definingCompilationUnit as CompilationUnitElementImpl).types = | 634 (library.definingCompilationUnit as CompilationUnitElementImpl).types = |
632 <ClassElement>[classA, classB]; | 635 <ClassElement>[classA, classB]; |
633 expect(classB.lookUpInheritedConcreteMethod(methodName, library), isNull); | 636 expect(classB.lookUpInheritedConcreteMethod(methodName, library), isNull); |
634 } | 637 } |
635 | 638 |
636 void test_lookUpInheritedConcreteMethod_declaredAndInheritedWithAbstractBetwee
n() { | 639 void |
| 640 test_lookUpInheritedConcreteMethod_declaredAndInheritedWithAbstractBetween
() { |
637 // class A { | 641 // class A { |
638 // m() {} | 642 // m() {} |
639 // } | 643 // } |
640 // class B extends A { | 644 // class B extends A { |
641 // m(); | 645 // m(); |
642 // } | 646 // } |
643 // class C extends B { | 647 // class C extends B { |
644 // m() {} | 648 // m() {} |
645 // } | 649 // } |
646 LibraryElementImpl library = | 650 LibraryElementImpl library = |
(...skipping 1250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1897 functionElement.parameters = <ParameterElement>[ | 1901 functionElement.parameters = <ParameterElement>[ |
1898 ElementFactory.requiredParameter2("a", parameterType), | 1902 ElementFactory.requiredParameter2("a", parameterType), |
1899 ElementFactory.positionalParameter2("b", parameterType), | 1903 ElementFactory.positionalParameter2("b", parameterType), |
1900 ElementFactory.namedParameter2(namedParameterName, parameterType) | 1904 ElementFactory.namedParameter2(namedParameterName, parameterType) |
1901 ]; | 1905 ]; |
1902 functionElement.returnType = parameterType; | 1906 functionElement.returnType = parameterType; |
1903 definingClass.methods = <MethodElement>[functionElement]; | 1907 definingClass.methods = <MethodElement>[functionElement]; |
1904 FunctionTypeImpl functionType = new FunctionTypeImpl(functionElement); | 1908 FunctionTypeImpl functionType = new FunctionTypeImpl(functionElement); |
1905 InterfaceTypeImpl argumentType = new InterfaceTypeImpl( | 1909 InterfaceTypeImpl argumentType = new InterfaceTypeImpl( |
1906 new ClassElementImpl.forNode(AstFactory.identifier3("D"))); | 1910 new ClassElementImpl.forNode(AstFactory.identifier3("D"))); |
1907 FunctionType result = functionType.substitute2( | 1911 FunctionType result = functionType |
1908 <DartType>[argumentType], <DartType>[parameterType]); | 1912 .substitute2(<DartType>[argumentType], <DartType>[parameterType]); |
1909 expect(result.returnType, argumentType); | 1913 expect(result.returnType, argumentType); |
1910 List<DartType> normalParameters = result.normalParameterTypes; | 1914 List<DartType> normalParameters = result.normalParameterTypes; |
1911 expect(normalParameters, hasLength(1)); | 1915 expect(normalParameters, hasLength(1)); |
1912 expect(normalParameters[0], argumentType); | 1916 expect(normalParameters[0], argumentType); |
1913 List<DartType> optionalParameters = result.optionalParameterTypes; | 1917 List<DartType> optionalParameters = result.optionalParameterTypes; |
1914 expect(optionalParameters, hasLength(1)); | 1918 expect(optionalParameters, hasLength(1)); |
1915 expect(optionalParameters[0], argumentType); | 1919 expect(optionalParameters[0], argumentType); |
1916 Map<String, DartType> namedParameters = result.namedParameterTypes; | 1920 Map<String, DartType> namedParameters = result.namedParameterTypes; |
1917 expect(namedParameters, hasLength(1)); | 1921 expect(namedParameters, hasLength(1)); |
1918 expect(namedParameters[namedParameterName], argumentType); | 1922 expect(namedParameters[namedParameterName], argumentType); |
(...skipping 15 matching lines...) Expand all Loading... |
1934 ElementFactory.requiredParameter2("a", normalParameterType), | 1938 ElementFactory.requiredParameter2("a", normalParameterType), |
1935 ElementFactory.positionalParameter2("b", optionalParameterType), | 1939 ElementFactory.positionalParameter2("b", optionalParameterType), |
1936 ElementFactory.namedParameter2(namedParameterName, namedParameterType) | 1940 ElementFactory.namedParameter2(namedParameterName, namedParameterType) |
1937 ]; | 1941 ]; |
1938 functionElement.returnType = returnType; | 1942 functionElement.returnType = returnType; |
1939 FunctionTypeImpl functionType = new FunctionTypeImpl(functionElement); | 1943 FunctionTypeImpl functionType = new FunctionTypeImpl(functionElement); |
1940 InterfaceTypeImpl argumentType = new InterfaceTypeImpl( | 1944 InterfaceTypeImpl argumentType = new InterfaceTypeImpl( |
1941 new ClassElementImpl.forNode(AstFactory.identifier3("D"))); | 1945 new ClassElementImpl.forNode(AstFactory.identifier3("D"))); |
1942 TypeParameterTypeImpl parameterType = new TypeParameterTypeImpl( | 1946 TypeParameterTypeImpl parameterType = new TypeParameterTypeImpl( |
1943 new TypeParameterElementImpl.forNode(AstFactory.identifier3("E"))); | 1947 new TypeParameterElementImpl.forNode(AstFactory.identifier3("E"))); |
1944 FunctionType result = functionType.substitute2( | 1948 FunctionType result = functionType |
1945 <DartType>[argumentType], <DartType>[parameterType]); | 1949 .substitute2(<DartType>[argumentType], <DartType>[parameterType]); |
1946 expect(result.returnType, returnType); | 1950 expect(result.returnType, returnType); |
1947 List<DartType> normalParameters = result.normalParameterTypes; | 1951 List<DartType> normalParameters = result.normalParameterTypes; |
1948 expect(normalParameters, hasLength(1)); | 1952 expect(normalParameters, hasLength(1)); |
1949 expect(normalParameters[0], normalParameterType); | 1953 expect(normalParameters[0], normalParameterType); |
1950 List<DartType> optionalParameters = result.optionalParameterTypes; | 1954 List<DartType> optionalParameters = result.optionalParameterTypes; |
1951 expect(optionalParameters, hasLength(1)); | 1955 expect(optionalParameters, hasLength(1)); |
1952 expect(optionalParameters[0], optionalParameterType); | 1956 expect(optionalParameters[0], optionalParameterType); |
1953 Map<String, DartType> namedParameters = result.namedParameterTypes; | 1957 Map<String, DartType> namedParameters = result.namedParameterTypes; |
1954 expect(namedParameters, hasLength(1)); | 1958 expect(namedParameters, hasLength(1)); |
1955 expect(namedParameters[namedParameterName], namedParameterType); | 1959 expect(namedParameters[namedParameterName], namedParameterType); |
(...skipping 2050 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4006 } | 4010 } |
4007 | 4011 |
4008 class _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction | 4012 class _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction |
4009 extends InterfaceTypeImpl { | 4013 extends InterfaceTypeImpl { |
4010 _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction(ClassElement arg0) | 4014 _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction(ClassElement arg0) |
4011 : super(arg0); | 4015 : super(arg0); |
4012 | 4016 |
4013 @override | 4017 @override |
4014 bool get isDartCoreFunction => true; | 4018 bool get isDartCoreFunction => true; |
4015 } | 4019 } |
OLD | NEW |