K2: don't report RETURN_TYPE_MISMATCH on last statement returns

#KT-53198 Fixed
This commit is contained in:
Mikhail Glukhikh
2022-07-19 10:45:16 +02:00
committed by Space
parent 0982872959
commit bc396b9765
17 changed files with 69 additions and 9 deletions
@@ -944,7 +944,7 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor
override fun <E : FirElement> transformElement(element: E, data: FirExpression): E {
if (element == lastStatement) {
val returnExpression = buildReturnExpression {
source = element.source?.fakeElement(KtFakeSourceElementKind.ImplicitReturn)
source = element.source?.fakeElement(KtFakeSourceElementKind.ImplicitReturn.FromLastStatement)
result = lastStatement
target = FirFunctionTarget(null, isLambda = this@addReturn.isLambda).also {
it.bind(this@addReturn)