[FIR] FirJvmNameChecker: take into account effective modality
^KT-65604 Fixed Required for: KT-61798 Review: https://jetbrains.team/p/kt/reviews/14230/timeline Related tests: - DiagnosticCompilerTestFirTestdataTestGenerated$ResolveWithStdlib.testAnnotationUseSites
This commit is contained in:
+3
-1
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.fir.analysis.jvm.checkers.declaration
|
||||
|
||||
import org.jetbrains.kotlin.builtins.StandardNames
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.diagnostics.DiagnosticReporter
|
||||
import org.jetbrains.kotlin.diagnostics.reportOn
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.MppCheckerKind
|
||||
@@ -17,6 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isInline
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isOverridable
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isOverride
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.modality
|
||||
import org.jetbrains.kotlin.fir.expressions.FirLiteralExpression
|
||||
import org.jetbrains.kotlin.fir.java.findJvmNameAnnotation
|
||||
import org.jetbrains.kotlin.fir.resolve.getContainingClass
|
||||
@@ -47,7 +49,7 @@ object FirJvmNameChecker : FirBasicDeclarationChecker(MppCheckerKind.Common) {
|
||||
|
||||
if (
|
||||
declaration.isOverride ||
|
||||
declaration.isOverridable ||
|
||||
containingClass != null && containingClass.modality != Modality.FINAL && declaration.isOverridable ||
|
||||
containingClass?.isValueClassThatRequiresMangling() == true
|
||||
) {
|
||||
reporter.reportOn(jvmName.source, FirJvmErrors.INAPPLICABLE_JVM_NAME, context)
|
||||
|
||||
Reference in New Issue
Block a user