| 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 engine.resolver_test; | 5 library engine.resolver_test; |
| 6 | 6 |
| 7 import 'dart:collection'; | 7 import 'dart:collection'; |
| 8 import 'package:analyzer/src/generated/java_core.dart'; | 8 import 'package:analyzer/src/generated/java_core.dart'; |
| 9 import 'package:analyzer/src/generated/java_junit.dart'; | 9 import 'package:analyzer/src/generated/java_junit.dart'; |
| 10 import 'package:analyzer/src/generated/java_engine.dart'; | 10 import 'package:analyzer/src/generated/java_engine.dart'; |
| (...skipping 4140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4151 | 4151 |
| 4152 void test_lookupOverrides_overrideBaseClass() { | 4152 void test_lookupOverrides_overrideBaseClass() { |
| 4153 ClassElementImpl classA = ElementFactory.classElement2("A", []); | 4153 ClassElementImpl classA = ElementFactory.classElement2("A", []); |
| 4154 String methodName = "m"; | 4154 String methodName = "m"; |
| 4155 MethodElementImpl methodMinA = ElementFactory.methodElement(methodName, _typ
eProvider.intType, []); | 4155 MethodElementImpl methodMinA = ElementFactory.methodElement(methodName, _typ
eProvider.intType, []); |
| 4156 classA.methods = <MethodElement> [methodMinA]; | 4156 classA.methods = <MethodElement> [methodMinA]; |
| 4157 ClassElementImpl classB = ElementFactory.classElement("B", classA.type, []); | 4157 ClassElementImpl classB = ElementFactory.classElement("B", classA.type, []); |
| 4158 MethodElementImpl methodMinB = ElementFactory.methodElement(methodName, _typ
eProvider.intType, []); | 4158 MethodElementImpl methodMinB = ElementFactory.methodElement(methodName, _typ
eProvider.intType, []); |
| 4159 classB.methods = <MethodElement> [methodMinB]; | 4159 classB.methods = <MethodElement> [methodMinB]; |
| 4160 List<ExecutableElement> overrides = _inheritanceManager.lookupOverrides(clas
sB, methodName); | 4160 List<ExecutableElement> overrides = _inheritanceManager.lookupOverrides(clas
sB, methodName); |
| 4161 EngineTestCase.assertEqualsIgnoreOrder(<Object> [methodMinA], new List.from(
overrides)); | 4161 EngineTestCase.assertEqualsIgnoreOrder(<Object> [methodMinA], overrides); |
| 4162 _assertNoErrors(classA); | 4162 _assertNoErrors(classA); |
| 4163 _assertNoErrors(classB); | 4163 _assertNoErrors(classB); |
| 4164 } | 4164 } |
| 4165 | 4165 |
| 4166 void test_lookupOverrides_overrideInterface() { | 4166 void test_lookupOverrides_overrideInterface() { |
| 4167 ClassElementImpl classA = ElementFactory.classElement2("A", []); | 4167 ClassElementImpl classA = ElementFactory.classElement2("A", []); |
| 4168 String methodName = "m"; | 4168 String methodName = "m"; |
| 4169 MethodElementImpl methodMinA = ElementFactory.methodElement(methodName, _typ
eProvider.intType, []); | 4169 MethodElementImpl methodMinA = ElementFactory.methodElement(methodName, _typ
eProvider.intType, []); |
| 4170 classA.methods = <MethodElement> [methodMinA]; | 4170 classA.methods = <MethodElement> [methodMinA]; |
| 4171 ClassElementImpl classB = ElementFactory.classElement2("B", []); | 4171 ClassElementImpl classB = ElementFactory.classElement2("B", []); |
| 4172 classB.interfaces = <InterfaceType> [classA.type]; | 4172 classB.interfaces = <InterfaceType> [classA.type]; |
| 4173 MethodElementImpl methodMinB = ElementFactory.methodElement(methodName, _typ
eProvider.intType, []); | 4173 MethodElementImpl methodMinB = ElementFactory.methodElement(methodName, _typ
eProvider.intType, []); |
| 4174 classB.methods = <MethodElement> [methodMinB]; | 4174 classB.methods = <MethodElement> [methodMinB]; |
| 4175 List<ExecutableElement> overrides = _inheritanceManager.lookupOverrides(clas
sB, methodName); | 4175 List<ExecutableElement> overrides = _inheritanceManager.lookupOverrides(clas
sB, methodName); |
| 4176 EngineTestCase.assertEqualsIgnoreOrder(<Object> [methodMinA], new List.from(
overrides)); | 4176 EngineTestCase.assertEqualsIgnoreOrder(<Object> [methodMinA], overrides); |
| 4177 _assertNoErrors(classA); | 4177 _assertNoErrors(classA); |
| 4178 _assertNoErrors(classB); | 4178 _assertNoErrors(classB); |
| 4179 } | 4179 } |
| 4180 | 4180 |
| 4181 void test_lookupOverrides_overrideTwoInterfaces() { | 4181 void test_lookupOverrides_overrideTwoInterfaces() { |
| 4182 ClassElementImpl classA = ElementFactory.classElement2("A", []); | 4182 ClassElementImpl classA = ElementFactory.classElement2("A", []); |
| 4183 String methodName = "m"; | 4183 String methodName = "m"; |
| 4184 MethodElementImpl methodMinA = ElementFactory.methodElement(methodName, _typ
eProvider.intType, []); | 4184 MethodElementImpl methodMinA = ElementFactory.methodElement(methodName, _typ
eProvider.intType, []); |
| 4185 classA.methods = <MethodElement> [methodMinA]; | 4185 classA.methods = <MethodElement> [methodMinA]; |
| 4186 ClassElementImpl classB = ElementFactory.classElement2("B", []); | 4186 ClassElementImpl classB = ElementFactory.classElement2("B", []); |
| 4187 MethodElementImpl methodMinB = ElementFactory.methodElement(methodName, _typ
eProvider.doubleType, []); | 4187 MethodElementImpl methodMinB = ElementFactory.methodElement(methodName, _typ
eProvider.doubleType, []); |
| 4188 classB.methods = <MethodElement> [methodMinB]; | 4188 classB.methods = <MethodElement> [methodMinB]; |
| 4189 ClassElementImpl classC = ElementFactory.classElement2("C", []); | 4189 ClassElementImpl classC = ElementFactory.classElement2("C", []); |
| 4190 classC.interfaces = <InterfaceType> [classA.type, classB.type]; | 4190 classC.interfaces = <InterfaceType> [classA.type, classB.type]; |
| 4191 MethodElementImpl methodMinC = ElementFactory.methodElement(methodName, _typ
eProvider.numType, []); | 4191 MethodElementImpl methodMinC = ElementFactory.methodElement(methodName, _typ
eProvider.numType, []); |
| 4192 classC.methods = <MethodElement> [methodMinC]; | 4192 classC.methods = <MethodElement> [methodMinC]; |
| 4193 List<ExecutableElement> overrides = _inheritanceManager.lookupOverrides(clas
sC, methodName); | 4193 List<ExecutableElement> overrides = _inheritanceManager.lookupOverrides(clas
sC, methodName); |
| 4194 EngineTestCase.assertEqualsIgnoreOrder(<Object> [methodMinA, methodMinB], ne
w List.from(overrides)); | 4194 EngineTestCase.assertEqualsIgnoreOrder(<Object> [methodMinA, methodMinB], ov
errides); |
| 4195 _assertNoErrors(classA); | 4195 _assertNoErrors(classA); |
| 4196 _assertNoErrors(classB); | 4196 _assertNoErrors(classB); |
| 4197 _assertNoErrors(classC); | 4197 _assertNoErrors(classC); |
| 4198 } | 4198 } |
| 4199 | 4199 |
| 4200 void _assertErrors(ClassElement classElt, List<ErrorCode> expectedErrorCodes)
{ | 4200 void _assertErrors(ClassElement classElt, List<ErrorCode> expectedErrorCodes)
{ |
| 4201 GatheringErrorListener errorListener = new GatheringErrorListener(); | 4201 GatheringErrorListener errorListener = new GatheringErrorListener(); |
| 4202 HashSet<AnalysisError> actualErrors = _inheritanceManager.getErrors(classElt
); | 4202 HashSet<AnalysisError> actualErrors = _inheritanceManager.getErrors(classElt
); |
| 4203 if (actualErrors != null) { | 4203 if (actualErrors != null) { |
| 4204 for (AnalysisError error in actualErrors) { | 4204 for (AnalysisError error in actualErrors) { |
| (...skipping 4171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8376 List<ParameterElement> parameterElements = new List<ParameterElement>(); | 8376 List<ParameterElement> parameterElements = new List<ParameterElement>(); |
| 8377 for (FormalParameter parameter in parameters.parameters) { | 8377 for (FormalParameter parameter in parameters.parameters) { |
| 8378 ParameterElementImpl element = new ParameterElementImpl.forNode(parameter.
identifier); | 8378 ParameterElementImpl element = new ParameterElementImpl.forNode(parameter.
identifier); |
| 8379 element.parameterKind = parameter.kind; | 8379 element.parameterKind = parameter.kind; |
| 8380 element.type = _typeProvider.dynamicType; | 8380 element.type = _typeProvider.dynamicType; |
| 8381 parameter.identifier.staticElement = element; | 8381 parameter.identifier.staticElement = element; |
| 8382 parameterElements.add(element); | 8382 parameterElements.add(element); |
| 8383 } | 8383 } |
| 8384 FunctionExpression node = AstFactory.functionExpression2(parameters, body); | 8384 FunctionExpression node = AstFactory.functionExpression2(parameters, body); |
| 8385 FunctionElementImpl element = new FunctionElementImpl.forNode(null); | 8385 FunctionElementImpl element = new FunctionElementImpl.forNode(null); |
| 8386 element.parameters = new List.from(parameterElements); | 8386 element.parameters = parameterElements; |
| 8387 element.type = new FunctionTypeImpl.con1(element); | 8387 element.type = new FunctionTypeImpl.con1(element); |
| 8388 node.element = element; | 8388 node.element = element; |
| 8389 return node; | 8389 return node; |
| 8390 } | 8390 } |
| 8391 | 8391 |
| 8392 /** | 8392 /** |
| 8393 * Return an integer literal that has been resolved to the correct type. | 8393 * Return an integer literal that has been resolved to the correct type. |
| 8394 * | 8394 * |
| 8395 * @param value the value of the literal | 8395 * @param value the value of the literal |
| 8396 * @return an integer literal that has been resolved to the correct type | 8396 * @return an integer literal that has been resolved to the correct type |
| (...skipping 2760 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11157 runReflectiveTests(TypeResolverVisitorTest); | 11157 runReflectiveTests(TypeResolverVisitorTest); |
| 11158 runReflectiveTests(CheckedModeCompileTimeErrorCodeTest); | 11158 runReflectiveTests(CheckedModeCompileTimeErrorCodeTest); |
| 11159 runReflectiveTests(ErrorResolverTest); | 11159 runReflectiveTests(ErrorResolverTest); |
| 11160 runReflectiveTests(HintCodeTest); | 11160 runReflectiveTests(HintCodeTest); |
| 11161 runReflectiveTests(MemberMapTest); | 11161 runReflectiveTests(MemberMapTest); |
| 11162 runReflectiveTests(NonHintCodeTest); | 11162 runReflectiveTests(NonHintCodeTest); |
| 11163 runReflectiveTests(SimpleResolverTest); | 11163 runReflectiveTests(SimpleResolverTest); |
| 11164 runReflectiveTests(StrictModeTest); | 11164 runReflectiveTests(StrictModeTest); |
| 11165 runReflectiveTests(TypePropagationTest); | 11165 runReflectiveTests(TypePropagationTest); |
| 11166 } | 11166 } |
| OLD | NEW |