Index: sdk/lib/_internal/compiler/implementation/js_emitter/metadata_emitter.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/js_emitter/metadata_emitter.dart b/sdk/lib/_internal/compiler/implementation/js_emitter/metadata_emitter.dart |
index b57a8e231e12b1f6635f34da68c0632de30529a9..89fdfa6622a0a1097cf5860afc9c809f653c2f16 100644 |
--- a/sdk/lib/_internal/compiler/implementation/js_emitter/metadata_emitter.dart |
+++ b/sdk/lib/_internal/compiler/implementation/js_emitter/metadata_emitter.dart |
@@ -37,8 +37,8 @@ class MetadataEmitter extends CodeEmitterHelper { |
} |
} |
if (metadata.isEmpty) return null; |
- return js.fun( |
- [], [js.return_(new jsAst.ArrayInitializer.from(metadata))]); |
+ return js('function() { return # }', |
+ new jsAst.ArrayInitializer.from(metadata)); |
}); |
} |
@@ -70,7 +70,7 @@ class MetadataEmitter extends CodeEmitterHelper { |
int reifyType(DartType type) { |
jsAst.Expression representation = |
backend.rti.getTypeRepresentation(type, (variable) { |
- return js.toExpression( |
+ return js.number( |
task.typeVariableHandler.reifyTypeVariable(variable.element)); |
}); |
@@ -95,13 +95,13 @@ class MetadataEmitter extends CodeEmitterHelper { |
var properties = []; |
for (TypedefElement literal in literals) { |
var key = namer.getNameX(literal); |
- var value = js.toExpression(reifyType(literal.rawType)); |
+ var value = js.number(reifyType(literal.rawType)); |
properties.add(new jsAst.Property(js.string(key), value)); |
} |
var map = new jsAst.ObjectInitializer(properties); |
buffer.write( |
jsAst.prettyPrint( |
- js('init.functionAliases = #', map).toStatement(), compiler)); |
+ js.statement('init.functionAliases = #', map), compiler)); |
buffer.write('${N}init.metadata$_=$_['); |
for (var metadata in globalMetadata) { |
if (metadata is String) { |