Index: lib/compiler/implementation/typechecker.dart |
diff --git a/lib/compiler/implementation/typechecker.dart b/lib/compiler/implementation/typechecker.dart |
index b57c1a8bd0f8be3933349e9172f5b7788187116a..1980fe6fbeb50b1606c53b9e8439c358b64b7338 100644 |
--- a/lib/compiler/implementation/typechecker.dart |
+++ b/lib/compiler/implementation/typechecker.dart |
@@ -118,6 +118,20 @@ class VoidType implements DartType { |
String toString() => name.slowToString(); |
} |
+class MalformedType implements DartType { |
+ const MalformedType(this.element); |
+ SourceString get name => element.name; |
+ final MalformedTypeElement element; |
+ |
+ DartType unalias(Compiler compiler) => this; |
+ |
+ int hashCode() => 1733; |
+ |
+ bool operator ==(other) => other is MalformedType; |
+ |
+ String toString() => name.slowToString(); |
+} |
+ |
class InterfaceType implements DartType { |
final Element element; |
final Link<DartType> arguments; |
@@ -276,6 +290,8 @@ class Types { |
if (t is VoidType) { |
return false; |
+ } else if (t is MalformedType) { |
+ return false; |
} else if (t is InterfaceType) { |
if (s is !InterfaceType) return false; |
ClassElement tc = t.element; |