Index: sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart b/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart |
index ca0a1e40c06332c19da0d6dd265f991bf470faad..7fcc79e71fa0938e5380ad95ce8284d9df0e18e9 100644 |
--- a/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart |
+++ b/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart |
@@ -83,7 +83,10 @@ class ClassEmitter extends CodeEmitterHelper { |
jsAst.Expression constructorAst = js('function(#) { #; }', |
[fields, |
fields.map((name) => js('this.# = #', [name, name]))]); |
- task.emitPrecompiledConstructor(constructorName, constructorAst); |
+ OutputUnit outputUnit = |
+ compiler.deferredLoadTask.outputUnitForElement(classElement); |
+ task.emitPrecompiledConstructor( |
+ outputUnit, constructorName, constructorAst); |
} |
/// Returns `true` if fields added. |
@@ -522,11 +525,13 @@ class ClassEmitter extends CodeEmitterHelper { |
String className = namer.getNameOfClass(cls); |
String receiver = backend.isInterceptorClass(cls) ? 'receiver' : 'this'; |
List<String> args = backend.isInterceptedMethod(member) ? ['receiver'] : []; |
- task.precompiledFunction.add( |
+ OutputUnit outputUnit = |
+ compiler.deferredLoadTask.outputUnitForElement(member); |
+ task.cspPrecompiledFunctionFor(outputUnit).add( |
js('#.prototype.# = function(#) { return #.# }', |
[className, getterName, args, receiver, fieldName])); |
if (backend.isAccessibleByReflection(member)) { |
- task.precompiledFunction.add( |
+ task.cspPrecompiledFunctionFor(outputUnit).add( |
js('#.prototype.#.${namer.reflectableField} = 1', |
[className, getterName])); |
} |
@@ -539,12 +544,14 @@ class ClassEmitter extends CodeEmitterHelper { |
String className = namer.getNameOfClass(cls); |
String receiver = backend.isInterceptorClass(cls) ? 'receiver' : 'this'; |
List<String> args = backend.isInterceptedMethod(member) ? ['receiver'] : []; |
- task.precompiledFunction.add( |
+ OutputUnit outputUnit = |
+ compiler.deferredLoadTask.outputUnitForElement(member); |
+ task.cspPrecompiledFunctionFor(outputUnit).add( |
// TODO: remove 'return'? |
js('#.prototype.# = function(#, v) { return #.# = v; }', |
[className, setterName, args, receiver, fieldName])); |
if (backend.isAccessibleByReflection(member)) { |
- task.precompiledFunction.add( |
+ task.cspPrecompiledFunctionFor(outputUnit).add( |
js('#.prototype.#.${namer.reflectableField} = 1', |
[className, setterName])); |
} |