Index: sdk/lib/_internal/compiler/implementation/resolution/members.dart |
=================================================================== |
--- sdk/lib/_internal/compiler/implementation/resolution/members.dart (revision 15381) |
+++ sdk/lib/_internal/compiler/implementation/resolution/members.dart (working copy) |
@@ -1808,6 +1808,10 @@ |
// unqualified. |
useElement(node, target); |
registerSend(selector, target); |
+ if (node.isPropertyAccess) { |
+ // It might be the closurization of a method. |
+ world.registerInstantiatedClass(compiler.functionClass); |
+ } |
return node.isPropertyAccess ? target : null; |
} |
@@ -1926,6 +1930,7 @@ |
} |
visitLiteralBool(LiteralBool node) { |
+ world.registerInstantiatedClass(compiler.boolClass); |
} |
visitLiteralString(LiteralString node) { |
@@ -1933,6 +1938,7 @@ |
} |
visitLiteralNull(LiteralNull node) { |
+ world.registerInstantiatedClass(compiler.nullClass); |
} |
visitStringJuxtaposition(StringJuxtaposition node) { |
@@ -2779,7 +2785,11 @@ |
return visit(node.selector); |
} |
- SourceString visitIdentifier(Identifier node) => node.source; |
+ SourceString visitIdentifier(Identifier node) { |
+ // The variable is initialized to null. |
+ resolver.world.registerInstantiatedClass(compiler.nullClass); |
+ return node.source; |
+ } |
visitNodeList(NodeList node) { |
for (Link<Node> link = node.nodes; !link.isEmpty; link = link.tail) { |