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 '../constants/expressions.dart'; | 8 import '../constants/expressions.dart'; |
9 import '../tree/tree.dart'; | 9 import '../tree/tree.dart'; |
10 import '../util/util.dart'; | 10 import '../util/util.dart'; |
(...skipping 962 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
973 MemberElement get memberContext; | 973 MemberElement get memberContext; |
974 } | 974 } |
975 | 975 |
976 /// A top-level, static or instance field or method, or a constructor. | 976 /// A top-level, static or instance field or method, or a constructor. |
977 /// | 977 /// |
978 /// A [MemberElement] is the outermost executable element for any executable | 978 /// A [MemberElement] is the outermost executable element for any executable |
979 /// context. | 979 /// context. |
980 abstract class MemberElement extends Element implements ExecutableElement { | 980 abstract class MemberElement extends Element implements ExecutableElement { |
981 /// The local functions defined within this member. | 981 /// The local functions defined within this member. |
982 List<FunctionElement> get nestedClosures; | 982 List<FunctionElement> get nestedClosures; |
| 983 |
| 984 /// The name of this member taking privacy into account. |
| 985 Name get memberName; |
983 } | 986 } |
984 | 987 |
985 /// A function, variable or parameter defined in an executable context. | 988 /// A function, variable or parameter defined in an executable context. |
986 abstract class LocalElement extends Element implements TypedElement, Local { | 989 abstract class LocalElement extends Element implements TypedElement, Local { |
987 } | 990 } |
988 | 991 |
989 /// A top level, static or instance field, a formal parameter or local variable. | 992 /// A top level, static or instance field, a formal parameter or local variable. |
990 abstract class VariableElement extends ExecutableElement { | 993 abstract class VariableElement extends ExecutableElement { |
991 Expression get initializer; | 994 Expression get initializer; |
992 } | 995 } |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1246 /// Class `E` has a synthesized constructor, `E.c`, whose defining constructor | 1249 /// Class `E` has a synthesized constructor, `E.c`, whose defining constructor |
1247 /// is `C.c`. | 1250 /// is `C.c`. |
1248 ConstructorElement get definingConstructor; | 1251 ConstructorElement get definingConstructor; |
1249 | 1252 |
1250 /// Use [enclosingClass] instead. | 1253 /// Use [enclosingClass] instead. |
1251 @deprecated | 1254 @deprecated |
1252 get enclosingElement; | 1255 get enclosingElement; |
1253 } | 1256 } |
1254 | 1257 |
1255 /// JavaScript backend specific element for the body of constructor. | 1258 /// JavaScript backend specific element for the body of constructor. |
1256 // TODO(johnniwinther): Remove this class for the element model. | 1259 // TODO(johnniwinther): Remove this class from the element model. |
1257 abstract class ConstructorBodyElement extends FunctionElement { | 1260 abstract class ConstructorBodyElement extends MethodElement { |
1258 FunctionElement get constructor; | 1261 FunctionElement get constructor; |
1259 } | 1262 } |
1260 | 1263 |
1261 /// [TypeDeclarationElement] defines the common interface for class/interface | 1264 /// [TypeDeclarationElement] defines the common interface for class/interface |
1262 /// declarations and typedefs. | 1265 /// declarations and typedefs. |
1263 abstract class TypeDeclarationElement extends Element implements AstElement { | 1266 abstract class TypeDeclarationElement extends Element implements AstElement { |
1264 /** | 1267 /** |
1265 * The `this type` for this type declaration. | 1268 * The `this type` for this type declaration. |
1266 * | 1269 * |
1267 * The type of [:this:] is the generic type based on this element in which | 1270 * The type of [:this:] is the generic type based on this element in which |
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1623 bool get isDeclaredByField; | 1626 bool get isDeclaredByField; |
1624 | 1627 |
1625 /// Returns `true` if this member is abstract. | 1628 /// Returns `true` if this member is abstract. |
1626 bool get isAbstract; | 1629 bool get isAbstract; |
1627 | 1630 |
1628 /// If abstract, [implementation] points to the overridden concrete member, | 1631 /// If abstract, [implementation] points to the overridden concrete member, |
1629 /// if any. Otherwise [implementation] points to the member itself. | 1632 /// if any. Otherwise [implementation] points to the member itself. |
1630 Member get implementation; | 1633 Member get implementation; |
1631 } | 1634 } |
1632 | 1635 |
OLD | NEW |