K2: handle suspend anonymous functions properly in various compiler parts
#KT-58332 Fixed
This commit is contained in:
committed by
Space Team
parent
aec0def5ca
commit
0906258d03
+6
-3
@@ -130,9 +130,12 @@ object FirSuspendCallChecker : FirQualifiedAccessExpressionChecker() {
|
||||
private fun findEnclosingSuspendFunction(context: CheckerContext): FirFunction? {
|
||||
return context.containingDeclarations.lastOrNull {
|
||||
when (it) {
|
||||
is FirAnonymousFunction -> it.typeRef.coneType.isSuspendOrKSuspendFunctionType(context.session)
|
||||
is FirSimpleFunction -> it.isSuspend
|
||||
else -> false
|
||||
is FirAnonymousFunction ->
|
||||
if (it.isLambda) it.typeRef.coneType.isSuspendOrKSuspendFunctionType(context.session) else it.isSuspend
|
||||
is FirSimpleFunction ->
|
||||
it.isSuspend
|
||||
else ->
|
||||
false
|
||||
}
|
||||
} as? FirFunction
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user