Index: pkg/analyzer/lib/src/generated/resolver.dart |
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart |
index 7d9268530f8484c113dcf2bceee102c32378f5df..b4a3d987219dfe364f11fc6439bd6739b163b0ab 100644 |
--- a/pkg/analyzer/lib/src/generated/resolver.dart |
+++ b/pkg/analyzer/lib/src/generated/resolver.dart |
@@ -5756,10 +5756,15 @@ class ImplicitConstructorBuilder extends ScopedVisitor { |
List<ConstructorElement> implicitConstructors = new List<ConstructorElement>(); |
for (int i = 0; i < count; i++) { |
ConstructorElement explicitConstructor = constructors[i]; |
- if (!explicitConstructor.isFactory) { |
+ if (!explicitConstructor.isFactory && |
+ classElement.isSuperConstructorAccessible(explicitConstructor)) { |
implicitConstructors.add(_createImplicitContructor(classType, explicitConstructor, parameterTypes, argumentTypes)); |
} |
} |
+ if (implicitConstructors.isEmpty) { |
+ reportErrorForNode(CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS, |
+ node, [superclassElement.name]); |
+ } |
classElement.constructors = implicitConstructors; |
} |
} |