Chromium Code Reviews| 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 af90b8e4dd1e9bdff3b6365c4455809e0ec2525a..2387f3a652da2423fa4fb6f97eef0194257a23b3 100644 |
| --- a/sdk/lib/_internal/compiler/implementation/resolution/members.dart |
| +++ b/sdk/lib/_internal/compiler/implementation/resolution/members.dart |
| @@ -1537,7 +1537,17 @@ class ResolverVisitor extends CommonResolverVisitor<Element> { |
| return compiler.assertMethod; |
| } |
| - return node.selector.accept(this); |
| + Element result = node.selector.accept(this); |
| + if (Elements.isClass(result)) { |
| + // If we use a class literal in a constant, the compile time constant |
|
ngeoffray
2012/11/15 16:07:24
I think you should move that to the compile time c
karlklose
2012/11/19 15:08:58
Done.
|
| + // emitter will generate a call to the runtime type cache helper, so we |
| + // resolve it and put it into the codegen work list. |
| + SourceString helperName = const SourceString('createRuntimeType'); |
| + Element helper = compiler.findHelper(helperName); |
| + compiler.enqueuer.resolution.addToWorkList(helper); |
| + compiler.enqueuer.codegen.addToWorkList(helper); |
| + } |
| + return result; |
| } |
| var oldCategory = allowedCategory; |