| 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 1214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1225 /// | 1225 /// |
| 1226 /// class C { factory C() = D; } | 1226 /// class C { factory C() = D; } |
| 1227 /// class D { factory D() = E; } | 1227 /// class D { factory D() = E; } |
| 1228 /// class E { E(); } | 1228 /// class E { E(); } |
| 1229 /// | 1229 /// |
| 1230 /// The immediate redirection target of `C` is `D` and the immediate | 1230 /// The immediate redirection target of `C` is `D` and the immediate |
| 1231 /// redirection target of `D` is `E`. `E` is not a redirecting factory | 1231 /// redirection target of `D` is `E`. `E` is not a redirecting factory |
| 1232 /// constructor so its immediate redirection target is `null`. | 1232 /// constructor so its immediate redirection target is `null`. |
| 1233 ConstructorElement get immediateRedirectionTarget; | 1233 ConstructorElement get immediateRedirectionTarget; |
| 1234 | 1234 |
| 1235 bool get isCyclicRedirection; |
| 1236 |
| 1237 /// The prefix of the immediateRedirectionTarget, if it is deferred. |
| 1238 /// [null] if it is not deferred. |
| 1239 PrefixElement get redirectionDeferredPrefix; |
| 1240 |
| 1235 /// Is `true` if this constructor is a redirecting generative constructor. | 1241 /// Is `true` if this constructor is a redirecting generative constructor. |
| 1236 bool get isRedirectingGenerative; | 1242 bool get isRedirectingGenerative; |
| 1237 | 1243 |
| 1238 /// Is `true` if this constructor is a redirecting factory constructor. | 1244 /// Is `true` if this constructor is a redirecting factory constructor. |
| 1239 bool get isRedirectingFactory; | 1245 bool get isRedirectingFactory; |
| 1240 | 1246 |
| 1241 /// Compute the type of the effective target of this constructor for an | 1247 /// Compute the type of the effective target of this constructor for an |
| 1242 /// instantiation site with type [:newType:]. | 1248 /// instantiation site with type [:newType:]. |
| 1243 InterfaceType computeEffectiveTargetType(InterfaceType newType); | 1249 InterfaceType computeEffectiveTargetType(InterfaceType newType); |
| 1244 | 1250 |
| (...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1632 bool get isDeclaredByField; | 1638 bool get isDeclaredByField; |
| 1633 | 1639 |
| 1634 /// Returns `true` if this member is abstract. | 1640 /// Returns `true` if this member is abstract. |
| 1635 bool get isAbstract; | 1641 bool get isAbstract; |
| 1636 | 1642 |
| 1637 /// If abstract, [implementation] points to the overridden concrete member, | 1643 /// If abstract, [implementation] points to the overridden concrete member, |
| 1638 /// if any. Otherwise [implementation] points to the member itself. | 1644 /// if any. Otherwise [implementation] points to the member itself. |
| 1639 Member get implementation; | 1645 Member get implementation; |
| 1640 } | 1646 } |
| 1641 | 1647 |
| OLD | NEW |