[FIR] Don't use implicit type as expected type of anonymous function
This commit is contained in:
+2
-5
@@ -334,11 +334,8 @@ open class FirBodyResolveTransformer(
|
|||||||
fun transform(): FirAnonymousFunction {
|
fun transform(): FirAnonymousFunction {
|
||||||
return withScopeCleanup(scopes) {
|
return withScopeCleanup(scopes) {
|
||||||
scopes.addIfNotNull(receiverTypeRef?.coneTypeSafe<ConeKotlinType>()?.scope(session, scopeSession))
|
scopes.addIfNotNull(receiverTypeRef?.coneTypeSafe<ConeKotlinType>()?.scope(session, scopeSession))
|
||||||
val result =
|
val expectedReturnType = lambdaResolution.expectedReturnTypeRef ?: anonymousFunction.returnTypeRef.takeUnless { it is FirImplicitTypeRef }
|
||||||
super.transformAnonymousFunction(
|
val result = super.transformAnonymousFunction(anonymousFunction, expectedReturnType).single as FirAnonymousFunction
|
||||||
anonymousFunction,
|
|
||||||
lambdaResolution.expectedReturnTypeRef ?: anonymousFunction.returnTypeRef
|
|
||||||
).single as FirAnonymousFunction
|
|
||||||
val body = result.body
|
val body = result.body
|
||||||
if (result.returnTypeRef is FirImplicitTypeRef && body != null) {
|
if (result.returnTypeRef is FirImplicitTypeRef && body != null) {
|
||||||
result.transformReturnTypeRef(this, body.resultType)
|
result.transformReturnTypeRef(this, body.resultType)
|
||||||
|
|||||||
Reference in New Issue
Block a user