Index: pkg/compiler/lib/src/resolution/access_semantics.dart |
diff --git a/pkg/compiler/lib/src/resolution/access_semantics.dart b/pkg/compiler/lib/src/resolution/access_semantics.dart |
index ecd16c0f8d938033c3db285adce90d73c0051609..c445c58c0ac1a533d872b24fbc1cf678abf0fa75 100644 |
--- a/pkg/compiler/lib/src/resolution/access_semantics.dart |
+++ b/pkg/compiler/lib/src/resolution/access_semantics.dart |
@@ -388,17 +388,32 @@ enum ConstructorAccessKind { |
/// |
ABSTRACT, |
- /// An invocation of an unresolved constructor or an unresolved type. |
+ /// An invocation of a constructor on an unresolved type. |
+ /// |
+ /// For instance |
+ /// m() => new Unresolved(); |
+ /// |
+ UNRESOLVED_TYPE, |
+ |
+ /// An invocation of an unresolved constructor. |
+ /// |
+ /// For instance |
+ /// class C { |
+ /// C(); |
+ /// } |
+ /// m() => new C.unresolved(); |
+ /// |
+ UNRESOLVED_CONSTRUCTOR, |
+ |
+ /// An const invocation of an non-constant constructor. |
/// |
/// For instance |
/// class C { |
/// C(); |
/// } |
- /// m1() => new C.unresolved(); |
- /// m2() => new Unresolved(); |
+ /// m() => const C(); |
/// |
- // TODO(johnniwinther): Differentiate between error types. |
- ERRONEOUS, |
+ NON_CONSTANT_CONSTRUCTOR, |
/// An invocation of an ill-defined redirecting factory constructor. |
/// |
@@ -431,7 +446,9 @@ class ConstructorAccessSemantics { |
/// `true` if this invocation is erroneous. |
bool get isErroneous { |
return kind == ConstructorAccessKind.ABSTRACT || |
- kind == ConstructorAccessKind.ERRONEOUS || |
+ kind == ConstructorAccessKind.UNRESOLVED_TYPE || |
+ kind == ConstructorAccessKind.UNRESOLVED_CONSTRUCTOR || |
+ kind == ConstructorAccessKind.NON_CONSTANT_CONSTRUCTOR || |
kind == ConstructorAccessKind.ERRONEOUS_REDIRECTING_FACTORY; |
} |
} |