Enum entries now can have no initializer if default secondary constructor is available. #KT-8484 Fixed

This commit is contained in:
Mikhail Glukhikh
2015-09-02 15:48:24 +03:00
parent 0fc8023f18
commit fa292ec0e0
9 changed files with 90 additions and 2 deletions
@@ -507,8 +507,7 @@ public class DeclarationsChecker {
if (DescriptorUtils.isEnumClass(declaration)) {
ClassDescriptor enumClass = (ClassDescriptor) declaration;
ConstructorDescriptor constructor = enumClass.getUnsubstitutedPrimaryConstructor();
if ((constructor == null || !constructor.getValueParameters().isEmpty()) && !enumEntry.hasInitializer()) {
if (!enumEntry.hasInitializer() && !DescriptorUtils.hasDefaultConstructor(enumClass)) {
trace.report(ENUM_ENTRY_SHOULD_BE_INITIALIZED.on(enumEntry));
}
}