Chromium Code Reviews| Index: pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart |
| diff --git a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart |
| index d41b5e499dd4694bcabe716ff843cfda1b6b3bd0..597a0ba40466fa35e4555037dd6874c0f7416e8b 100644 |
| --- a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart |
| +++ b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart |
| @@ -100,8 +100,7 @@ class ProgramBuilder { |
| _registry.registerElements); |
| // We always add the current isolate holder. |
| - _registry.registerHolder( |
| - namer.staticStateHolder, isStaticStateHolder: true); |
| + _registerStaticStateHolder(); |
| // We need to run the native-preparation before we build the output. The |
| // preparation code, in turn needs the classes to be set up. |
| @@ -251,7 +250,8 @@ class ProgramBuilder { |
| ConstantValue initialValue = handler.getInitialValueFor(element); |
| // TODO(zarah): The holder should not be registered during building of |
| // a static field. |
| - _registry.registerHolder(namer.globalObjectForConstant(initialValue)); |
| + _registry.registerHolder( |
| + namer.globalObjectForConstant(initialValue), isConstantsHolder: true); |
| js.Expression code = _task.emitter.constantReference(initialValue); |
| js.Name name = namer.globalPropertyName(element); |
| bool isFinal = false; |
| @@ -261,7 +261,7 @@ class ProgramBuilder { |
| // building a static field. (Note that the $ holder is already registered |
|
Siggi Cherem (dart-lang)
2015/07/17 16:04:04
maybe update wording in comment (the reference to
floitsch
2015/07/17 17:27:18
Done.
|
| // earlier). |
| return new StaticField(element, |
| - name, _registry.registerHolder(r'$'), code, |
| + name, _registerStaticStateHolder(), code, |
| isFinal, isLazy); |
| } |
| @@ -296,7 +296,7 @@ class ProgramBuilder { |
| // building a static field. (Note that the $ holder is already registered |
|
Siggi Cherem (dart-lang)
2015/07/17 16:04:04
ditto
floitsch
2015/07/17 17:27:18
Done.
|
| // earlier). |
| return new StaticField(element, |
| - name, _registry.registerHolder(r'$'), code, |
| + name, _registerStaticStateHolder(), code, |
| isFinal, isLazy); |
| } |
| @@ -793,9 +793,15 @@ class ProgramBuilder { |
| assert(!_constants.containsKey(constantValue)); |
| js.Name name = namer.constantName(constantValue); |
| String constantObject = namer.globalObjectForConstant(constantValue); |
| - Holder holder = _registry.registerHolder(constantObject); |
| + Holder holder = |
| + _registry.registerHolder(constantObject, isConstantsHolder: true); |
| Constant constant = new Constant(name, holder, constantValue); |
| _constants[constantValue] = constant; |
| } |
| } |
| + |
| + Holder _registerStaticStateHolder() { |
| + return _registry.registerHolder( |
| + namer.staticStateHolder, isStaticStateHolder: true); |
| + } |
| } |