| 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 |