Index: pkg/compiler/lib/src/js_backend/constant_emitter.dart |
diff --git a/pkg/compiler/lib/src/js_backend/constant_emitter.dart b/pkg/compiler/lib/src/js_backend/constant_emitter.dart |
index b113d2409c116face6a1c46e6fe3ec4f641d6111..f889a942a74ca98209c0419cec1ee11d858c6c16 100644 |
--- a/pkg/compiler/lib/src/js_backend/constant_emitter.dart |
+++ b/pkg/compiler/lib/src/js_backend/constant_emitter.dart |
@@ -263,8 +263,18 @@ class ConstantEmitter |
} |
@override |
- jsAst.Expression visitDummy(DummyConstantValue constant, [_]) { |
- return new jsAst.LiteralNumber('0'); |
+ jsAst.Expression visitSynthetic(SyntheticConstantValue constant, [_]) { |
+ switch (constant.kind) { |
+ case SyntheticConstantKind.DUMMY_INTERCEPTOR: |
+ case SyntheticConstantKind.EMPTY_VALUE: |
+ return new jsAst.LiteralNumber('0'); |
+ case SyntheticConstantKind.TYPEVARIABLE_REFERENCE: |
+ return constant.payload; |
+ default: |
+ compiler.internalError(NO_LOCATION_SPANNABLE, |
+ "Unexpected DummyConstantKind ${constant.kind}"); |
+ return null; |
+ } |
} |
@override |