OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library dart2js.new_js_emitter.model; | 5 library dart2js.new_js_emitter.model; |
6 | 6 |
7 import '../js/js.dart' as js show Expression, Statement, Name, Literal, | 7 import '../js/js.dart' as js show Expression, Statement, Name, Literal, |
8 TokenFinalizer; | 8 TokenFinalizer; |
9 import '../constants/values.dart' show ConstantValue; | 9 import '../constants/values.dart' show ConstantValue; |
10 | 10 |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 Fragment get mainFragment => fragments.first; | 76 Fragment get mainFragment => fragments.first; |
77 } | 77 } |
78 | 78 |
79 /** | 79 /** |
80 * This class represents a JavaScript object that contains static state, like | 80 * This class represents a JavaScript object that contains static state, like |
81 * classes or functions. | 81 * classes or functions. |
82 */ | 82 */ |
83 class Holder { | 83 class Holder { |
84 final String name; | 84 final String name; |
85 final int index; | 85 final int index; |
86 Holder(this.name, this.index); | 86 final bool isStaticStateHolder; |
| 87 |
| 88 Holder(this.name, this.index, {this.isStaticStateHolder: false}); |
87 } | 89 } |
88 | 90 |
89 /** | 91 /** |
90 * This class represents one output file. | 92 * This class represents one output file. |
91 * | 93 * |
92 * If no library is deferred, there is only one [Fragment] of type | 94 * If no library is deferred, there is only one [Fragment] of type |
93 * [MainFragment]. | 95 * [MainFragment]. |
94 */ | 96 */ |
95 abstract class Fragment { | 97 abstract class Fragment { |
96 /// The outputUnit should only be used during the transition to the new model. | 98 /// The outputUnit should only be used during the transition to the new model. |
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
491 requiredParameterCount: requiredParameterCount, | 493 requiredParameterCount: requiredParameterCount, |
492 optionalParameterDefaultValues: optionalParameterDefaultValues, | 494 optionalParameterDefaultValues: optionalParameterDefaultValues, |
493 functionType: functionType); | 495 functionType: functionType); |
494 } | 496 } |
495 | 497 |
496 class StaticStubMethod extends StubMethod implements StaticMethod { | 498 class StaticStubMethod extends StubMethod implements StaticMethod { |
497 Holder holder; | 499 Holder holder; |
498 StaticStubMethod(js.Name name, this.holder, js.Expression code) | 500 StaticStubMethod(js.Name name, this.holder, js.Expression code) |
499 : super(name, code); | 501 : super(name, code); |
500 } | 502 } |
OLD | NEW |