Do not generate no-arg constructor for sealed ultra-light class
This commit is contained in:
@@ -377,6 +377,7 @@ open class KtUltraLightClass(classOrObject: KtClassOrObject, internal val suppor
|
||||
private fun shouldGenerateNoArgOverload(primary: KtPrimaryConstructor): Boolean {
|
||||
return !primary.hasModifier(PRIVATE_KEYWORD) &&
|
||||
!classOrObject.hasModifier(INNER_KEYWORD) && !isEnum &&
|
||||
!classOrObject.hasModifier(SEALED_KEYWORD) &&
|
||||
primary.valueParameters.isNotEmpty() &&
|
||||
primary.valueParameters.all { it.defaultValue != null } &&
|
||||
classOrObject.allConstructors.none { it.valueParameters.isEmpty() }
|
||||
|
||||
@@ -11,3 +11,7 @@ class Outer {
|
||||
inner class Inner(x: Int = 1, y: String = "")
|
||||
class Nested(x: Int = 1, y: String = "")
|
||||
}
|
||||
|
||||
sealed class A(val x: String? = null) {
|
||||
class C : A()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user