Chromium Code Reviews| 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; | 7 import '../js/js.dart' as js show Expression; |
| 8 import '../constants/values.dart' show ConstantValue; | 8 import '../constants/values.dart' show ConstantValue; |
| 9 | 9 |
| 10 import '../deferred_load.dart' show OutputUnit; | 10 import '../deferred_load.dart' show OutputUnit; |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 198 /// The element should only be used during the transition to the new model. | 198 /// The element should only be used during the transition to the new model. |
| 199 /// Uses indicate missing information in the model. | 199 /// Uses indicate missing information in the model. |
| 200 final Element element; | 200 final Element element; |
| 201 | 201 |
| 202 final String name; | 202 final String name; |
| 203 final Holder holder; | 203 final Holder holder; |
| 204 Class _superclass; | 204 Class _superclass; |
| 205 final List<Method> methods; | 205 final List<Method> methods; |
| 206 final List<Field> fields; | 206 final List<Field> fields; |
| 207 final List<StubMethod> isChecks; | 207 final List<StubMethod> isChecks; |
| 208 final List<StubMethod> callStubs; | 208 final List<StubMethod> stubs; |
|
floitsch
2015/02/02 15:40:23
Give a description of what these are.
zarah
2015/02/02 16:14:46
Done.
| |
| 209 final List<Field> staticFieldsForReflection; | 209 final List<Field> staticFieldsForReflection; |
| 210 final bool onlyForRti; | 210 final bool onlyForRti; |
| 211 final bool isDirectlyInstantiated; | 211 final bool isDirectlyInstantiated; |
| 212 final bool isNative; | 212 final bool isNative; |
| 213 | 213 |
| 214 // If the class implements a function type, and the type is encoded in the | 214 // If the class implements a function type, and the type is encoded in the |
| 215 // metatada table, then this field contains the index into that field. | 215 // metatada table, then this field contains the index into that field. |
| 216 final int functionTypeIndex; | 216 final int functionTypeIndex; |
| 217 | 217 |
| 218 /// Whether the class must be evaluated eagerly. | 218 /// Whether the class must be evaluated eagerly. |
| 219 bool isEager = false; | 219 bool isEager = false; |
| 220 | 220 |
| 221 /// Data that must be emitted with the class for native interop. | 221 /// Data that must be emitted with the class for native interop. |
| 222 String nativeInfo; | 222 String nativeInfo; |
| 223 | 223 |
| 224 Class(this.element, this.name, this.holder, | 224 Class(this.element, this.name, this.holder, |
| 225 this.methods, | 225 this.methods, |
| 226 this.fields, | 226 this.fields, |
| 227 this.staticFieldsForReflection, | 227 this.staticFieldsForReflection, |
| 228 this.callStubs, | 228 this.stubs, |
| 229 this.isChecks, | 229 this.isChecks, |
| 230 this.functionTypeIndex, | 230 this.functionTypeIndex, |
| 231 {this.onlyForRti, | 231 {this.onlyForRti, |
| 232 this.isDirectlyInstantiated, | 232 this.isDirectlyInstantiated, |
| 233 this.isNative}) { | 233 this.isNative}) { |
| 234 assert(onlyForRti != null); | 234 assert(onlyForRti != null); |
| 235 assert(isDirectlyInstantiated != null); | 235 assert(isDirectlyInstantiated != null); |
| 236 assert(isNative != null); | 236 assert(isNative != null); |
| 237 } | 237 } |
| 238 | 238 |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 424 tearOffName : tearOffName, | 424 tearOffName : tearOffName, |
| 425 canBeApplied : canBeApplied, | 425 canBeApplied : canBeApplied, |
| 426 canBeReflected : canBeReflected); | 426 canBeReflected : canBeReflected); |
| 427 } | 427 } |
| 428 | 428 |
| 429 class StaticStubMethod extends StubMethod implements StaticMethod { | 429 class StaticStubMethod extends StubMethod implements StaticMethod { |
| 430 Holder holder; | 430 Holder holder; |
| 431 StaticStubMethod(String name, this.holder, js.Expression code) | 431 StaticStubMethod(String name, this.holder, js.Expression code) |
| 432 : super(name, code); | 432 : super(name, code); |
| 433 } | 433 } |
| OLD | NEW |