Chromium Code Reviews| Index: pkg/compiler/lib/src/elements/elements.dart |
| diff --git a/pkg/compiler/lib/src/elements/elements.dart b/pkg/compiler/lib/src/elements/elements.dart |
| index 9503c6bc09b821fa672b418c4b800f27990d255f..6d07880e4e3cd64496ea32a16ac03b558396f153 100644 |
| --- a/pkg/compiler/lib/src/elements/elements.dart |
| +++ b/pkg/compiler/lib/src/elements/elements.dart |
| @@ -1249,8 +1249,6 @@ abstract class ConstructorElement extends FunctionElement |
| /// constructor so its immediate redirection target is `null`. |
| ConstructorElement get immediateRedirectionTarget; |
| - bool get isCyclicRedirection; |
| - |
| /// The prefix of the immediateRedirectionTarget, if it is deferred. |
| /// [null] if it is not deferred. |
| PrefixElement get redirectionDeferredPrefix; |
| @@ -1261,6 +1259,25 @@ abstract class ConstructorElement extends FunctionElement |
| /// Is `true` if this constructor is a redirecting factory constructor. |
| bool get isRedirectingFactory; |
| + /// Is `true` if this constructor is a redirecting factory constructor that is |
| + /// part of a redirection cycle. |
| + bool get isCyclicRedirection; |
| + |
| + /// Is `true` if this constructor is malformed. |
|
sigurdm
2015/11/11 08:24:51
/// Is `true` if the effective target of this cons
Johnni Winther
2015/11/11 09:56:29
Done.
|
| + /// |
| + /// A constructor is considered malformed if any of the following applies: |
| + /// |
| + /// * the constructor is undefined, |
| + /// * the type of the constructor is undefined, |
| + /// * the constructor is a redirecting factory and either |
| + /// - it is part of a redirection cycle, |
| + /// - the effective target is a generative constructor on an abstract |
| + /// class, or |
| + /// - this constructor is constant but the effective target is not, |
| + /// - the arguments to this constructor are incompatible with the |
| + /// parameters of the effective target. |
| + bool get isEffectiveTargetMalformed; |
| + |
| /// Compute the type of the effective target of this constructor for an |
| /// instantiation site with type [:newType:]. |
| InterfaceType computeEffectiveTargetType(InterfaceType newType); |