[FE 1.0] Support java sealed classes

^KT-46778 Fixed
This commit is contained in:
Dmitriy Novozhilov
2021-07-14 11:35:20 +03:00
committed by teamcityserver
parent 972211f8e6
commit fa1d09c778
32 changed files with 365 additions and 38 deletions
@@ -0,0 +1,17 @@
// WITH_REFLECT
// FILE: Base.java
public sealed class Base permits O, K {}
// FILE: O.java
public final class O extends Base {}
// FILE: K.java
public non-sealed class K extends Base {}
// FILE: main.kt
fun box(): String {
val clazz = Base::class.java
if (!clazz.isSealed) return "Error: Base is not sealed"
return clazz.permittedSubclasses.joinToString("") { it.simpleName ?: "_No name provided_" }
}