Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(200)

Side by Side Diff: pkg/compiler/lib/src/js_emitter/model.dart

Issue 2722753002: Remove HRuntimeType implementation (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/entities.dart'; 9 import '../elements/entities.dart';
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 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 final Holder holder; 216 final Holder holder;
217 Class _superclass; 217 Class _superclass;
218 final List<Method> methods; 218 final List<Method> methods;
219 final List<Field> fields; 219 final List<Field> fields;
220 final List<StubMethod> isChecks; 220 final List<StubMethod> isChecks;
221 final List<StubMethod> checkedSetters; 221 final List<StubMethod> checkedSetters;
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.
227 final List<StubMethod> typeVariableReaderStubs;
228
229 /// noSuchMethod stubs in the special case that the class is Object. 226 /// noSuchMethod stubs in the special case that the class is Object.
230 final List<StubMethod> noSuchMethodStubs; 227 final List<StubMethod> noSuchMethodStubs;
231 final List<Field> staticFieldsForReflection; 228 final List<Field> staticFieldsForReflection;
232 final bool hasRtiField; // Per-instance runtime type information pseudo-field. 229 final bool hasRtiField; // Per-instance runtime type information pseudo-field.
233 final bool onlyForRti; 230 final bool onlyForRti;
234 final bool isDirectlyInstantiated; 231 final bool isDirectlyInstantiated;
235 final bool isNative; 232 final bool isNative;
236 233
237 // If the class implements a function type, and the type is encoded in the 234 // If the class implements a function type, and the type is encoded in the
238 // metatada table, then this field contains the index into that field. 235 // metatada table, then this field contains the index into that field.
(...skipping 12 matching lines...) Expand all
251 List<Class> nativeExtensions; 248 List<Class> nativeExtensions;
252 249
253 Class( 250 Class(
254 this.element, 251 this.element,
255 this.name, 252 this.name,
256 this.holder, 253 this.holder,
257 this.methods, 254 this.methods,
258 this.fields, 255 this.fields,
259 this.staticFieldsForReflection, 256 this.staticFieldsForReflection,
260 this.callStubs, 257 this.callStubs,
261 this.typeVariableReaderStubs,
262 this.noSuchMethodStubs, 258 this.noSuchMethodStubs,
263 this.checkedSetters, 259 this.checkedSetters,
264 this.isChecks, 260 this.isChecks,
265 this.functionTypeIndex, 261 this.functionTypeIndex,
266 {this.hasRtiField, 262 {this.hasRtiField,
267 this.onlyForRti, 263 this.onlyForRti,
268 this.isDirectlyInstantiated, 264 this.isDirectlyInstantiated,
269 this.isNative}) { 265 this.isNative}) {
270 assert(onlyForRti != null); 266 assert(onlyForRti != null);
271 assert(isDirectlyInstantiated != null); 267 assert(isDirectlyInstantiated != null);
(...skipping 16 matching lines...) Expand all
288 class MixinApplication extends Class { 284 class MixinApplication extends Class {
289 Class _mixinClass; 285 Class _mixinClass;
290 286
291 MixinApplication( 287 MixinApplication(
292 ClassEntity element, 288 ClassEntity element,
293 js.Name name, 289 js.Name name,
294 Holder holder, 290 Holder holder,
295 List<Field> instanceFields, 291 List<Field> instanceFields,
296 List<Field> staticFieldsForReflection, 292 List<Field> staticFieldsForReflection,
297 List<StubMethod> callStubs, 293 List<StubMethod> callStubs,
298 List<StubMethod> typeVariableReaderStubs,
299 List<StubMethod> checkedSetters, 294 List<StubMethod> checkedSetters,
300 List<StubMethod> isChecks, 295 List<StubMethod> isChecks,
301 js.Expression functionTypeIndex, 296 js.Expression functionTypeIndex,
302 {bool hasRtiField, 297 {bool hasRtiField,
303 bool onlyForRti, 298 bool onlyForRti,
304 bool isDirectlyInstantiated}) 299 bool isDirectlyInstantiated})
305 : super( 300 : super(
306 element, 301 element,
307 name, 302 name,
308 holder, 303 holder,
309 const <Method>[], 304 const <Method>[],
310 instanceFields, 305 instanceFields,
311 staticFieldsForReflection, 306 staticFieldsForReflection,
312 callStubs, 307 callStubs,
313 typeVariableReaderStubs,
314 const <StubMethod>[], 308 const <StubMethod>[],
315 checkedSetters, 309 checkedSetters,
316 isChecks, 310 isChecks,
317 functionTypeIndex, 311 functionTypeIndex,
318 hasRtiField: hasRtiField, 312 hasRtiField: hasRtiField,
319 onlyForRti: onlyForRti, 313 onlyForRti: onlyForRti,
320 isDirectlyInstantiated: isDirectlyInstantiated, 314 isDirectlyInstantiated: isDirectlyInstantiated,
321 isNative: false); 315 isNative: false);
322 316
323 bool get isMixinApplication => true; 317 bool get isMixinApplication => true;
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 functionType: functionType); 523 functionType: functionType);
530 524
531 bool get isStatic => true; 525 bool get isStatic => true;
532 } 526 }
533 527
534 class StaticStubMethod extends StubMethod implements StaticMethod { 528 class StaticStubMethod extends StubMethod implements StaticMethod {
535 Holder holder; 529 Holder holder;
536 StaticStubMethod(js.Name name, this.holder, js.Expression code) 530 StaticStubMethod(js.Name name, this.holder, js.Expression code)
537 : super(name, code); 531 : super(name, code);
538 } 532 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698