| 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 40d87d147970ad8e7a8aaaf8fd493c7e93319a76..32965f3b6fe8447ac7b47975da97284a059f740a 100644
|
| --- a/pkg/compiler/lib/src/ssa/builder.dart
|
| +++ b/pkg/compiler/lib/src/ssa/builder.dart
|
| @@ -3738,16 +3738,20 @@ class SsaBuilder extends ResolvedVisitor {
|
| }
|
| return;
|
| }
|
| - ast.LiteralString string = argument.asLiteralString();
|
| - if (string == null) {
|
| + Element element = elements[argument];
|
| + if (element == null ||
|
| + element is! FieldElement ||
|
| + element.enclosingClass != backend.jsGetNameEnum) {
|
| compiler.reportError(
|
| argument, MessageKind.GENERIC,
|
| - {'text': 'Error: Expected a literal string.'});
|
| + {'text': 'Error: Expected a JsGetName enum value.'});
|
| }
|
| + EnumClassElement enumClass = element.enclosingClass;
|
| + int index = enumClass.enumValues.indexOf(element);
|
| stack.add(
|
| addConstantString(
|
| backend.namer.getNameForJsGetName(
|
| - argument, string.dartString.slowToString())));
|
| + argument, JsGetName.values[index])));
|
| }
|
|
|
| void handleForeignJsEmbeddedGlobal(ast.Send node) {
|
|
|