Index: compiler/java/com/google/dart/compiler/resolver/SupertypeResolver.java |
diff --git a/compiler/java/com/google/dart/compiler/resolver/SupertypeResolver.java b/compiler/java/com/google/dart/compiler/resolver/SupertypeResolver.java |
index 1fdb007f3613538199a0a6a263ffeace1b769b9b..6af78affb2dada74c87410f12940b6059595aefa 100644 |
--- a/compiler/java/com/google/dart/compiler/resolver/SupertypeResolver.java |
+++ b/compiler/java/com/google/dart/compiler/resolver/SupertypeResolver.java |
@@ -57,6 +57,10 @@ public class SupertypeResolver { |
supertype.getClass(); // Quick null check. |
} |
if (supertype != null) { |
+ // TODO(scheglov) check for "extends/implements Dynamic" |
+ /*if (supertype == typeProvider.getDynamicType()) { |
+ topLevelContext.onError(superclassNode, ResolverErrorCode.EXTENDS_DYNAMIC, node.getName()); |
+ }*/ |
classElement.setSupertype(supertype); |
} else { |
assert classElement.getName().equals("Object") : classElement; |
@@ -80,7 +84,11 @@ public class SupertypeResolver { |
DartTypeNode boundNode = typeParameterNode.getBound(); |
Type bound; |
if (boundNode != null) { |
- bound = classContext.resolveType(boundNode, false); |
+ bound = |
+ classContext.resolveType( |
+ boundNode, |
+ false, |
+ ResolverErrorCode.NO_SUCH_TYPE); |
boundNode.setType(bound); |
} else { |
bound = typeProvider.getObjectType(); |