Index: sdk/lib/_internal/compiler/implementation/resolution/members.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/resolution/members.dart b/sdk/lib/_internal/compiler/implementation/resolution/members.dart |
index e6fd47862ac1280627bedfdbbf339ae86f10a11c..92cce46bcd3525a4d57b2d8928cc74f2109d402a 100644 |
--- a/sdk/lib/_internal/compiler/implementation/resolution/members.dart |
+++ b/sdk/lib/_internal/compiler/implementation/resolution/members.dart |
@@ -1866,6 +1866,12 @@ class ResolverVisitor extends CommonResolverVisitor<Element> { |
} |
parameterNodes = parameterNodes.tail; |
}); |
+ if (inCheckContext) { |
+ functionParameters.forEachParameter((Element element) { |
+ compiler.enqueuer.resolution.registerIsCheck( |
+ element.computeType(compiler), mapping); |
+ }); |
+ } |
} |
visitCascade(Cascade node) { |
@@ -1963,6 +1969,9 @@ class ResolverVisitor extends CommonResolverVisitor<Element> { |
scope = oldScope; |
enclosingElement = previousEnclosingElement; |
+ if (function.computeType(compiler).containsTypeVariables) { |
+ world.registerGenericClosure(function, mapping); |
+ } |
world.registerInstantiatedClass(compiler.functionClass, mapping); |
} |