From 882b7fc9ca04b03a21ca22aa23aca5266d46af4d Mon Sep 17 00:00:00 2001 From: Nikolay Lunyak Date: Tue, 1 Aug 2023 13:41:36 +0300 Subject: [PATCH] [FIR] Expand typealiases in `extractNonFatalDiagnostics` ^KT-59901 Fixed --- .../jetbrains/kotlin/fir/FirCallResolver.kt | 2 +- .../kotlin/fir/QualifiedNameResolution.kt | 21 ++++++++----------- .../apiVersion/typealiasesAsObjects.fir.kt | 11 ---------- .../apiVersion/typealiasesAsObjects.kt | 1 + 4 files changed, 11 insertions(+), 24 deletions(-) delete mode 100644 compiler/testData/diagnostics/tests/sourceCompatibility/apiVersion/typealiasesAsObjects.fir.kt diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt index 37a09a26a18..e5678cf26c7 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt @@ -338,7 +338,7 @@ class FirCallResolver( qualifiedAccess.explicitReceiver, referencedSymbol, nonFatalDiagnosticFromExpression, - session.languageVersionSettings.apiVersion + session ), annotations = qualifiedAccess.annotations ) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/QualifiedNameResolution.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/QualifiedNameResolution.kt index f931f846f6e..9557b1f3ccc 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/QualifiedNameResolution.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/QualifiedNameResolution.kt @@ -6,9 +6,9 @@ package org.jetbrains.kotlin.fir import org.jetbrains.kotlin.KtSourceElement -import org.jetbrains.kotlin.config.ApiVersion import org.jetbrains.kotlin.fir.declarations.FirClass import org.jetbrains.kotlin.fir.declarations.fullyExpandedClass +import org.jetbrains.kotlin.fir.declarations.getDeprecationForCallSite import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirResolvedQualifier @@ -72,7 +72,7 @@ fun BodyResolveComponents.resolveRootPartOfQualifier( explicitReceiver = null, it, extraNotFatalDiagnostics = nonFatalDiagnosticsFromExpression, - session.languageVersionSettings.apiVersion + session ) ) }.apply { @@ -86,8 +86,7 @@ fun BodyResolveComponents.resolveRootPartOfQualifier( typeArguments, nonFatalDiagnosticsFromExpression, this, - source, - session.languageVersionSettings.apiVersion + source ) } @@ -125,7 +124,7 @@ fun FirResolvedQualifier.continueQualifier( explicitReceiver = null, nestedClassSymbol, extraNotFatalDiagnostics = this@continueQualifier.nonFatalDiagnostics, - session.languageVersionSettings.apiVersion + session ) ) }.apply { @@ -139,8 +138,7 @@ fun FirResolvedQualifier.continueQualifier( typeArguments, nonFatalDiagnosticsFromExpression, components, - source, - session.languageVersionSettings.apiVersion + source ) } @@ -149,8 +147,7 @@ private fun FqName.continueQualifierInPackage( typeArguments: List, nonFatalDiagnosticsFromExpression: List?, components: BodyResolveComponents, - source: KtSourceElement?, - apiVersion: ApiVersion + source: KtSourceElement? ): FirResolvedQualifier? { val childFqName = this.child(name) if (components.symbolProvider.getPackage(childFqName) != null) { @@ -179,7 +176,7 @@ private fun FqName.continueQualifierInPackage( explicitReceiver = null, symbol, extraNotFatalDiagnostics = nonFatalDiagnosticsFromExpression, - apiVersion + components.session ) ) isFullyQualified = true @@ -193,12 +190,12 @@ internal fun extractNonFatalDiagnostics( explicitReceiver: FirExpression?, symbol: FirClassLikeSymbol<*>, extraNotFatalDiagnostics: List?, - apiVersion: ApiVersion + session: FirSession, ): List { val prevDiagnostics = (explicitReceiver as? FirResolvedQualifier)?.nonFatalDiagnostics ?: emptyList() var result: MutableList? = null - val deprecation = symbol.getOwnDeprecation(apiVersion)?.forUseSite() + val deprecation = symbol.getDeprecationForCallSite(session) if (deprecation != null) { result = mutableListOf() result.addAll(prevDiagnostics) diff --git a/compiler/testData/diagnostics/tests/sourceCompatibility/apiVersion/typealiasesAsObjects.fir.kt b/compiler/testData/diagnostics/tests/sourceCompatibility/apiVersion/typealiasesAsObjects.fir.kt deleted file mode 100644 index 6bf42e28848..00000000000 --- a/compiler/testData/diagnostics/tests/sourceCompatibility/apiVersion/typealiasesAsObjects.fir.kt +++ /dev/null @@ -1,11 +0,0 @@ -// !API_VERSION: 1.0 - -@SinceKotlin("1.1") -object Since_1_1 { - val x = 42 -} - -typealias Since_1_1_Alias = Since_1_1 - -val test1 = Since_1_1_Alias -val test2 = Since_1_1_Alias.x diff --git a/compiler/testData/diagnostics/tests/sourceCompatibility/apiVersion/typealiasesAsObjects.kt b/compiler/testData/diagnostics/tests/sourceCompatibility/apiVersion/typealiasesAsObjects.kt index 7923dff9417..6b0edc98e1f 100644 --- a/compiler/testData/diagnostics/tests/sourceCompatibility/apiVersion/typealiasesAsObjects.kt +++ b/compiler/testData/diagnostics/tests/sourceCompatibility/apiVersion/typealiasesAsObjects.kt @@ -1,3 +1,4 @@ +// FIR_IDENTICAL // !API_VERSION: 1.0 @SinceKotlin("1.1")