[FIR] Fix JavaClass.modality for annotation classes and enums
- `JavaClass.modality` should return the correct modality instead of requiring the caller to handle annotation classes and enums.
This commit is contained in:
committed by
Space Team
parent
484e5afb59
commit
9cc6809ec6
@@ -245,7 +245,7 @@ abstract class FirJavaFacade(
|
||||
val visibility = javaClass.visibility
|
||||
this@buildJavaClass.visibility = visibility
|
||||
classKind = javaClass.classKind
|
||||
modality = if (classKind == ClassKind.ANNOTATION_CLASS || classKind == ClassKind.ENUM_CLASS) Modality.FINAL else javaClass.modality
|
||||
modality = javaClass.modality
|
||||
this.isTopLevel = classId.outerClassId == null
|
||||
isStatic = javaClass.isStatic
|
||||
javaPackage = packageCache.getValue(classSymbol.classId.packageFqName)
|
||||
|
||||
@@ -8,9 +8,6 @@ package org.jetbrains.kotlin.fir.java
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationDataKey
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationDataRegistry
|
||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
import org.jetbrains.kotlin.fir.diagnostics.ConeSimpleDiagnostic
|
||||
import org.jetbrains.kotlin.fir.diagnostics.DiagnosticKind
|
||||
import org.jetbrains.kotlin.fir.expressions.FirArrayOfCall
|
||||
@@ -39,6 +36,7 @@ internal val JavaModifierListOwner.modality: Modality
|
||||
|
||||
internal val JavaClass.modality: Modality
|
||||
get() = when {
|
||||
isAnnotationType || isEnum -> Modality.FINAL
|
||||
isSealed -> Modality.SEALED
|
||||
isAbstract -> Modality.ABSTRACT
|
||||
isFinal -> Modality.FINAL
|
||||
|
||||
Reference in New Issue
Block a user