Index: frog/leg/resolver.dart |
=================================================================== |
--- frog/leg/resolver.dart (revision 5070) |
+++ frog/leg/resolver.dart (working copy) |
@@ -611,15 +611,18 @@ |
} else { |
warning(node, MessageKind.CANNOT_RESOLVE_TYPE, [className]); |
} |
- } else if (element.kind !== ElementKind.CLASS) { |
+ } else if (!Elements.isClassOrInterfaceOrAlias(element)) { |
if (typeRequired) { |
error(node, MessageKind.NOT_A_TYPE, [className]); |
} else { |
warning(node, MessageKind.NOT_A_TYPE, [className]); |
} |
} else { |
- ClassElement cls = element; |
- compiler.resolver.toResolve.add(element); |
+ if (element.isClass()) { |
+ // TODO(ngeoffray): Should we also resolve typedef? |
+ ClassElement cls = element; |
+ compiler.resolver.toResolve.add(element); |
+ } |
// TODO(ahe): This should be a Type. |
useElement(node, element); |
} |
@@ -1231,7 +1234,7 @@ |
Element element = context.lookup(node.source); |
if (element === null) { |
error(node, MessageKind.CANNOT_RESOLVE_TYPE, [node]); |
- } else if (element.kind !== ElementKind.CLASS) { |
+ } else if (!Elements.isClassOrInterfaceOrAlias(element)) { |
error(node, MessageKind.NOT_A_TYPE, [node]); |
} else { |
compiler.resolver.toResolve.add(element); |