[LL FIR] FirLazyAnnotationTransformer: add missing compiler annotation

^KT-57424
This commit is contained in:
Dmitrii Gridin
2023-03-20 15:02:08 +01:00
committed by Space Team
parent 6ee20574e1
commit 7891b025a5
@@ -18,16 +18,13 @@ import org.jetbrains.kotlin.fir.expressions.impl.FirLazyBlock
import org.jetbrains.kotlin.fir.expressions.impl.FirLazyDelegatedConstructorCall import org.jetbrains.kotlin.fir.expressions.impl.FirLazyDelegatedConstructorCall
import org.jetbrains.kotlin.fir.expressions.impl.FirLazyExpression import org.jetbrains.kotlin.fir.expressions.impl.FirLazyExpression
import org.jetbrains.kotlin.fir.extensions.registeredPluginAnnotations import org.jetbrains.kotlin.fir.extensions.registeredPluginAnnotations
import org.jetbrains.kotlin.fir.resolve.transformers.plugin.CompilerRequiredAnnotationsHelper
import org.jetbrains.kotlin.fir.scopes.kotlinScopeProvider import org.jetbrains.kotlin.fir.scopes.kotlinScopeProvider
import org.jetbrains.kotlin.fir.types.FirUserTypeRef import org.jetbrains.kotlin.fir.types.FirUserTypeRef
import org.jetbrains.kotlin.fir.visitors.FirTransformer import org.jetbrains.kotlin.fir.visitors.FirTransformer
import org.jetbrains.kotlin.fir.visitors.transformSingle import org.jetbrains.kotlin.fir.visitors.transformSingle
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.name.StandardClassIds.Annotations.Deprecated
import org.jetbrains.kotlin.name.StandardClassIds.Annotations.DeprecatedSinceKotlin
import org.jetbrains.kotlin.name.StandardClassIds.Annotations.JvmRecord
import org.jetbrains.kotlin.name.StandardClassIds.Annotations.WasExperimental
import org.jetbrains.kotlin.name.StandardClassIds.Annotations.SinceKotlin import org.jetbrains.kotlin.name.StandardClassIds.Annotations.SinceKotlin
internal object FirLazyBodiesCalculator { internal object FirLazyBodiesCalculator {
@@ -211,13 +208,9 @@ private data class FirLazyAnnotationTransformerData(
) )
private object FirLazyAnnotationTransformer : FirTransformer<FirLazyAnnotationTransformerData>() { private object FirLazyAnnotationTransformer : FirTransformer<FirLazyAnnotationTransformerData>() {
private val COMPILER_ANNOTATION_NAMES: Set<Name> = setOf( private val COMPILER_ANNOTATION_NAMES: Set<Name> = CompilerRequiredAnnotationsHelper.REQUIRED_ANNOTATIONS
Deprecated, .plus(SinceKotlin)
DeprecatedSinceKotlin, .mapTo(mutableSetOf()) { it.shortClassName }
WasExperimental,
JvmRecord,
SinceKotlin,
).mapTo(mutableSetOf()) { it.shortClassName }
private fun canBeCompilerAnnotation(annotationCall: FirAnnotationCall, session: FirSession): Boolean { private fun canBeCompilerAnnotation(annotationCall: FirAnnotationCall, session: FirSession): Boolean {
val annotationTypeRef = annotationCall.annotationTypeRef val annotationTypeRef = annotationCall.annotationTypeRef