Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(302)

Unified Diff: pkg/compiler/lib/src/js_backend/constant_handler_javascript.dart

Issue 2060183002: Serialize metadata (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comment. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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));
}
« no previous file with comments | « pkg/compiler/lib/src/js_backend/constant_emitter.dart ('k') | pkg/compiler/lib/src/js_backend/js_interop_analysis.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698