From ee490128fcc103a1ea2260f88451f684a2e44b35 Mon Sep 17 00:00:00 2001 From: Ivan Kochurkin Date: Tue, 26 Oct 2021 20:17:22 +0300 Subject: [PATCH] [FIR] Optimize FirDeprecationChecker --- .../fir/declarations/deprecationUtils.kt | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) 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 c40e221f408..fabbfbd4f2e 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 @@ -24,30 +24,24 @@ import org.jetbrains.kotlin.name.StandardClassIds.Annotations.ParameterNames.dep import org.jetbrains.kotlin.resolve.deprecation.DeprecationInfo import org.jetbrains.kotlin.resolve.deprecation.DeprecationLevelValue import org.jetbrains.kotlin.resolve.deprecation.SimpleDeprecationInfo -import org.jetbrains.kotlin.utils.addIfNotNull import org.jetbrains.kotlin.utils.addToStdlib.safeAs private val JAVA_ORIGINS = setOf(FirDeclarationOrigin.Java, FirDeclarationOrigin.Enhancement) fun FirBasedSymbol<*>.getDeprecation(callSite: FirElement?): DeprecationInfo? { - val deprecationInfos = mutableListOf() - when (this) { + return when (this) { is FirPropertySymbol -> when (callSite) { is FirVariableAssignment -> - deprecationInfos.addIfNotNull( - getDeprecationForCallSite(AnnotationUseSiteTarget.PROPERTY_SETTER, AnnotationUseSiteTarget.PROPERTY) - ) + getDeprecationForCallSite(AnnotationUseSiteTarget.PROPERTY_SETTER, AnnotationUseSiteTarget.PROPERTY) is FirPropertyAccessExpression -> - deprecationInfos.addIfNotNull( - getDeprecationForCallSite(AnnotationUseSiteTarget.PROPERTY_GETTER, AnnotationUseSiteTarget.PROPERTY) - ) - else -> deprecationInfos.addIfNotNull(getDeprecationForCallSite(AnnotationUseSiteTarget.PROPERTY)) + getDeprecationForCallSite(AnnotationUseSiteTarget.PROPERTY_GETTER, AnnotationUseSiteTarget.PROPERTY) + else -> + getDeprecationForCallSite(AnnotationUseSiteTarget.PROPERTY) } - else -> deprecationInfos.addIfNotNull(getDeprecationForCallSite()) + else -> + getDeprecationForCallSite() } - - return deprecationInfos.firstOrNull() } fun FirAnnotationContainer.getDeprecationInfos(currentVersion: ApiVersion): DeprecationsPerUseSite {