Index: pkg/analyzer_experimental/lib/src/generated/element.dart |
diff --git a/pkg/analyzer_experimental/lib/src/generated/element.dart b/pkg/analyzer_experimental/lib/src/generated/element.dart |
index 575fe43c713f4dbeb1cc0b2762eac6f6a3745050..00d699d0ec2e3984d9207fd4aecc2100e19632e7 100644 |
--- a/pkg/analyzer_experimental/lib/src/generated/element.dart |
+++ b/pkg/analyzer_experimental/lib/src/generated/element.dart |
@@ -553,6 +553,7 @@ class ElementKind implements Comparable<ElementKind> { |
*/ |
String get displayName => _displayName; |
int compareTo(ElementKind other) => ordinal - other.ordinal; |
+ int get hashCode => ordinal; |
String toString() => name; |
} |
/** |
@@ -3932,6 +3933,7 @@ class Modifier implements Comparable<Modifier> { |
Modifier(this.name, this.ordinal) { |
} |
int compareTo(Modifier other) => ordinal - other.ordinal; |
+ int get hashCode => ordinal; |
String toString() => name; |
} |
/** |
@@ -5607,7 +5609,6 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { |
* @see #getLeastUpperBound(Type) |
*/ |
static Set<InterfaceType> computeSuperinterfaceSet(InterfaceType type) => computeSuperinterfaceSet2(type, new Set<InterfaceType>()); |
- List<TypeVariableElement> get typeVariables => element.typeVariables; |
/** |
* This method computes the longest inheritance path from some passed {@link Type} to Object. This |
@@ -5846,6 +5847,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { |
return supertype2.substitute2(_typeArguments, TypeVariableTypeImpl.getTypes(classElement.typeVariables)); |
} |
List<Type2> get typeArguments => _typeArguments; |
+ List<TypeVariableElement> get typeVariables => element.typeVariables; |
int get hashCode { |
ClassElement element2 = element; |
if (element2 == null) { |
@@ -6118,6 +6120,8 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { |
} |
} |
return true; |
+ } else if (typeS.isDartCoreFunction() && elementT.getMethod("call") != null) { |
+ return true; |
} |
InterfaceType supertype2 = elementT.supertype; |
if (supertype2 != null && ((supertype2 as InterfaceTypeImpl)).isSubtypeOf2(typeS, visitedClasses)) { |