Index: sdk/lib/_internal/compiler/implementation/types/inferrer_visitor.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/types/inferrer_visitor.dart b/sdk/lib/_internal/compiler/implementation/types/inferrer_visitor.dart |
index 7f9cef0deb29e8732b84e65b8da234f55b5a1005..680e706e1ba8499c273a89e88ac13bc1168d7081 100644 |
--- a/sdk/lib/_internal/compiler/implementation/types/inferrer_visitor.dart |
+++ b/sdk/lib/_internal/compiler/implementation/types/inferrer_visitor.dart |
@@ -691,7 +691,10 @@ abstract class InferrerVisitor |
} |
T visitLiteralSymbol(LiteralSymbol node) { |
- return types.nonNullExact(compiler.symbolClass.rawType); |
+ // TODO(kasperl): We should be able to tell that the type of a literal |
+ // symbol is always a non-null exact symbol implementation -- not just |
+ // any non-null subtype of the symbol interface. |
+ return types.nonNullSubtype(compiler.symbolClass.rawType); |
} |
T visitTypeReferenceSend(Send node) { |