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

Unified Diff: pkg/compiler/lib/src/ssa/builder.dart

Issue 1873823002: Update elements, nodes and visitors for serialization. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Fix LocalVariableElementZ.constant Created 4 years, 8 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/ssa/builder.dart
diff --git a/pkg/compiler/lib/src/ssa/builder.dart b/pkg/compiler/lib/src/ssa/builder.dart
index ad5905ddec5d361ca15ca2d70bd0a062bf236dea..fcd49e2925aa5dd138c22ed1397e40f351847dac 100644
--- a/pkg/compiler/lib/src/ssa/builder.dart
+++ b/pkg/compiler/lib/src/ssa/builder.dart
@@ -4353,14 +4353,14 @@ class SsaBuilder extends ast.Visitor
}
Element element = elements[argument];
if (element == null ||
- element is! FieldElement ||
+ element is! EnumConstantElement ||
element.enclosingClass != helpers.jsGetNameEnum) {
reporter.reportErrorMessage(
argument, MessageKind.GENERIC,
{'text': 'Error: Expected a JsGetName enum value.'});
}
- EnumClassElement enumClass = element.enclosingClass;
- int index = enumClass.enumValues.indexOf(element);
+ EnumConstantElement enumConstant = element;
+ int index = enumConstant.index;
stack.add(
addConstantStringFromName(
backend.namer.getNameForJsGetName(
@@ -4378,14 +4378,14 @@ class SsaBuilder extends ast.Visitor
Element builtinElement = elements[arguments[1]];
if (builtinElement == null ||
- (builtinElement is! FieldElement) ||
+ (builtinElement is! EnumConstantElement) ||
builtinElement.enclosingClass != helpers.jsBuiltinEnum) {
reporter.reportErrorMessage(
argument, MessageKind.GENERIC,
{'text': 'Error: Expected a JsBuiltin enum value.'});
}
- EnumClassElement enumClass = builtinElement.enclosingClass;
- int index = enumClass.enumValues.indexOf(builtinElement);
+ EnumConstantElement enumConstant = builtinElement;
+ int index = enumConstant.index;
js.Template template =
backend.emitter.builtinTemplateFor(JsBuiltin.values[index]);

Powered by Google App Engine
This is Rietveld 408576698