From 0c86294ca4c7cfb661d679b3135b73f96f02639f Mon Sep 17 00:00:00 2001 From: Nikolay Lunyak Date: Tue, 10 Jan 2023 20:46:48 +0200 Subject: [PATCH] [FIR] Rename FirAnnotation.classId to unexpandedClassId This makes the eye catch each such thing in the source. OptIn isn't that catchy, plus it may be declared for the whole file, so noticing may be harder --- .../js/checkers/declaration/FirJsNativeAnnotationCheckers.kt | 4 ++-- .../checkers/declaration/FirRepeatableAnnotationChecker.kt | 4 ++-- .../kotlin/fir/java/enhancement/SignatureEnhancement.kt | 4 ++-- .../org/jetbrains/kotlin/fir/declarations/deprecationUtils.kt | 4 ++-- .../org/jetbrains/kotlin/fir/expressions/FirExpressionUtil.kt | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/compiler/fir/checkers/checkers.js/src/org/jetbrains/kotlin/fir/analysis/js/checkers/declaration/FirJsNativeAnnotationCheckers.kt b/compiler/fir/checkers/checkers.js/src/org/jetbrains/kotlin/fir/analysis/js/checkers/declaration/FirJsNativeAnnotationCheckers.kt index 61ecfe50f73..deeb4a402fb 100644 --- a/compiler/fir/checkers/checkers.js/src/org/jetbrains/kotlin/fir/analysis/js/checkers/declaration/FirJsNativeAnnotationCheckers.kt +++ b/compiler/fir/checkers/checkers.js/src/org/jetbrains/kotlin/fir/analysis/js/checkers/declaration/FirJsNativeAnnotationCheckers.kt @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction import org.jetbrains.kotlin.fir.declarations.hasAnnotation import org.jetbrains.kotlin.fir.declarations.utils.isExtension import org.jetbrains.kotlin.fir.declarations.utils.visibility -import org.jetbrains.kotlin.fir.expressions.classId +import org.jetbrains.kotlin.fir.expressions.unexpandedClassId import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.JsStandardClassIds @@ -27,7 +27,7 @@ internal abstract class FirJsAbstractNativeAnnotationChecker(private val require protected fun FirFunction.hasRequiredAnnotation(context: CheckerContext) = hasAnnotation(requiredAnnotation, context.session) override fun check(declaration: FirSimpleFunction, context: CheckerContext, reporter: DiagnosticReporter) { - val annotation = declaration.annotations.find { it.classId == requiredAnnotation } ?: return + val annotation = declaration.annotations.find { it.unexpandedClassId == requiredAnnotation } ?: return val isMember = !context.isTopLevel && declaration.visibility != Visibilities.Local val isExtension = declaration.isExtension diff --git a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/declaration/FirRepeatableAnnotationChecker.kt b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/declaration/FirRepeatableAnnotationChecker.kt index 954db433120..a7077976a55 100644 --- a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/declaration/FirRepeatableAnnotationChecker.kt +++ b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/declaration/FirRepeatableAnnotationChecker.kt @@ -47,7 +47,7 @@ object FirRepeatableAnnotationChecker : FirBasicDeclarationChecker() { val session = context.session for (annotation in annotations) { - val unexpandedClassId = annotation.classId ?: continue + val unexpandedClassId = annotation.unexpandedClassId ?: continue val annotationClassId = annotation.toAnnotationClassId(session) ?: continue if (annotationClassId.isLocal) continue val annotationClass = session.symbolProvider.getClassLikeSymbolByClassId(annotationClassId) ?: continue @@ -87,7 +87,7 @@ object FirRepeatableAnnotationChecker : FirBasicDeclarationChecker() { } if (declaration is FirRegularClass) { - val javaRepeatable = annotations.find { it.classId == StandardClassIds.Annotations.Java.Repeatable } + val javaRepeatable = annotations.find { it.unexpandedClassId == StandardClassIds.Annotations.Java.Repeatable } if (javaRepeatable != null) { checkJavaRepeatableAnnotationDeclaration(javaRepeatable, declaration, context, reporter) } else { diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt index 15485022a67..07d492d3389 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt @@ -27,7 +27,7 @@ import org.jetbrains.kotlin.fir.declarations.utils.modality import org.jetbrains.kotlin.fir.declarations.utils.visibility import org.jetbrains.kotlin.fir.expressions.FirAnnotation import org.jetbrains.kotlin.fir.expressions.FirConstExpression -import org.jetbrains.kotlin.fir.expressions.classId +import org.jetbrains.kotlin.fir.expressions.unexpandedClassId import org.jetbrains.kotlin.fir.java.FirJavaTypeConversionMode import org.jetbrains.kotlin.fir.java.JavaTypeParameterStack import org.jetbrains.kotlin.fir.java.declarations.* @@ -466,7 +466,7 @@ class FirSignatureEnhancement( private fun getPurelyImplementedSupertype(session: FirSession): ConeKotlinType? { val purelyImplementedClassIdFromAnnotation = owner.annotations - .firstOrNull { it.classId?.asSingleFqName() == JvmAnnotationNames.PURELY_IMPLEMENTS_ANNOTATION } + .firstOrNull { it.unexpandedClassId?.asSingleFqName() == JvmAnnotationNames.PURELY_IMPLEMENTS_ANNOTATION } ?.let { (it.argumentMapping.mapping.values.firstOrNull() as? FirConstExpression<*>) } ?.let { it.value as? String } ?.takeIf { it.isNotBlank() && isValidJavaFqName(it) } diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/deprecationUtils.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/deprecationUtils.kt index 543fa673c9e..c3933801062 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/deprecationUtils.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/deprecationUtils.kt @@ -190,12 +190,12 @@ private fun List.extractDeprecationAnnotationInfoPerUseSite( return buildDeprecationAnnotationInfoPerUseSiteStorage { for ((deprecated, fromJavaAnnotation) in annotations) { - if (deprecated.classId == StandardClassIds.Annotations.SinceKotlin) { + if (deprecated.unexpandedClassId == StandardClassIds.Annotations.SinceKotlin) { val sinceKotlinSingleArgument = deprecated.findArgumentByName(ParameterNames.sinceKotlinVersion) val apiVersion = ((sinceKotlinSingleArgument as? FirConstExpression<*>)?.value as? String) ?.let(ApiVersion.Companion::parse) ?: continue val wasExperimental = this@extractDeprecationAnnotationInfoPerUseSite.any { - it.classId == StandardClassIds.Annotations.WasExperimental + it.unexpandedClassId == StandardClassIds.Annotations.WasExperimental } if (!wasExperimental) { add(deprecated.useSiteTarget, SinceKotlinInfo(apiVersion)) diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirExpressionUtil.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirExpressionUtil.kt index 2be0e5751dc..158951b8c1f 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirExpressionUtil.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirExpressionUtil.kt @@ -32,7 +32,7 @@ import org.jetbrains.kotlin.types.ConstantValueKind inline val FirAnnotation.coneClassLikeType: ConeClassLikeType? get() = ((annotationTypeRef as? FirResolvedTypeRef)?.type as? ConeClassLikeType) -inline val FirAnnotation.classId: ClassId? +inline val FirAnnotation.unexpandedClassId: ClassId? get() = coneClassLikeType?.lookupTag?.classId fun buildConstOrErrorExpression(source: KtSourceElement?, kind: ConstantValueKind, value: T?, diagnostic: ConeDiagnostic): FirExpression =