NoArg: Fix compatibility with sealed classes with non-zero-parameter constructors (KT-19687)
Also check if a class has a sealed super class properly.
This commit is contained in:
committed by
Yan Zhulanow
parent
cea891c754
commit
187ca71dc6
+23
@@ -18,5 +18,28 @@ fun box(): String {
|
||||
|
||||
val instance = Test.Test1::class.java.newInstance() // Error
|
||||
|
||||
Demo.Foo::class.java.newInstance()
|
||||
Demo.Free::class.java.newInstance()
|
||||
|
||||
A.Free::class.java.newInstance()
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
@NoArg
|
||||
sealed class Demo(val name : String) {
|
||||
@NoArg
|
||||
class Free(name: String)
|
||||
|
||||
@NoArg
|
||||
class Foo(name: String) : Demo(name)
|
||||
|
||||
@NoArg
|
||||
class Bar(name: String) : Demo(name)
|
||||
}
|
||||
|
||||
@NoArg
|
||||
abstract class A(val name: String) {
|
||||
@NoArg
|
||||
class Free(name: String) : A(name)
|
||||
}
|
||||
Reference in New Issue
Block a user