| Index: pkg/compiler/lib/src/js_emitter/old_emitter/class_emitter.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/old_emitter/class_emitter.dart b/pkg/compiler/lib/src/js_emitter/old_emitter/class_emitter.dart
|
| index cd1c967e4d9746c92e4a398970317f44c1c954b6..dc1f7da028f625417cb7b05660134ce13b7311fc 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/old_emitter/class_emitter.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/old_emitter/class_emitter.dart
|
| @@ -12,7 +12,7 @@ class ClassEmitter extends CodeEmitterHelper {
|
| /**
|
| * Documentation wanted -- johnniwinther
|
| */
|
| - void emitClass(Class cls, ClassBuilder enclosingBuilder) {
|
| + void emitClass(Class cls, ClassBuilder enclosingBuilder, Fragment fragment) {
|
| ClassElement classElement = cls.element;
|
|
|
| assert(invariant(classElement, classElement.isDeclaration));
|
| @@ -52,7 +52,8 @@ class ClassEmitter extends CodeEmitterHelper {
|
| builder.addProperty(name, function);
|
| }
|
|
|
| - emitClassBuilderWithReflectionData(cls, builder, enclosingBuilder);
|
| + emitClassBuilderWithReflectionData(cls, builder, enclosingBuilder,
|
| + fragment);
|
| }
|
| /**
|
| * Emits the precompiled constructor when in CSP mode.
|
| @@ -74,7 +75,7 @@ class ClassEmitter extends CodeEmitterHelper {
|
| String constructorName = namer.className(classElement);
|
| OutputUnit outputUnit =
|
| compiler.deferredLoadTask.outputUnitForElement(classElement);
|
| - emitter.emitPrecompiledConstructor(
|
| + emitter.assemblePrecompiledConstructor(
|
| outputUnit, constructorName, constructorAst, fieldNames);
|
| }
|
|
|
| @@ -272,7 +273,8 @@ class ClassEmitter extends CodeEmitterHelper {
|
|
|
| void emitClassBuilderWithReflectionData(Class cls,
|
| ClassBuilder classBuilder,
|
| - ClassBuilder enclosingBuilder) {
|
| + ClassBuilder enclosingBuilder,
|
| + Fragment fragment) {
|
| ClassElement classElement = cls.element;
|
| String className = cls.name;
|
|
|
| @@ -307,8 +309,9 @@ class ClassEmitter extends CodeEmitterHelper {
|
| statics.add(property);
|
| }
|
|
|
| + // TODO(herhut): Do not grab statics out of the properties.
|
| ClassBuilder classProperties =
|
| - emitter.elementDescriptors.remove(classElement);
|
| + emitter.elementDescriptors[fragment].remove(classElement);
|
| if (classProperties != null) {
|
| statics.addAll(classProperties.properties);
|
| }
|
| @@ -334,8 +337,7 @@ class ClassEmitter extends CodeEmitterHelper {
|
| for (DartType interface in classElement.interfaces) {
|
| types.add(task.metadataCollector.reifyType(interface));
|
| }
|
| - enclosingBuilder.addProperty("+$reflectionName",
|
| - new jsAst.ArrayInitializer(types.map(js.number).toList()));
|
| + enclosingBuilder.addProperty("+$reflectionName", js.numArray(types));
|
| }
|
| }
|
| }
|
|
|