| 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..c25e955eb228cef83473c5f9dc0d503c1fb40dad 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 the effective target of this constructor is malformed.
|
| + ///
|
| + /// 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);
|
|
|