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 |