Index: pkg/analyzer/lib/src/generated/error_verifier.dart |
diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart |
index 717ef2ad6defb872ebb81583d30b6426aa750be3..010833e30374c4f1edc65c8c0e87349d3c766386 100644 |
--- a/pkg/analyzer/lib/src/generated/error_verifier.dart |
+++ b/pkg/analyzer/lib/src/generated/error_verifier.dart |
@@ -5038,10 +5038,10 @@ class ErrorVerifier extends RecursiveAstVisitor<Object> { |
FunctionType requiredMemberFT = _inheritanceManager |
.substituteTypeArgumentsInMemberFromInheritance( |
requiredMemberType, memberName, enclosingType); |
- foundConcreteFT = |
- _typeSystem.typeToConcreteType(_typeProvider, foundConcreteFT); |
- requiredMemberFT = |
- _typeSystem.typeToConcreteType(_typeProvider, requiredMemberFT); |
+ foundConcreteFT = _typeSystem.functionTypeToConcreteType( |
+ _typeProvider, foundConcreteFT); |
+ requiredMemberFT = _typeSystem.functionTypeToConcreteType( |
+ _typeProvider, requiredMemberFT); |
if (_typeSystem.isSubtypeOf(foundConcreteFT, requiredMemberFT)) { |
continue; |
} |
@@ -6229,9 +6229,9 @@ class ErrorVerifier extends RecursiveAstVisitor<Object> { |
bool _expressionIsAssignableAtType(Expression expression, |
DartType actualStaticType, DartType expectedStaticType) { |
bool concrete = _options.strongMode && checker.isKnownFunction(expression); |
- if (concrete) { |
- actualStaticType = |
- _typeSystem.typeToConcreteType(_typeProvider, actualStaticType); |
+ if (concrete && actualStaticType is FunctionType) { |
+ actualStaticType = _typeSystem.functionTypeToConcreteType( |
+ _typeProvider, actualStaticType); |
// TODO(leafp): Move the Downcast functionality here. |
// TODO(leafp): Support strict downcasts |
Leaf
2016/09/12 23:42:37
At least the second of these TODOs is dead, you've
Jennifer Messerly
2016/09/13 00:16:21
Good catch, done!
|
} |