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

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

Issue 177963002: Use List instead of Link in the type system. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebase and some algorithmic bugs fixed. Created 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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; 5 library elements;
6 6
7 7
8 import '../tree/tree.dart'; 8 import '../tree/tree.dart';
9 import '../util/util.dart'; 9 import '../util/util.dart';
10 import '../resolution/resolution.dart'; 10 import '../resolution/resolution.dart';
(...skipping 737 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 bool get isDeferred; 748 bool get isDeferred;
749 void markAsDeferred(); 749 void markAsDeferred();
750 } 750 }
751 751
752 abstract class TypedefElement extends Element 752 abstract class TypedefElement extends Element
753 implements TypeDeclarationElement { 753 implements TypeDeclarationElement {
754 TypedefType get thisType; 754 TypedefType get thisType;
755 TypedefType get rawType; 755 TypedefType get rawType;
756 DartType get alias; 756 DartType get alias;
757 FunctionSignature get functionSignature; 757 FunctionSignature get functionSignature;
758 Link<DartType> get typeVariables; 758 List<DartType> get typeVariables;
759 759
760 bool get isResolved; 760 bool get isResolved;
761 761
762 // TODO(kasperl): Try to get rid of these setters. 762 // TODO(kasperl): Try to get rid of these setters.
763 void set alias(DartType value); 763 void set alias(DartType value);
764 void set functionSignature(FunctionSignature value); 764 void set functionSignature(FunctionSignature value);
765 765
766 void checkCyclicReference(Compiler compiler); 766 void checkCyclicReference(Compiler compiler);
767 } 767 }
768 768
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
861 */ 861 */
862 abstract class TypeDeclarationElement extends Element { 862 abstract class TypeDeclarationElement extends Element {
863 GenericType get thisType; 863 GenericType get thisType;
864 GenericType get rawType; 864 GenericType get rawType;
865 865
866 /** 866 /**
867 * The type variables declared on this declaration. The type variables are not 867 * The type variables declared on this declaration. The type variables are not
868 * available until the type of the element has been computed through 868 * available until the type of the element has been computed through
869 * [computeType]. 869 * [computeType].
870 */ 870 */
871 Link<DartType> get typeVariables; 871 List<DartType> get typeVariables;
872 } 872 }
873 873
874 abstract class ClassElement extends TypeDeclarationElement 874 abstract class ClassElement extends TypeDeclarationElement
875 implements ScopeContainerElement { 875 implements ScopeContainerElement {
876 int get id; 876 int get id;
877 877
878 /// The length of the longest inheritance path from [:Object:]. 878 /// The length of the longest inheritance path from [:Object:].
879 int get hierarchyDepth; 879 int get hierarchyDepth;
880 880
881 InterfaceType get rawType; 881 InterfaceType get rawType;
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
964 964
965 void forEachInstanceField(void f(ClassElement enclosingClass, 965 void forEachInstanceField(void f(ClassElement enclosingClass,
966 FieldElement field), 966 FieldElement field),
967 {bool includeSuperAndInjectedMembers: false}); 967 {bool includeSuperAndInjectedMembers: false});
968 968
969 /// Similar to [forEachInstanceField] but visits static fields. 969 /// Similar to [forEachInstanceField] but visits static fields.
970 void forEachStaticField(void f(ClassElement enclosingClass, Element field)); 970 void forEachStaticField(void f(ClassElement enclosingClass, Element field));
971 971
972 void forEachBackendMember(void f(Element member)); 972 void forEachBackendMember(void f(Element member));
973 973
974 Link<DartType> computeTypeParameters(Compiler compiler); 974 List<DartType> computeTypeParameters(Compiler compiler);
975 975
976 /// Looks up the member [name] in this class. 976 /// Looks up the member [name] in this class.
977 Member lookupClassMember(Name name); 977 Member lookupClassMember(Name name);
978 978
979 /// Calls [f] with each member of this class. 979 /// Calls [f] with each member of this class.
980 void forEachClassMember(f(Member member)); 980 void forEachClassMember(f(Member member));
981 981
982 /// Looks up the member [name] in the interface of this class. 982 /// Looks up the member [name] in the interface of this class.
983 MemberSignature lookupInterfaceMember(Name name); 983 MemberSignature lookupInterfaceMember(Name name);
984 984
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
1124 InterfaceType get declarer; 1124 InterfaceType get declarer;
1125 1125
1126 /// Returns `true` if this member is static. 1126 /// Returns `true` if this member is static.
1127 bool get isStatic; 1127 bool get isStatic;
1128 1128
1129 /// Returns `true` if this member is a getter or setter implicitly declared 1129 /// Returns `true` if this member is a getter or setter implicitly declared
1130 /// by a field. 1130 /// by a field.
1131 bool get isDeclaredByField; 1131 bool get isDeclaredByField;
1132 } 1132 }
1133 1133
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698