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 6077e6d0579633df18e7acdbcf92b904f48d2159..dcab36a23909a0250981dd8ee8384431b36fd66b 100644 |
--- a/pkg/compiler/lib/src/js_backend/constant_handler_javascript.dart |
+++ b/pkg/compiler/lib/src/js_backend/constant_handler_javascript.dart |
@@ -115,10 +115,6 @@ class JavaScriptConstantCompiler extends ConstantCompilerBase |
final Map<Node, ConstantExpression> nodeConstantMap = |
new Map<Node, ConstantExpression>(); |
- // Constants computed for metadata. |
- final Map<MetadataAnnotation, ConstantExpression> metadataConstantMap = |
- new Map<MetadataAnnotation, ConstantExpression>(); |
- |
JavaScriptConstantCompiler(Compiler compiler) |
: super(compiler, JAVA_SCRIPT_CONSTANT_SYSTEM); |
@@ -212,15 +208,7 @@ class JavaScriptConstantCompiler extends ConstantCompilerBase |
} |
ConstantValue getConstantValueForMetadata(MetadataAnnotation metadata) { |
- return getConstantValue(metadataConstantMap[metadata]); |
- } |
- |
- ConstantExpression compileMetadata( |
- MetadataAnnotation metadata, Node node, TreeElements elements) { |
- ConstantExpression constant = |
- super.compileMetadata(metadata, node, elements); |
- metadataConstantMap[metadata] = constant; |
- return constant; |
+ return getConstantValue(metadata.constant); |
} |
void forgetElement(Element element) { |
@@ -230,29 +218,6 @@ class JavaScriptConstantCompiler extends ConstantCompilerBase |
element.node.accept(new ForgetConstantNodeVisitor(this)); |
} |
} |
- |
- @override |
- ConstantValue getConstantValue(ConstantExpression expression) { |
- assert(invariant(CURRENT_ELEMENT_SPANNABLE, expression != null, |
- 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 && |
- expression.kind == ConstantExpressionKind.ERRONEOUS) { |
- // TODO(johnniwinther): When the Dart constant system sees a constant |
- // expression as erroneous but the JavaScript constant system finds it ok |
- // we have store a constant value for the erroneous constant expression. |
- // Ensure the computed constant expressions are always the same; that only |
- // the constant values may be different. |
- value = new NullConstantValue(); |
- } |
- return value; |
- } |
} |
class ForgetConstantElementVisitor |
@@ -261,7 +226,6 @@ class ForgetConstantElementVisitor |
void visitElement(Element e, JavaScriptConstantCompiler constants) { |
for (MetadataAnnotation data in e.implementation.metadata) { |
- constants.metadataConstantMap.remove(data); |
if (data.hasNode) { |
data.node.accept(new ForgetConstantNodeVisitor(constants)); |
} |