Fix lambda detection in fir2ir for LT case

This commit is contained in:
Ilya Chernikov
2021-11-03 12:29:39 +01:00
committed by teamcity
parent cf22400701
commit 3ad0e2aff5
@@ -471,7 +471,7 @@ class Fir2IrDeclarationStorage(
containingClass: ConeClassLikeLookupTag? = null,
): IrSimpleFunction = convertCatching(function) {
val simpleFunction = function as? FirSimpleFunction
val isLambda = function.source?.elementType == KtNodeTypes.FUNCTION_LITERAL
val isLambda = function.source?.elementType.let { it == KtNodeTypes.FUNCTION_LITERAL || it == KtNodeTypes.LAMBDA_EXPRESSION }
val updatedOrigin = when {
isLambda -> IrDeclarationOrigin.LOCAL_FUNCTION_FOR_LAMBDA
function.symbol.callableId.isKFunctionInvoke() -> IrDeclarationOrigin.FAKE_OVERRIDE