[FIR] Expand typealiases in extractNonFatalDiagnostics
^KT-59901 Fixed
This commit is contained in:
committed by
Space Team
parent
c392b0c477
commit
882b7fc9ca
@@ -338,7 +338,7 @@ class FirCallResolver(
|
|||||||
qualifiedAccess.explicitReceiver,
|
qualifiedAccess.explicitReceiver,
|
||||||
referencedSymbol,
|
referencedSymbol,
|
||||||
nonFatalDiagnosticFromExpression,
|
nonFatalDiagnosticFromExpression,
|
||||||
session.languageVersionSettings.apiVersion
|
session
|
||||||
),
|
),
|
||||||
annotations = qualifiedAccess.annotations
|
annotations = qualifiedAccess.annotations
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
package org.jetbrains.kotlin.fir
|
package org.jetbrains.kotlin.fir
|
||||||
|
|
||||||
import org.jetbrains.kotlin.KtSourceElement
|
import org.jetbrains.kotlin.KtSourceElement
|
||||||
import org.jetbrains.kotlin.config.ApiVersion
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||||
import org.jetbrains.kotlin.fir.declarations.fullyExpandedClass
|
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.diagnostics.ConeDiagnostic
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirResolvedQualifier
|
import org.jetbrains.kotlin.fir.expressions.FirResolvedQualifier
|
||||||
@@ -72,7 +72,7 @@ fun BodyResolveComponents.resolveRootPartOfQualifier(
|
|||||||
explicitReceiver = null,
|
explicitReceiver = null,
|
||||||
it,
|
it,
|
||||||
extraNotFatalDiagnostics = nonFatalDiagnosticsFromExpression,
|
extraNotFatalDiagnostics = nonFatalDiagnosticsFromExpression,
|
||||||
session.languageVersionSettings.apiVersion
|
session
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}.apply {
|
}.apply {
|
||||||
@@ -86,8 +86,7 @@ fun BodyResolveComponents.resolveRootPartOfQualifier(
|
|||||||
typeArguments,
|
typeArguments,
|
||||||
nonFatalDiagnosticsFromExpression,
|
nonFatalDiagnosticsFromExpression,
|
||||||
this,
|
this,
|
||||||
source,
|
source
|
||||||
session.languageVersionSettings.apiVersion
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,7 +124,7 @@ fun FirResolvedQualifier.continueQualifier(
|
|||||||
explicitReceiver = null,
|
explicitReceiver = null,
|
||||||
nestedClassSymbol,
|
nestedClassSymbol,
|
||||||
extraNotFatalDiagnostics = this@continueQualifier.nonFatalDiagnostics,
|
extraNotFatalDiagnostics = this@continueQualifier.nonFatalDiagnostics,
|
||||||
session.languageVersionSettings.apiVersion
|
session
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}.apply {
|
}.apply {
|
||||||
@@ -139,8 +138,7 @@ fun FirResolvedQualifier.continueQualifier(
|
|||||||
typeArguments,
|
typeArguments,
|
||||||
nonFatalDiagnosticsFromExpression,
|
nonFatalDiagnosticsFromExpression,
|
||||||
components,
|
components,
|
||||||
source,
|
source
|
||||||
session.languageVersionSettings.apiVersion
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,8 +147,7 @@ private fun FqName.continueQualifierInPackage(
|
|||||||
typeArguments: List<FirTypeProjection>,
|
typeArguments: List<FirTypeProjection>,
|
||||||
nonFatalDiagnosticsFromExpression: List<ConeDiagnostic>?,
|
nonFatalDiagnosticsFromExpression: List<ConeDiagnostic>?,
|
||||||
components: BodyResolveComponents,
|
components: BodyResolveComponents,
|
||||||
source: KtSourceElement?,
|
source: KtSourceElement?
|
||||||
apiVersion: ApiVersion
|
|
||||||
): FirResolvedQualifier? {
|
): FirResolvedQualifier? {
|
||||||
val childFqName = this.child(name)
|
val childFqName = this.child(name)
|
||||||
if (components.symbolProvider.getPackage(childFqName) != null) {
|
if (components.symbolProvider.getPackage(childFqName) != null) {
|
||||||
@@ -179,7 +176,7 @@ private fun FqName.continueQualifierInPackage(
|
|||||||
explicitReceiver = null,
|
explicitReceiver = null,
|
||||||
symbol,
|
symbol,
|
||||||
extraNotFatalDiagnostics = nonFatalDiagnosticsFromExpression,
|
extraNotFatalDiagnostics = nonFatalDiagnosticsFromExpression,
|
||||||
apiVersion
|
components.session
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
isFullyQualified = true
|
isFullyQualified = true
|
||||||
@@ -193,12 +190,12 @@ internal fun extractNonFatalDiagnostics(
|
|||||||
explicitReceiver: FirExpression?,
|
explicitReceiver: FirExpression?,
|
||||||
symbol: FirClassLikeSymbol<*>,
|
symbol: FirClassLikeSymbol<*>,
|
||||||
extraNotFatalDiagnostics: List<ConeDiagnostic>?,
|
extraNotFatalDiagnostics: List<ConeDiagnostic>?,
|
||||||
apiVersion: ApiVersion
|
session: FirSession,
|
||||||
): List<ConeDiagnostic> {
|
): List<ConeDiagnostic> {
|
||||||
val prevDiagnostics = (explicitReceiver as? FirResolvedQualifier)?.nonFatalDiagnostics ?: emptyList()
|
val prevDiagnostics = (explicitReceiver as? FirResolvedQualifier)?.nonFatalDiagnostics ?: emptyList()
|
||||||
var result: MutableList<ConeDiagnostic>? = null
|
var result: MutableList<ConeDiagnostic>? = null
|
||||||
|
|
||||||
val deprecation = symbol.getOwnDeprecation(apiVersion)?.forUseSite()
|
val deprecation = symbol.getDeprecationForCallSite(session)
|
||||||
if (deprecation != null) {
|
if (deprecation != null) {
|
||||||
result = mutableListOf()
|
result = mutableListOf()
|
||||||
result.addAll(prevDiagnostics)
|
result.addAll(prevDiagnostics)
|
||||||
|
|||||||
Vendored
-11
@@ -1,11 +0,0 @@
|
|||||||
// !API_VERSION: 1.0
|
|
||||||
|
|
||||||
@SinceKotlin("1.1")
|
|
||||||
object Since_1_1 {
|
|
||||||
val x = 42
|
|
||||||
}
|
|
||||||
|
|
||||||
typealias Since_1_1_Alias = <!API_NOT_AVAILABLE!>Since_1_1<!>
|
|
||||||
|
|
||||||
val test1 = Since_1_1_Alias
|
|
||||||
val test2 = Since_1_1_Alias.x
|
|
||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
// FIR_IDENTICAL
|
||||||
// !API_VERSION: 1.0
|
// !API_VERSION: 1.0
|
||||||
|
|
||||||
@SinceKotlin("1.1")
|
@SinceKotlin("1.1")
|
||||||
|
|||||||
Reference in New Issue
Block a user