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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/elements/modelx.dart

Issue 23819039: Create type masks lazily. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 3 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 elements.modelx; 5 library elements.modelx;
6 6
7 import 'dart:collection' show LinkedHashMap; 7 import 'dart:collection' show LinkedHashMap;
8 8
9 import 'elements.dart'; 9 import 'elements.dart';
10 import '../../compiler.dart' as api; 10 import '../../compiler.dart' as api;
(...skipping 1492 matching lines...) Expand 10 before | Expand all | Expand 10 after
1503 * the input source has used explicit type arguments. 1503 * the input source has used explicit type arguments.
1504 * 1504 *
1505 * This type is computed together with [thisType] in [computeType]. 1505 * This type is computed together with [thisType] in [computeType].
1506 */ 1506 */
1507 InterfaceType rawTypeCache; 1507 InterfaceType rawTypeCache;
1508 DartType supertype; 1508 DartType supertype;
1509 Link<DartType> interfaces; 1509 Link<DartType> interfaces;
1510 SourceString nativeTagInfo; 1510 SourceString nativeTagInfo;
1511 int supertypeLoadState; 1511 int supertypeLoadState;
1512 int resolutionState; 1512 int resolutionState;
1513 bool get isResolved => resolutionState == STATE_DONE;
1513 1514
1514 // backendMembers are members that have been added by the backend to simplify 1515 // backendMembers are members that have been added by the backend to simplify
1515 // compilation. They don't have any user-side counter-part. 1516 // compilation. They don't have any user-side counter-part.
1516 Link<Element> backendMembers = const Link<Element>(); 1517 Link<Element> backendMembers = const Link<Element>();
1517 1518
1518 Link<DartType> allSupertypes; 1519 Link<DartType> allSupertypes;
1519 1520
1520 BaseClassElementX(SourceString name, 1521 BaseClassElementX(SourceString name,
1521 Element enclosing, 1522 Element enclosing,
1522 this.id, 1523 this.id,
(...skipping 667 matching lines...) Expand 10 before | Expand all | Expand 10 after
2190 2191
2191 MetadataAnnotation ensureResolved(Compiler compiler) { 2192 MetadataAnnotation ensureResolved(Compiler compiler) {
2192 if (resolutionState == STATE_NOT_STARTED) { 2193 if (resolutionState == STATE_NOT_STARTED) {
2193 compiler.resolver.resolveMetadataAnnotation(this); 2194 compiler.resolver.resolveMetadataAnnotation(this);
2194 } 2195 }
2195 return this; 2196 return this;
2196 } 2197 }
2197 2198
2198 String toString() => 'MetadataAnnotation($value, $resolutionState)'; 2199 String toString() => 'MetadataAnnotation($value, $resolutionState)';
2199 } 2200 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698