| 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 '../constants/values.dart' show ConstantValue; | 7 import '../constants/values.dart' show ConstantValue; |
| 8 import '../deferred_load.dart' show OutputUnit; | 8 import '../deferred_load.dart' show OutputUnit; |
| 9 import '../elements/elements.dart' show Element; | 9 import '../elements/elements.dart' show Element; |
| 10 import '../js/js.dart' as js show Expression, Name, Statement, TokenFinalizer; | 10 import '../js/js.dart' as js show Expression, Name, Statement, TokenFinalizer; |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 222 | 222 |
| 223 /// Stub methods for this class that are call stubs for getters. | 223 /// Stub methods for this class that are call stubs for getters. |
| 224 final List<StubMethod> callStubs; | 224 final List<StubMethod> callStubs; |
| 225 | 225 |
| 226 /// Stub methods for this class handling reads to type variables. | 226 /// Stub methods for this class handling reads to type variables. |
| 227 final List<StubMethod> typeVariableReaderStubs; | 227 final List<StubMethod> typeVariableReaderStubs; |
| 228 | 228 |
| 229 /// noSuchMethod stubs in the special case that the class is Object. | 229 /// noSuchMethod stubs in the special case that the class is Object. |
| 230 final List<StubMethod> noSuchMethodStubs; | 230 final List<StubMethod> noSuchMethodStubs; |
| 231 final List<Field> staticFieldsForReflection; | 231 final List<Field> staticFieldsForReflection; |
| 232 final bool hasRti; |
| 232 final bool onlyForRti; | 233 final bool onlyForRti; |
| 233 final bool isDirectlyInstantiated; | 234 final bool isDirectlyInstantiated; |
| 234 final bool isNative; | 235 final bool isNative; |
| 235 | 236 |
| 236 // If the class implements a function type, and the type is encoded in the | 237 // If the class implements a function type, and the type is encoded in the |
| 237 // metatada table, then this field contains the index into that field. | 238 // metatada table, then this field contains the index into that field. |
| 238 final js.Expression functionTypeIndex; | 239 final js.Expression functionTypeIndex; |
| 239 | 240 |
| 240 /// Whether the class must be evaluated eagerly. | 241 /// Whether the class must be evaluated eagerly. |
| 241 bool isEager = false; | 242 bool isEager = false; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 255 this.holder, | 256 this.holder, |
| 256 this.methods, | 257 this.methods, |
| 257 this.fields, | 258 this.fields, |
| 258 this.staticFieldsForReflection, | 259 this.staticFieldsForReflection, |
| 259 this.callStubs, | 260 this.callStubs, |
| 260 this.typeVariableReaderStubs, | 261 this.typeVariableReaderStubs, |
| 261 this.noSuchMethodStubs, | 262 this.noSuchMethodStubs, |
| 262 this.checkedSetters, | 263 this.checkedSetters, |
| 263 this.isChecks, | 264 this.isChecks, |
| 264 this.functionTypeIndex, | 265 this.functionTypeIndex, |
| 265 {this.onlyForRti, | 266 {this.hasRti, |
| 267 this.onlyForRti, |
| 266 this.isDirectlyInstantiated, | 268 this.isDirectlyInstantiated, |
| 267 this.isNative}) { | 269 this.isNative}) { |
| 268 assert(onlyForRti != null); | 270 assert(onlyForRti != null); |
| 269 assert(isDirectlyInstantiated != null); | 271 assert(isDirectlyInstantiated != null); |
| 270 assert(isNative != null); | 272 assert(isNative != null); |
| 271 } | 273 } |
| 272 | 274 |
| 273 bool get isMixinApplication => false; | 275 bool get isMixinApplication => false; |
| 274 Class get superclass => _superclass; | 276 Class get superclass => _superclass; |
| 275 | 277 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 290 Element element, | 292 Element element, |
| 291 js.Name name, | 293 js.Name name, |
| 292 Holder holder, | 294 Holder holder, |
| 293 List<Field> instanceFields, | 295 List<Field> instanceFields, |
| 294 List<Field> staticFieldsForReflection, | 296 List<Field> staticFieldsForReflection, |
| 295 List<StubMethod> callStubs, | 297 List<StubMethod> callStubs, |
| 296 List<StubMethod> typeVariableReaderStubs, | 298 List<StubMethod> typeVariableReaderStubs, |
| 297 List<StubMethod> checkedSetters, | 299 List<StubMethod> checkedSetters, |
| 298 List<StubMethod> isChecks, | 300 List<StubMethod> isChecks, |
| 299 js.Expression functionTypeIndex, | 301 js.Expression functionTypeIndex, |
| 300 {bool onlyForRti, | 302 {bool hasRti, |
| 303 bool onlyForRti, |
| 301 bool isDirectlyInstantiated}) | 304 bool isDirectlyInstantiated}) |
| 302 : super( | 305 : super( |
| 303 element, | 306 element, |
| 304 name, | 307 name, |
| 305 holder, | 308 holder, |
| 306 const <Method>[], | 309 const <Method>[], |
| 307 instanceFields, | 310 instanceFields, |
| 308 staticFieldsForReflection, | 311 staticFieldsForReflection, |
| 309 callStubs, | 312 callStubs, |
| 310 typeVariableReaderStubs, | 313 typeVariableReaderStubs, |
| 311 const <StubMethod>[], | 314 const <StubMethod>[], |
| 312 checkedSetters, | 315 checkedSetters, |
| 313 isChecks, | 316 isChecks, |
| 314 functionTypeIndex, | 317 functionTypeIndex, |
| 318 hasRti: hasRti, |
| 315 onlyForRti: onlyForRti, | 319 onlyForRti: onlyForRti, |
| 316 isDirectlyInstantiated: isDirectlyInstantiated, | 320 isDirectlyInstantiated: isDirectlyInstantiated, |
| 317 isNative: false); | 321 isNative: false); |
| 318 | 322 |
| 319 bool get isMixinApplication => true; | 323 bool get isMixinApplication => true; |
| 320 Class get mixinClass => _mixinClass; | 324 Class get mixinClass => _mixinClass; |
| 321 | 325 |
| 322 void setMixinClass(Class mixinClass) { | 326 void setMixinClass(Class mixinClass) { |
| 323 _mixinClass = mixinClass; | 327 _mixinClass = mixinClass; |
| 324 } | 328 } |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 525 functionType: functionType); | 529 functionType: functionType); |
| 526 | 530 |
| 527 bool get isStatic => true; | 531 bool get isStatic => true; |
| 528 } | 532 } |
| 529 | 533 |
| 530 class StaticStubMethod extends StubMethod implements StaticMethod { | 534 class StaticStubMethod extends StubMethod implements StaticMethod { |
| 531 Holder holder; | 535 Holder holder; |
| 532 StaticStubMethod(js.Name name, this.holder, js.Expression code) | 536 StaticStubMethod(js.Name name, this.holder, js.Expression code) |
| 533 : super(name, code); | 537 : super(name, code); |
| 534 } | 538 } |
| OLD | NEW |