| OLD | NEW |
| 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 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 240 CompilationUnitElement getCompilationUnit(); | 240 CompilationUnitElement getCompilationUnit(); |
| 241 LibraryElement getLibrary(); | 241 LibraryElement getLibrary(); |
| 242 LibraryElement getImplementationLibrary(); | 242 LibraryElement getImplementationLibrary(); |
| 243 ClassElement getEnclosingClass(); | 243 ClassElement getEnclosingClass(); |
| 244 Element getEnclosingClassOrCompilationUnit(); | 244 Element getEnclosingClassOrCompilationUnit(); |
| 245 Element getEnclosingMember(); | 245 Element getEnclosingMember(); |
| 246 Element getOutermostEnclosingMemberOrTopLevel(); | 246 Element getOutermostEnclosingMemberOrTopLevel(); |
| 247 | 247 |
| 248 FunctionElement asFunctionElement(); | 248 FunctionElement asFunctionElement(); |
| 249 | 249 |
| 250 /// Is [:true:] if this element has a corresponding patch. |
| 251 /// |
| 252 /// If [:true:] this element has a non-null [patch] field. |
| 253 /// |
| 254 /// See [:patch_parser.dart:] for a description of the terminology. |
| 250 bool get isPatched; | 255 bool get isPatched; |
| 256 |
| 257 /// Is [:true:] if this element is a patch. |
| 258 /// |
| 259 /// If [:true:] this element has a non-null [origin] field. |
| 260 /// |
| 261 /// See [:patch_parser.dart:] for a description of the terminology. |
| 251 bool get isPatch; | 262 bool get isPatch; |
| 263 |
| 264 /// Is [:true:] if this element defines the implementation for the entity of |
| 265 /// this element. |
| 266 /// |
| 267 /// See [:patch_parser.dart:] for a description of the terminology. |
| 252 bool get isImplementation; | 268 bool get isImplementation; |
| 269 |
| 270 /// Is [:true:] if this element introduces the entity of this element. |
| 271 /// |
| 272 /// See [:patch_parser.dart:] for a description of the terminology. |
| 253 bool get isDeclaration; | 273 bool get isDeclaration; |
| 274 |
| 275 /// Returns the element which defines the implementation for the entity of |
| 276 /// this element. |
| 277 /// |
| 278 /// See [:patch_parser.dart:] for a description of the terminology. |
| 279 Element get implementation; |
| 280 |
| 281 /// Returns the element which introduces the entity of this element. |
| 282 /// |
| 283 /// See [:patch_parser.dart:] for a description of the terminology. |
| 284 Element get declaration; |
| 285 |
| 286 /// Returns the patch for this element if this element is patched. |
| 287 /// |
| 288 /// See [:patch_parser.dart:] for a description of the terminology. |
| 289 Element get patch; |
| 290 |
| 291 /// Returns the origin for this element if this element is a patch. |
| 292 /// |
| 293 /// See [:patch_parser.dart:] for a description of the terminology. |
| 294 Element get origin; |
| 295 |
| 254 bool get isSynthesized; | 296 bool get isSynthesized; |
| 255 bool get isForwardingConstructor; | 297 bool get isForwardingConstructor; |
| 256 bool get isMixinApplication; | 298 bool get isMixinApplication; |
| 257 | 299 |
| 258 Element get implementation; | |
| 259 Element get declaration; | |
| 260 Element get patch; | |
| 261 Element get origin; | |
| 262 | |
| 263 bool hasFixedBackendName(); | 300 bool hasFixedBackendName(); |
| 264 String fixedBackendName(); | 301 String fixedBackendName(); |
| 265 | 302 |
| 266 bool get isAbstract; | 303 bool get isAbstract; |
| 267 bool isForeign(Compiler compiler); | 304 bool isForeign(Compiler compiler); |
| 268 | 305 |
| 269 void addMetadata(MetadataAnnotation annotation); | 306 void addMetadata(MetadataAnnotation annotation); |
| 270 void setNative(String name); | 307 void setNative(String name); |
| 271 void setFixedBackendName(String name); | 308 void setFixedBackendName(String name); |
| 272 | 309 |
| (...skipping 562 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 835 /// element. | 872 /// element. |
| 836 AbstractFieldElement get abstractField; | 873 AbstractFieldElement get abstractField; |
| 837 | 874 |
| 838 /** | 875 /** |
| 839 * Compute the type of the target of a constructor for an instantiation site | 876 * Compute the type of the target of a constructor for an instantiation site |
| 840 * with type [:newType:]. | 877 * with type [:newType:]. |
| 841 */ | 878 */ |
| 842 InterfaceType computeTargetType(InterfaceType newType); | 879 InterfaceType computeTargetType(InterfaceType newType); |
| 843 | 880 |
| 844 // TODO(kasperl): These are bit fishy. Do we really need them? | 881 // TODO(kasperl): These are bit fishy. Do we really need them? |
| 845 void set patch(FunctionElement value); | |
| 846 void set origin(FunctionElement value); | |
| 847 void set defaultImplementation(FunctionElement value); | 882 void set defaultImplementation(FunctionElement value); |
| 848 | 883 |
| 849 /// Do not use [computeSignature] outside of the resolver; instead retrieve | 884 /// Do not use [computeSignature] outside of the resolver; instead retrieve |
| 850 /// the signature through the [functionSignature] field. | 885 /// the signature through the [functionSignature] field. |
| 851 /// Trying to access a function signature that has not been computed in | 886 /// Trying to access a function signature that has not been computed in |
| 852 /// resolution is an error and calling [computeSignature] covers that error. | 887 /// resolution is an error and calling [computeSignature] covers that error. |
| 853 /// This method will go away! | 888 /// This method will go away! |
| 854 @deprecated FunctionSignature computeSignature(Compiler compiler); | 889 @deprecated FunctionSignature computeSignature(Compiler compiler); |
| 855 | 890 |
| 856 FunctionExpression parseNode(DiagnosticListener listener); | 891 FunctionExpression parseNode(DiagnosticListener listener); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 908 String get nativeTagInfo; | 943 String get nativeTagInfo; |
| 909 | 944 |
| 910 bool get isMixinApplication; | 945 bool get isMixinApplication; |
| 911 bool get isUnnamedMixinApplication; | 946 bool get isUnnamedMixinApplication; |
| 912 bool get hasBackendMembers; | 947 bool get hasBackendMembers; |
| 913 bool get hasLocalScopeMembers; | 948 bool get hasLocalScopeMembers; |
| 914 | 949 |
| 915 // TODO(kasperl): These are bit fishy. Do we really need them? | 950 // TODO(kasperl): These are bit fishy. Do we really need them? |
| 916 void set supertype(DartType value); | 951 void set supertype(DartType value); |
| 917 void set interfaces(Link<DartType> value); | 952 void set interfaces(Link<DartType> value); |
| 918 void set patch(ClassElement value); | |
| 919 void set origin(ClassElement value); | |
| 920 void set supertypeLoadState(int value); | 953 void set supertypeLoadState(int value); |
| 921 void set resolutionState(int value); | 954 void set resolutionState(int value); |
| 922 void set nativeTagInfo(String value); | 955 void set nativeTagInfo(String value); |
| 923 | 956 |
| 924 bool isObject(Compiler compiler); | 957 bool isObject(Compiler compiler); |
| 925 bool isSubclassOf(ClassElement cls); | 958 bool isSubclassOf(ClassElement cls); |
| 926 /// Returns true if `this` explicitly/nominally implements [intrface]. | 959 /// Returns true if `this` explicitly/nominally implements [intrface]. |
| 927 /// | 960 /// |
| 928 /// Note that, if [intrface] is the `Function` class, this method returns | 961 /// Note that, if [intrface] is the `Function` class, this method returns |
| 929 /// falso for a class that has a `call` method but does not explicitly | 962 /// falso for a class that has a `call` method but does not explicitly |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1138 bool get isDeclaredByField; | 1171 bool get isDeclaredByField; |
| 1139 | 1172 |
| 1140 /// Returns `true` if this member is abstract. | 1173 /// Returns `true` if this member is abstract. |
| 1141 bool get isAbstract; | 1174 bool get isAbstract; |
| 1142 | 1175 |
| 1143 /// If abstract, [implementation] points to the overridden concrete member, | 1176 /// If abstract, [implementation] points to the overridden concrete member, |
| 1144 /// if any. Otherwise [implementation] points to the member itself. | 1177 /// if any. Otherwise [implementation] points to the member itself. |
| 1145 Member get implementation; | 1178 Member get implementation; |
| 1146 } | 1179 } |
| 1147 | 1180 |
| OLD | NEW |