Chromium Code Reviews| Index: pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart |
| diff --git a/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart b/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart |
| index 09e1d7ecfa5a284a5e1021071dd602c91bedcdcc..571b5a5263883be89377a61631d31d8b73fe6490 100644 |
| --- a/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart |
| +++ b/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart |
| @@ -994,7 +994,8 @@ class OldEmitter implements Emitter { |
| } |
| } |
| - void emitStaticNonFinalFieldInitializations(CodeBuffer buffer) { |
| + void emitStaticNonFinalFieldInitializations(CodeBuffer buffer, |
| + OutputUnit outputUnit) { |
| JavaScriptConstantCompiler handler = backend.constants; |
| Iterable<VariableElement> staticNonFinalFields = |
| handler.getStaticNonFinalFieldsForEmission(); |
| @@ -1003,6 +1004,8 @@ class OldEmitter implements Emitter { |
| if (element == backend.interceptedNames) continue; |
| // `mapTypeToInterceptor` is handled in [emitMapTypeToInterceptor]. |
| if (element == backend.mapTypeToInterceptor) continue; |
| + OutputUnit ou = compiler.deferredLoadTask.outputUnitForElement(element); |
|
floitsch
2014/12/11 09:46:28
Don't use "ou".
sigurdm
2014/12/11 13:28:50
Done.
|
| + if (ou != outputUnit) continue; |
|
floitsch
2014/12/11 09:46:28
Don't always continue.
If it's the main output uni
sigurdm
2014/12/11 13:28:50
Done.
|
| compiler.withCurrentElement(element, () { |
| ConstantValue initialValue = handler.getInitialValueFor(element).value; |
| jsAst.Expression init = |
| @@ -1670,7 +1673,7 @@ class OldEmitter implements Emitter { |
| // Static field initializations require the classes and compile-time |
| // constants to be set up. |
| - emitStaticNonFinalFieldInitializations(mainBuffer); |
| + emitStaticNonFinalFieldInitializations(mainBuffer, mainOutputUnit); |
| interceptorEmitter.emitInterceptedNames(mainBuffer); |
| interceptorEmitter.emitMapTypeToInterceptor(mainBuffer); |
| emitLazilyInitializedStaticFields(mainBuffer); |
| @@ -2112,6 +2115,7 @@ function(originalDescriptor, name, holder, isStatic, globalFunctionsAccess) { |
| typeTestEmitter.emitRuntimeTypeSupport(outputBuffer, outputUnit); |
| emitCompileTimeConstants(outputBuffer, outputUnit); |
| + emitStaticNonFinalFieldInitializations(outputBuffer, outputUnit); |
| outputBuffer.write('}$N'); |
| if (compiler.useContentSecurityPolicy) { |