Index: pkg/analyzer/lib/src/generated/element_resolver.dart |
diff --git a/pkg/analyzer/lib/src/generated/element_resolver.dart b/pkg/analyzer/lib/src/generated/element_resolver.dart |
index 1e5794a863207b49f15f9b00695229f5530c1cf5..ab8fe91b9e3428a78338182cce69b4f509325084 100644 |
--- a/pkg/analyzer/lib/src/generated/element_resolver.dart |
+++ b/pkg/analyzer/lib/src/generated/element_resolver.dart |
@@ -161,20 +161,20 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
_lookUpMethod(leftHandSide, propagatedType, methodName); |
node.propagatedElement = propagatedMethod; |
if (_shouldReportMissingMember(staticType, staticMethod)) { |
- _recordUndefinedToken(staticType.element, |
- StaticTypeWarningCode.UNDEFINED_METHOD, operator, [ |
- methodName, |
- staticType.displayName |
- ]); |
+ _recordUndefinedToken( |
+ staticType.element, |
+ StaticTypeWarningCode.UNDEFINED_METHOD, |
+ operator, |
+ [methodName, staticType.displayName]); |
} else if (_enableHints && |
_shouldReportMissingMember(propagatedType, propagatedMethod) && |
!_memberFoundInSubclass( |
propagatedType.element, methodName, true, false)) { |
- _recordUndefinedToken(propagatedType.element, |
- HintCode.UNDEFINED_METHOD, operator, [ |
- methodName, |
- propagatedType.displayName |
- ]); |
+ _recordUndefinedToken( |
+ propagatedType.element, |
+ HintCode.UNDEFINED_METHOD, |
+ operator, |
+ [methodName, propagatedType.displayName]); |
} |
} |
} |
@@ -203,6 +203,7 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
setMetadata(node.element, node); |
return null; |
} |
+ |
@override |
Object visitClassTypeAlias(ClassTypeAlias node) { |
setMetadata(node.element, node); |
@@ -494,8 +495,13 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
node.staticElement = setterStaticMethod; |
node.propagatedElement = setterPropagatedMethod; |
// generate undefined method warning |
- _checkForUndefinedIndexOperator(node, target, getterMethodName, |
- setterStaticMethod, setterPropagatedMethod, staticType, |
+ _checkForUndefinedIndexOperator( |
+ node, |
+ target, |
+ getterMethodName, |
+ setterStaticMethod, |
+ setterPropagatedMethod, |
+ staticType, |
propagatedType); |
// lookup getter method |
MethodElement getterStaticMethod = |
@@ -507,8 +513,13 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
new AuxiliaryElements(getterStaticMethod, getterPropagatedMethod); |
node.auxiliaryElements = auxiliaryElements; |
// generate undefined method warning |
- _checkForUndefinedIndexOperator(node, target, getterMethodName, |
- getterStaticMethod, getterPropagatedMethod, staticType, |
+ _checkForUndefinedIndexOperator( |
+ node, |
+ target, |
+ getterMethodName, |
+ getterStaticMethod, |
+ getterPropagatedMethod, |
+ staticType, |
propagatedType); |
} else if (isInGetterContext) { |
// lookup getter method |
@@ -592,7 +603,8 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
_isDeferredPrefix(target)) { |
if (node.operator.type == sc.TokenType.QUESTION_PERIOD) { |
_resolver.reportErrorForNode( |
- CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT, target, |
+ CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT, |
+ target, |
[(target as SimpleIdentifier).name]); |
} |
LibraryElement importedLibrary = _getImportedLibrary(target); |
@@ -721,10 +733,8 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
ErrorCode proxyErrorCode = (generatedWithTypePropagation |
? HintCode.UNDEFINED_METHOD |
: StaticTypeWarningCode.UNDEFINED_METHOD); |
- _recordUndefinedNode(targetType.element, proxyErrorCode, methodName, [ |
- methodName.name, |
- targetTypeName |
- ]); |
+ _recordUndefinedNode(targetType.element, proxyErrorCode, methodName, |
+ [methodName.name, targetTypeName]); |
} |
} else if (identical( |
errorCode, StaticTypeWarningCode.UNDEFINED_SUPER_METHOD)) { |
@@ -766,17 +776,17 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
node.propagatedElement = propagatedMethod; |
if (_shouldReportMissingMember(staticType, staticMethod)) { |
if (operand is SuperExpression) { |
- _recordUndefinedToken(staticType.element, |
- StaticTypeWarningCode.UNDEFINED_SUPER_OPERATOR, node.operator, [ |
- methodName, |
- staticType.displayName |
- ]); |
+ _recordUndefinedToken( |
+ staticType.element, |
+ StaticTypeWarningCode.UNDEFINED_SUPER_OPERATOR, |
+ node.operator, |
+ [methodName, staticType.displayName]); |
} else { |
- _recordUndefinedToken(staticType.element, |
- StaticTypeWarningCode.UNDEFINED_OPERATOR, node.operator, [ |
- methodName, |
- staticType.displayName |
- ]); |
+ _recordUndefinedToken( |
+ staticType.element, |
+ StaticTypeWarningCode.UNDEFINED_OPERATOR, |
+ node.operator, |
+ [methodName, staticType.displayName]); |
} |
} else if (_enableHints && |
_shouldReportMissingMember(propagatedType, propagatedMethod) && |
@@ -879,27 +889,27 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
node.propagatedElement = propagatedMethod; |
if (_shouldReportMissingMember(staticType, staticMethod)) { |
if (operand is SuperExpression) { |
- _recordUndefinedToken(staticType.element, |
- StaticTypeWarningCode.UNDEFINED_SUPER_OPERATOR, operator, [ |
- methodName, |
- staticType.displayName |
- ]); |
+ _recordUndefinedToken( |
+ staticType.element, |
+ StaticTypeWarningCode.UNDEFINED_SUPER_OPERATOR, |
+ operator, |
+ [methodName, staticType.displayName]); |
} else { |
- _recordUndefinedToken(staticType.element, |
- StaticTypeWarningCode.UNDEFINED_OPERATOR, operator, [ |
- methodName, |
- staticType.displayName |
- ]); |
+ _recordUndefinedToken( |
+ staticType.element, |
+ StaticTypeWarningCode.UNDEFINED_OPERATOR, |
+ operator, |
+ [methodName, staticType.displayName]); |
} |
} else if (_enableHints && |
_shouldReportMissingMember(propagatedType, propagatedMethod) && |
!_memberFoundInSubclass( |
propagatedType.element, methodName, true, false)) { |
- _recordUndefinedToken(propagatedType.element, |
- HintCode.UNDEFINED_OPERATOR, operator, [ |
- methodName, |
- propagatedType.displayName |
- ]); |
+ _recordUndefinedToken( |
+ propagatedType.element, |
+ HintCode.UNDEFINED_OPERATOR, |
+ operator, |
+ [methodName, propagatedType.displayName]); |
} |
} |
return null; |
@@ -1005,7 +1015,8 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
CompileTimeErrorCode.INVALID_ANNOTATION, annotation); |
} else if (element is PrefixElement) { |
_resolver.reportErrorForNode( |
- CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT, node, |
+ CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT, |
+ node, |
[element.name]); |
} else { |
_recordUndefinedNode(_resolver.enclosingClass, |
@@ -1052,14 +1063,14 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
!enclosingClass.isSuperConstructorAccessible(element))) { |
if (name != null) { |
_resolver.reportErrorForNode( |
- CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER, node, [ |
- superType.displayName, |
- name |
- ]); |
+ CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER, |
+ node, |
+ [superType.displayName, name]); |
} else { |
_resolver.reportErrorForNode( |
CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER_DEFAULT, |
- node, [superType.displayName]); |
+ node, |
+ [superType.displayName]); |
} |
return null; |
} else { |
@@ -1197,9 +1208,13 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
* the target of the expression. The [methodName] is the name of the operator |
* associated with the context of using of the given index expression. |
*/ |
- bool _checkForUndefinedIndexOperator(IndexExpression expression, |
- Expression target, String methodName, MethodElement staticMethod, |
- MethodElement propagatedMethod, DartType staticType, |
+ bool _checkForUndefinedIndexOperator( |
+ IndexExpression expression, |
+ Expression target, |
+ String methodName, |
+ MethodElement staticMethod, |
+ MethodElement propagatedMethod, |
+ DartType staticType, |
DartType propagatedType) { |
bool shouldReportMissingMember_static = |
_shouldReportMissingMember(staticType, staticMethod); |
@@ -1226,17 +1241,13 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
DartType type = |
shouldReportMissingMember_static ? staticType : propagatedType; |
if (leftBracket == null || rightBracket == null) { |
- _recordUndefinedNode(type.element, errorCode, expression, [ |
- methodName, |
- type.displayName |
- ]); |
+ _recordUndefinedNode(type.element, errorCode, expression, |
+ [methodName, type.displayName]); |
} else { |
int offset = leftBracket.offset; |
int length = rightBracket.offset - offset + 1; |
- _recordUndefinedOffset(type.element, errorCode, offset, length, [ |
- methodName, |
- type.displayName |
- ]); |
+ _recordUndefinedOffset(type.element, errorCode, offset, length, |
+ [methodName, type.displayName]); |
} |
return true; |
} |
@@ -1581,8 +1592,10 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
* been examined, used to prevent infinite recursion and to optimize the |
* search. |
*/ |
- PropertyAccessorElement _lookUpGetterInInterfaces(InterfaceType targetType, |
- bool includeTargetType, String getterName, |
+ PropertyAccessorElement _lookUpGetterInInterfaces( |
+ InterfaceType targetType, |
+ bool includeTargetType, |
+ String getterName, |
HashSet<ClassElement> visitedInterfaces) { |
// TODO(brianwilkerson) This isn't correct. Section 8.1.1 of the |
// specification (titled "Inheritance and Overriding" under "Interfaces") |
@@ -1655,8 +1668,10 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
* interfaces that have been examined, used to prevent infinite recursion and |
* to optimize the search. |
*/ |
- ExecutableElement _lookUpGetterOrMethodInInterfaces(InterfaceType targetType, |
- bool includeTargetType, String memberName, |
+ ExecutableElement _lookUpGetterOrMethodInInterfaces( |
+ InterfaceType targetType, |
+ bool includeTargetType, |
+ String memberName, |
HashSet<ClassElement> visitedInterfaces) { |
// TODO(brianwilkerson) This isn't correct. Section 8.1.1 of the |
// specification (titled "Inheritance and Overriding" under "Interfaces") |
@@ -1736,8 +1751,10 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
* been examined, used to prevent infinite recursion and to optimize the |
* search. |
*/ |
- MethodElement _lookUpMethodInInterfaces(InterfaceType targetType, |
- bool includeTargetType, String methodName, |
+ MethodElement _lookUpMethodInInterfaces( |
+ InterfaceType targetType, |
+ bool includeTargetType, |
+ String methodName, |
HashSet<ClassElement> visitedInterfaces) { |
// TODO(brianwilkerson) This isn't correct. Section 8.1.1 of the |
// specification (titled "Inheritance and Overriding" under "Interfaces") |
@@ -1814,8 +1831,10 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
* been examined, used to prevent infinite recursion and to optimize the |
* search. |
*/ |
- PropertyAccessorElement _lookUpSetterInInterfaces(InterfaceType targetType, |
- bool includeTargetType, String setterName, |
+ PropertyAccessorElement _lookUpSetterInInterfaces( |
+ InterfaceType targetType, |
+ bool includeTargetType, |
+ String setterName, |
HashSet<ClassElement> visitedInterfaces) { |
// TODO(brianwilkerson) This isn't correct. Section 8.1.1 of the |
// specification (titled "Inheritance and Overriding" under "Interfaces") |
@@ -2011,8 +2030,8 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
// Class(args) |
if (element1 is ClassElement) { |
ClassElement classElement = element1; |
- constructor = new InterfaceTypeImpl(classElement).lookUpConstructor( |
- null, _definingLibrary); |
+ constructor = new InterfaceTypeImpl(classElement) |
+ .lookUpConstructor(null, _definingLibrary); |
} |
} |
// |
@@ -2040,8 +2059,8 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
// Class.constructor(args) |
if (element1 is ClassElement) { |
ClassElement classElement = element1; |
- constructor = new InterfaceTypeImpl(classElement).lookUpConstructor( |
- nameNode2.name, _definingLibrary); |
+ constructor = new InterfaceTypeImpl(classElement) |
+ .lookUpConstructor(nameNode2.name, _definingLibrary); |
nameNode2.staticElement = constructor; |
} |
} |
@@ -2064,8 +2083,8 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
return; |
} |
// prefix.Class.constructor(args) |
- constructor = new InterfaceTypeImpl(classElement).lookUpConstructor( |
- name3, _definingLibrary); |
+ constructor = new InterfaceTypeImpl(classElement) |
+ .lookUpConstructor(name3, _definingLibrary); |
nameNode3.staticElement = constructor; |
} |
} |
@@ -2188,19 +2207,15 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
ErrorCode errorCode = (reportError |
? CompileTimeErrorCode.NOT_ENOUGH_REQUIRED_ARGUMENTS |
: StaticWarningCode.NOT_ENOUGH_REQUIRED_ARGUMENTS); |
- _resolver.reportErrorForNode(errorCode, argumentList, [ |
- requiredParameters.length, |
- positionalArgumentCount |
- ]); |
+ _resolver.reportErrorForNode(errorCode, argumentList, |
+ [requiredParameters.length, positionalArgumentCount]); |
} else if (positionalArgumentCount > unnamedParameterCount && |
noBlankArguments) { |
ErrorCode errorCode = (reportError |
? CompileTimeErrorCode.EXTRA_POSITIONAL_ARGUMENTS |
: StaticWarningCode.EXTRA_POSITIONAL_ARGUMENTS); |
- _resolver.reportErrorForNode(errorCode, argumentList, [ |
- unnamedParameterCount, |
- positionalArgumentCount |
- ]); |
+ _resolver.reportErrorForNode(errorCode, argumentList, |
+ [unnamedParameterCount, positionalArgumentCount]); |
} |
return resolvedParameters; |
} |
@@ -2218,27 +2233,27 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
node.propagatedElement = propagatedMethod; |
if (_shouldReportMissingMember(staticType, staticMethod)) { |
if (leftOperand is SuperExpression) { |
- _recordUndefinedToken(staticType.element, |
- StaticTypeWarningCode.UNDEFINED_SUPER_OPERATOR, node.operator, [ |
- methodName, |
- staticType.displayName |
- ]); |
+ _recordUndefinedToken( |
+ staticType.element, |
+ StaticTypeWarningCode.UNDEFINED_SUPER_OPERATOR, |
+ node.operator, |
+ [methodName, staticType.displayName]); |
} else { |
- _recordUndefinedToken(staticType.element, |
- StaticTypeWarningCode.UNDEFINED_OPERATOR, node.operator, [ |
- methodName, |
- staticType.displayName |
- ]); |
+ _recordUndefinedToken( |
+ staticType.element, |
+ StaticTypeWarningCode.UNDEFINED_OPERATOR, |
+ node.operator, |
+ [methodName, staticType.displayName]); |
} |
} else if (_enableHints && |
_shouldReportMissingMember(propagatedType, propagatedMethod) && |
!_memberFoundInSubclass( |
propagatedType.element, methodName, true, false)) { |
- _recordUndefinedToken(propagatedType.element, |
- HintCode.UNDEFINED_OPERATOR, node.operator, [ |
- methodName, |
- propagatedType.displayName |
- ]); |
+ _recordUndefinedToken( |
+ propagatedType.element, |
+ HintCode.UNDEFINED_OPERATOR, |
+ node.operator, |
+ [methodName, propagatedType.displayName]); |
} |
} |
} |
@@ -2371,7 +2386,8 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
if (isConditional) { |
_resolver.reportErrorForNode( |
CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT, |
- target, [target.name]); |
+ target, |
+ [target.name]); |
} |
// |
// Look to see whether the name of the method is really part of a |
@@ -2480,7 +2496,8 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
return; |
} else if (classElement.isEnum && propertyName.name == "_name") { |
_resolver.reportErrorForNode( |
- CompileTimeErrorCode.ACCESS_PRIVATE_ENUM_FIELD, propertyName, |
+ CompileTimeErrorCode.ACCESS_PRIVATE_ENUM_FIELD, |
+ propertyName, |
[propertyName.name]); |
return; |
} |
@@ -2507,10 +2524,8 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
} else { |
errorCode = HintCode.UNDEFINED_SETTER; |
} |
- _recordUndefinedNode(declaringElement, errorCode, propertyName, [ |
- propertyName.name, |
- displayType.displayName |
- ]); |
+ _recordUndefinedNode(declaringElement, errorCode, propertyName, |
+ [propertyName.name, displayType.displayName]); |
} else if (propertyName.inGetterContext()) { |
ErrorCode errorCode; |
if (shouldReportMissingMember_static) { |
@@ -2530,13 +2545,13 @@ class ElementResolver extends SimpleAstVisitor<Object> { |
} else { |
errorCode = HintCode.UNDEFINED_GETTER; |
} |
- _recordUndefinedNode(declaringElement, errorCode, propertyName, [ |
- propertyName.name, |
- displayType.displayName |
- ]); |
+ _recordUndefinedNode(declaringElement, errorCode, propertyName, |
+ [propertyName.name, displayType.displayName]); |
} else { |
- _recordUndefinedNode(declaringElement, |
- StaticWarningCode.UNDEFINED_IDENTIFIER, propertyName, |
+ _recordUndefinedNode( |
+ declaringElement, |
+ StaticWarningCode.UNDEFINED_IDENTIFIER, |
+ propertyName, |
[propertyName.name]); |
} |
} |