[FIR] Resolve the continuation type inside createSuspendView()
Normally such types are resolved during enhancement, but creating the suspend view happens before enhancement, so the type may have not been resolved. ^KT-59915 Fixed
This commit is contained in:
committed by
Space Team
parent
1467e743fd
commit
aacfc31c90
+4
@@ -21,10 +21,12 @@ import org.jetbrains.kotlin.fir.java.declarations.FirJavaClass
|
||||
import org.jetbrains.kotlin.fir.java.declarations.FirJavaMethod
|
||||
import org.jetbrains.kotlin.fir.java.declarations.buildJavaMethodCopy
|
||||
import org.jetbrains.kotlin.fir.java.declarations.buildJavaValueParameterCopy
|
||||
import org.jetbrains.kotlin.fir.java.resolveIfJavaType
|
||||
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.scopes.*
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.AbstractFirUseSiteMemberScope
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.FirTypeIntersectionScopeContext.ResultOfIntersection
|
||||
@@ -334,8 +336,10 @@ 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 continuationParameterType = continuationParameter
|
||||
.returnTypeRef
|
||||
.resolveIfJavaType(session, owner.javaTypeParameterStack)
|
||||
.coneTypeSafe<ConeKotlinType>()
|
||||
?.lowerBoundIfFlexible() as? ConeClassLikeType
|
||||
?: return null
|
||||
|
||||
Reference in New Issue
Block a user