[FIR] Fix binding return expression to function

This commit is contained in:
Dmitriy Novozhilov
2019-11-18 11:51:09 +03:00
parent 98378d8973
commit 35dd1cf75a
18 changed files with 101 additions and 50 deletions
@@ -1037,7 +1037,7 @@ class DeclarationsConverter(
val parentNode = functionDeclaration.getParent()
val isLocal = !(parentNode?.tokenType == KT_FILE || parentNode?.tokenType == CLASS_BODY)
val firFunction = if (identifier == null) {
FirAnonymousFunctionImpl(null, session, returnType!!, receiverType, FirAnonymousFunctionSymbol())
FirAnonymousFunctionImpl(null, session, returnType!!, receiverType, FirAnonymousFunctionSymbol(), isLambda = false)
} else {
val functionName = identifier.nameAsSafeName()
val status = FirDeclarationStatusImpl(
@@ -127,7 +127,7 @@ class ExpressionsConverter(
}
}
return FirAnonymousFunctionImpl(null, session, implicitType, implicitType, FirAnonymousFunctionSymbol()).apply {
return FirAnonymousFunctionImpl(null, session, implicitType, implicitType, FirAnonymousFunctionSymbol(), isLambda = true).apply {
context.firFunctions += this
var destructuringBlock: FirExpression? = null
for (valueParameter in valueParameterList) {