Chromium Code Reviews| Index: sdk/lib/_internal/compiler/implementation/js_emitter/model.dart |
| diff --git a/sdk/lib/_internal/compiler/implementation/js_emitter/model.dart b/sdk/lib/_internal/compiler/implementation/js_emitter/model.dart |
| index 2a8748ea86c6156f29dd1ced34185217defe153c..691a17456ad23c0ae115928b7f410743f4f107cb 100644 |
| --- a/sdk/lib/_internal/compiler/implementation/js_emitter/model.dart |
| +++ b/sdk/lib/_internal/compiler/implementation/js_emitter/model.dart |
| @@ -35,12 +35,15 @@ abstract class Output { |
| MainOutput get mainOutput; |
| final List<Library> libraries; |
| final List<Constant> constants; |
| + // TODO(floitsch): should we move static fields into libraries or classes? |
| + final List<StaticField> staticNonFinalFields; |
| /// Output file name without extension. |
| final String outputFileName; |
| Output(this.outputFileName, |
| this.libraries, |
| + this.staticNonFinalFields, |
| this.constants); |
| } |
| @@ -57,9 +60,10 @@ class MainOutput extends Output { |
| MainOutput(String outputFileName, |
| this.main, |
| List<Library> libraries, |
| + List<StaticField> staticNonFinalFields, |
| List<Constant> constants, |
| this.holders) |
| - : super(outputFileName, libraries, constants); |
| + : super(outputFileName, libraries, staticNonFinalFields, constants); |
| MainOutput get mainOutput => this; |
| } |
| @@ -77,8 +81,9 @@ class DeferredOutput extends Output { |
| this.name, |
| this.mainOutput, |
| List<Library> libraries, |
| + List<StaticField> staticNonFinalFields, |
| List<Constant> constants) |
| - : super(outputFileName, libraries, constants); |
| + : super(outputFileName, libraries, staticNonFinalFields, constants); |
| } |
| class Constant { |
| @@ -96,6 +101,17 @@ class Library { |
| Library(this.uri, this.statics, this.classes); |
| } |
| +class StaticField { |
| + final String name; |
| + final Holder holder; |
|
floitsch
2014/10/16 14:27:55
The holder for static fields in the "isolate" obje
kasperl
2014/10/17 06:47:04
Maybe add this as a comment in the code?
floitsch
2014/10/17 09:25:56
Done.
|
| + final js.Expression code; |
| + final bool isFinal; |
| + final bool isLazy; |
| + |
| + StaticField(this.name, this.holder, this.code, |
| + this.isFinal, this.isLazy); |
| +} |
| + |
| class Class { |
| final String name; |
| final Holder holder; |