Chromium Code Reviews| Index: sdk/lib/_internal/compiler/implementation/js_emitter/new_emitter/model_emitter.dart |
| diff --git a/sdk/lib/_internal/compiler/implementation/js_emitter/new_emitter/model_emitter.dart b/sdk/lib/_internal/compiler/implementation/js_emitter/new_emitter/model_emitter.dart |
| index 581f77e4ae94fd8b36ec2cbe69f8dd76784bd2bc..abeb4904012157b1e89f214fd2f73df929ebbbc9 100644 |
| --- a/sdk/lib/_internal/compiler/implementation/js_emitter/new_emitter/model_emitter.dart |
| +++ b/sdk/lib/_internal/compiler/implementation/js_emitter/new_emitter/model_emitter.dart |
| @@ -73,6 +73,7 @@ class ModelEmitter { |
| emitHolders(unit.holders), |
| emitEmbeddedGlobals(loadMap), |
| emitConstants(unit.constants), |
| + emitStaticNonFinalFields(unit.staticNonFinalFields), |
| unit.main, |
| program]); |
| } |
| @@ -192,6 +193,14 @@ class ModelEmitter { |
| return new js.Block(statements.toList()); |
| } |
| + js.Block emitStaticNonFinalFields(List<StaticField> fields) { |
| + Iterable<js.Statement> statements = fields.map((StaticField field) { |
| + return js.js.statement("#.# = #;", |
| + [field.holder.name, field.name, field.code]); |
| + }); |
| + return new js.Block(statements.toList()); |
| + } |
| + |
| js.Expression emitLibrary(Library library) { |
| Iterable staticDescriptors = library.statics.expand((e) => |
| [ js.string(e.name), js.number(e.holder.index), emitStaticMethod(e) ]); |
| @@ -317,6 +326,9 @@ final String boilerplate = r""" |
| // Initialize constants. |
| #; |
| + // Initialize static non-final fields constants. |
|
kasperl
2014/10/17 06:47:04
Remove constants?
floitsch
2014/10/17 09:25:56
doh.
done.
|
| + #; |
| + |
| var end = Date.now(); |
| print('Setup: ' + (end - start) + ' ms.'); |