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 |