[FIR] Add JvmName to the list of REQUIRED_ANNOTATIONS

We need to resolve `JvmName` as soon as possible because
it can be analyzed in `FirJavaElementFinder` to create
the correct class stub.

#KT-57802
This commit is contained in:
Ivan Kylchik
2023-09-07 17:36:23 +02:00
committed by Space Team
parent a45bb8d92b
commit 4334ae9da9
2 changed files with 9 additions and 4 deletions
@@ -7,12 +7,9 @@ package org.jetbrains.kotlin.fir.analysis.jvm.checkers
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.getAnnotationRetention
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.declarations.AnnotationsPosition
import org.jetbrains.kotlin.fir.languageVersionSettings
import org.jetbrains.kotlin.fir.declarations.FirAnnotationsPlatformSpecificSupportComponent
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
import org.jetbrains.kotlin.fir.languageVersionSettings
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.JvmStandardClassIds
@@ -23,6 +20,7 @@ object FirJvmAnnotationsPlatformSpecificSupportComponent : FirAnnotationsPlatfor
StandardClassIds.Annotations.Deprecated,
StandardClassIds.Annotations.Target,
JvmStandardClassIds.Annotations.Java.Target,
JvmStandardClassIds.Annotations.JvmName,
)
override val requiredAnnotations: Set<ClassId> = requiredAnnotationsWithArguments + setOf(
@@ -6,6 +6,10 @@ package one.two;
public class Bar {
public static final int BAR = OtherKt.FOO + 1;
public Child getChild() {
return new Child();
}
}
// FILE: Main.kt
@@ -16,6 +20,9 @@ const val FOO = <!EVALUATED("1")!>1<!>
const val BAZ = <!EVALUATED("3")!>Bar.BAR + 1<!>
// This class is presented here to check that on super type resolve phase we have resolved `JvmName` annotation
class Child : Bar()
fun box(): String {
return "OK"
}