K2: use lookupTag instead of classId in use-site scopes

We used this classId to get an associated symbol,
but this way is anyway not recommended (e.g. problems with local classes).
In this commit we migrated to usage of lookup tags instead.
This commit is contained in:
Mikhail Glukhikh
2023-12-20 10:22:17 +01:00
committed by Space Team
parent 79e041a310
commit 2f29738989
4 changed files with 9 additions and 10 deletions
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.fir.java.syntheticPropertiesStorage
import org.jetbrains.kotlin.fir.java.symbols.FirJavaOverriddenSyntheticPropertySymbol
import org.jetbrains.kotlin.fir.java.toConeKotlinTypeProbablyFlexible
import org.jetbrains.kotlin.fir.resolve.defaultType
import org.jetbrains.kotlin.fir.resolve.providers.toSymbol
import org.jetbrains.kotlin.fir.resolve.toSymbol
import org.jetbrains.kotlin.fir.scopes.*
import org.jetbrains.kotlin.fir.scopes.impl.AbstractFirUseSiteMemberScope
import org.jetbrains.kotlin.fir.scopes.impl.FirTypeIntersectionScopeContext.ResultOfIntersection
@@ -55,7 +55,7 @@ class JavaClassUseSiteMemberScope(
superTypeScopes: List<FirTypeScope>,
declaredMemberScope: FirContainingNamesAwareScope
) : AbstractFirUseSiteMemberScope(
klass.classId,
klass.symbol.toLookupTag(),
session,
JavaOverrideChecker(session, klass.javaTypeParameterStack, superTypeScopes, considerReturnTypeKinds = true),
superTypeScopes,
@@ -343,7 +343,7 @@ class JavaClassUseSiteMemberScope(
private fun FirNamedFunctionSymbol.createSuspendView(): FirSimpleFunction? {
val continuationParameter = fir.valueParameters.lastOrNull() ?: return null
val owner = classId.toSymbol(session)?.fir as? FirJavaClass ?: return null
val owner = ownerClassLookupTag.toSymbol(session)?.fir as? FirJavaClass ?: return null
val continuationParameterType = continuationParameter
.returnTypeRef
.resolveIfJavaType(session, owner.javaTypeParameterStack)
@@ -824,6 +824,6 @@ class JavaClassUseSiteMemberScope(
}
override fun toString(): String {
return "Java use site scope of $classId"
return "Java use site scope of ${ownerClassLookupTag.classId}"
}
}