[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
@@ -81,8 +81,11 @@ class LazyJavaClassDescriptor(
private val modality =
if (jClass.isAnnotationType || jClass.isEnum) Modality.FINAL
// TODO: replace false with jClass.isSealed when it will be properly supported in platform
else Modality.convertFromFlags(sealed = false, jClass.isSealed || jClass.isAbstract || jClass.isInterface, !jClass.isFinal)
else Modality.convertFromFlags(
sealed = jClass.isSealed,
abstract = jClass.isSealed || jClass.isAbstract || jClass.isInterface,
open = !jClass.isFinal
)
private val visibility = jClass.visibility
private val isInner = jClass.outerClass != null && !jClass.isStatic