[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:
+2
-4
@@ -7,12 +7,9 @@ package org.jetbrains.kotlin.fir.analysis.jvm.checkers
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.config.LanguageFeature
|
import org.jetbrains.kotlin.config.LanguageFeature
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
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.*
|
||||||
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.expressions.FirAnnotation
|
||||||
|
import org.jetbrains.kotlin.fir.languageVersionSettings
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.JvmStandardClassIds
|
import org.jetbrains.kotlin.name.JvmStandardClassIds
|
||||||
@@ -23,6 +20,7 @@ object FirJvmAnnotationsPlatformSpecificSupportComponent : FirAnnotationsPlatfor
|
|||||||
StandardClassIds.Annotations.Deprecated,
|
StandardClassIds.Annotations.Deprecated,
|
||||||
StandardClassIds.Annotations.Target,
|
StandardClassIds.Annotations.Target,
|
||||||
JvmStandardClassIds.Annotations.Java.Target,
|
JvmStandardClassIds.Annotations.Java.Target,
|
||||||
|
JvmStandardClassIds.Annotations.JvmName,
|
||||||
)
|
)
|
||||||
|
|
||||||
override val requiredAnnotations: Set<ClassId> = requiredAnnotationsWithArguments + setOf(
|
override val requiredAnnotations: Set<ClassId> = requiredAnnotationsWithArguments + setOf(
|
||||||
|
|||||||
+7
@@ -6,6 +6,10 @@ package one.two;
|
|||||||
|
|
||||||
public class Bar {
|
public class Bar {
|
||||||
public static final int BAR = OtherKt.FOO + 1;
|
public static final int BAR = OtherKt.FOO + 1;
|
||||||
|
|
||||||
|
public Child getChild() {
|
||||||
|
return new Child();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// FILE: Main.kt
|
// FILE: Main.kt
|
||||||
@@ -16,6 +20,9 @@ const val FOO = <!EVALUATED("1")!>1<!>
|
|||||||
|
|
||||||
const val BAZ = <!EVALUATED("3")!>Bar.BAR + 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 {
|
fun box(): String {
|
||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user