| 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 92b5f552bf72b92f83134e35709e5d669a0bd5dd..89fdfa6622a0a1097cf5860afc9c809f653c2f16 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/js_emitter/metadata_emitter.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/js_emitter/metadata_emitter.dart
|
| @@ -90,8 +90,20 @@ class MetadataEmitter extends CodeEmitterHelper {
|
| }
|
|
|
| void emitMetadata(CodeBuffer buffer) {
|
| - buffer.write('init.metadata$_=$_[');
|
| - for (String metadata in globalMetadata) {
|
| + var literals = backend.typedefTypeLiterals.toList();
|
| + Elements.sortedByPosition(literals);
|
| + var properties = [];
|
| + for (TypedefElement literal in literals) {
|
| + var key = namer.getNameX(literal);
|
| + 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.statement('init.functionAliases = #', map), compiler));
|
| + buffer.write('${N}init.metadata$_=$_[');
|
| + for (var metadata in globalMetadata) {
|
| if (metadata is String) {
|
| if (metadata != 'null') {
|
| buffer.write(metadata);
|
|
|