Index: pkg/compiler/lib/src/js_backend/constant_handler_javascript.dart |
diff --git a/pkg/compiler/lib/src/js_backend/constant_handler_javascript.dart b/pkg/compiler/lib/src/js_backend/constant_handler_javascript.dart |
index 47fb663270d6d070d9e8d04eec3bb545ca23c081..5aefd3955ad11fa61c66b385af034a094e388201 100644 |
--- a/pkg/compiler/lib/src/js_backend/constant_handler_javascript.dart |
+++ b/pkg/compiler/lib/src/js_backend/constant_handler_javascript.dart |
@@ -26,6 +26,11 @@ class JavaScriptConstantTask extends ConstantCompilerTask { |
ConstantSystem get constantSystem => dartConstantCompiler.constantSystem; |
@override |
+ bool hasConstantValue(ConstantExpression expression) { |
+ return dartConstantCompiler.hasConstantValue(expression); |
+ } |
+ |
+ @override |
ConstantValue getConstantValue(ConstantExpression expression) { |
return dartConstantCompiler.getConstantValue(expression); |
} |
@@ -251,7 +256,9 @@ class JavaScriptConstantCompiler extends ConstantCompilerBase |
message: "ConstantExpression is null in getConstantValue.")); |
// TODO(johhniwinther): ensure expressions have been evaluated at this |
// point. This can't be enabled today due to dartbug.com/26406. |
- |
+ if (compiler.serialization.supportsDeserialization) { |
+ evaluate(expression); |
+ } |
ConstantValue value = super.getConstantValue(expression); |
if (value == null && |
expression != null && |