Chromium Code Reviews| Index: sdk/lib/_internal/compiler/implementation/enqueue.dart |
| diff --git a/sdk/lib/_internal/compiler/implementation/enqueue.dart b/sdk/lib/_internal/compiler/implementation/enqueue.dart |
| index eff52a963ce4d627bbbe0cf6e210b79d5689c973..1034b5de37cf8638507c167932fd37d89ba57e8b 100644 |
| --- a/sdk/lib/_internal/compiler/implementation/enqueue.dart |
| +++ b/sdk/lib/_internal/compiler/implementation/enqueue.dart |
| @@ -320,11 +320,12 @@ abstract class Enqueuer { |
| /// needed for reflection. |
| void enqueueReflectiveMember(Element element, bool enclosingWasIncluded) { |
| if (shouldIncludeElementDueToMirrors(element, |
| - includedEnclosing: enclosingWasIncluded) |
| - // Do not enqueue typedefs. |
| - && !element.impliesType) { |
| + includedEnclosing: enclosingWasIncluded)) { |
| logEnqueueReflectiveAction(element); |
| - if (Elements.isStaticOrTopLevel(element)) { |
| + if (element.isTypedef) { |
| + compiler.resolver.resolve(element); |
|
herhut
2014/07/02 12:26:12
This code runs both during resolution enqueueing a
karlklose
2014/07/02 12:30:31
Done.
|
| + compiler.world.allTypedefs.add(element); |
| + } else if (Elements.isStaticOrTopLevel(element)) { |
| registerStaticUse(element.declaration); |
| } else if (element.isInstanceMember) { |
| // We need to enqueue all members matching this one in subclasses, as |