| Index: pkg/compiler/lib/src/resolution/send_resolver.dart
|
| diff --git a/pkg/compiler/lib/src/resolution/send_resolver.dart b/pkg/compiler/lib/src/resolution/send_resolver.dart
|
| index b8eeb2fed37369f53c94d4f66365632b04a4e9ed..7ff21568011e2c6e5018b9f465a622d3eb2e564c 100644
|
| --- a/pkg/compiler/lib/src/resolution/send_resolver.dart
|
| +++ b/pkg/compiler/lib/src/resolution/send_resolver.dart
|
| @@ -419,8 +419,15 @@ abstract class SendResolverMixin {
|
| ConstructorElement constructor,
|
| DartType type) {
|
| if (constructor.isErroneous) {
|
| + if (constructor is ErroneousElement) {
|
| + ErroneousElement error = constructor;
|
| + if (error.messageKind == MessageKind.CANNOT_FIND_CONSTRUCTOR) {
|
| + return new ConstructorAccessSemantics(
|
| + ConstructorAccessKind.UNRESOLVED_CONSTRUCTOR, constructor, type);
|
| + }
|
| + }
|
| return new ConstructorAccessSemantics(
|
| - ConstructorAccessKind.ERRONEOUS, constructor, type);
|
| + ConstructorAccessKind.UNRESOLVED_TYPE, constructor, type);
|
| } else if (constructor.isRedirectingFactory) {
|
| ConstructorElement effectiveTarget = constructor.effectiveTarget;
|
| if (effectiveTarget == constructor ||
|
| @@ -482,7 +489,7 @@ abstract class SendResolverMixin {
|
| // This is a non-constant constant constructor invocation, like
|
| // `const Const(method())`.
|
| constructorAccessSemantics = new ConstructorAccessSemantics(
|
| - ConstructorAccessKind.ERRONEOUS, element, type);
|
| + ConstructorAccessKind.NON_CONSTANT_CONSTRUCTOR, element, type);
|
| } else {
|
| constructorAccessSemantics =
|
| computeConstructorAccessSemantics(element, type);
|
|
|