| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of dart2js.js_emitter; | 5 part of dart2js.js_emitter; |
| 6 | 6 |
| 7 | 7 |
| 8 class OldEmitter implements Emitter { | 8 class OldEmitter implements Emitter { |
| 9 final Compiler compiler; | 9 final Compiler compiler; |
| 10 final CodeEmitterTask task; | 10 final CodeEmitterTask task; |
| (...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 658 [js(lazyInitializerName), | 658 [js(lazyInitializerName), |
| 659 js.string(namer.globalPropertyName(element)), | 659 js.string(namer.globalPropertyName(element)), |
| 660 js.string(namer.lazyInitializerName(element)), | 660 js.string(namer.lazyInitializerName(element)), |
| 661 code, | 661 code, |
| 662 js.string(element.name)]); | 662 js.string(element.name)]); |
| 663 } | 663 } |
| 664 } | 664 } |
| 665 | 665 |
| 666 void emitMetadata(Program program, CodeOutput output, OutputUnit outputUnit) { | 666 void emitMetadata(Program program, CodeOutput output, OutputUnit outputUnit) { |
| 667 | 667 |
| 668 jsAst.Expression constructList(List<String> list) { | 668 jsAst.Expression constructList(List<jsAst.Expression> list) { |
| 669 String listAsString = list == null ? '[]' : '[${list.join(",")}]'; | 669 return new jsAst.ArrayInitializer(list == null ? [] : list); |
| 670 return js.uncachedExpressionTemplate(listAsString).instantiate([]); | |
| 671 } | 670 } |
| 672 | 671 |
| 673 List<String> types = program.metadataTypes[outputUnit]; | 672 List<jsAst.Expression> types = program.metadataTypes[outputUnit]; |
| 674 | 673 |
| 675 if (outputUnit == compiler.deferredLoadTask.mainOutputUnit) { | 674 if (outputUnit == compiler.deferredLoadTask.mainOutputUnit) { |
| 676 jsAst.Expression metadataAccess = | 675 jsAst.Expression metadataAccess = |
| 677 generateEmbeddedGlobalAccess(embeddedNames.METADATA); | 676 generateEmbeddedGlobalAccess(embeddedNames.METADATA); |
| 678 jsAst.Expression typesAccess = | 677 jsAst.Expression typesAccess = |
| 679 generateEmbeddedGlobalAccess(embeddedNames.TYPES); | 678 generateEmbeddedGlobalAccess(embeddedNames.TYPES); |
| 680 | 679 |
| 681 output.addBuffer( | 680 output.addBuffer( |
| 682 jsAst.prettyPrint(new jsAst.Block([ | 681 jsAst.prettyPrint(new jsAst.Block([ |
| 683 js.statement('# = #;', [metadataAccess, | 682 js.statement('# = #;', [metadataAccess, |
| (...skipping 1257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1941 for (Element element in compiler.enqueuer.codegen.newlyEnqueuedElements) { | 1940 for (Element element in compiler.enqueuer.codegen.newlyEnqueuedElements) { |
| 1942 if (element.isInstanceMember) { | 1941 if (element.isInstanceMember) { |
| 1943 cachedClassBuilders.remove(element.enclosingClass); | 1942 cachedClassBuilders.remove(element.enclosingClass); |
| 1944 | 1943 |
| 1945 nativeEmitter.cachedBuilders.remove(element.enclosingClass); | 1944 nativeEmitter.cachedBuilders.remove(element.enclosingClass); |
| 1946 | 1945 |
| 1947 } | 1946 } |
| 1948 } | 1947 } |
| 1949 } | 1948 } |
| 1950 } | 1949 } |
| OLD | NEW |