From ffd9b45ef33ed6b5f0c399b9022b920174259be0 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Mon, 15 Jul 2019 13:09:48 +0300 Subject: [PATCH] IrFunctionExpression: add 'origin' This is actually either a LAMBDA or an ANONYMOUS_FUNCTION. Not quite sure if it's really required, but some tools such as IR-based decompiler might require this information. --- .../jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt | 2 +- .../psi2ir/generators/LocalFunctionGenerator.kt | 15 +++++++++++++-- .../kotlin/ir/expressions/IrFunctionExpression.kt | 3 +-- .../expressions/impl/IrFunctionExpressionImpl.kt | 4 +++- .../kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt | 3 ++- .../jetbrains/kotlin/ir/util/RenderIrElement.kt | 2 +- .../lambdaInDataClassDefaultParameter.fir.txt | 2 +- .../classes/lambdaInDataClassDefaultParameter.txt | 2 +- .../annotations/delegateFieldWithAnnotations.txt | 2 +- .../localDelegatedPropertiesWithAnnotations.txt | 2 +- .../irText/declarations/classLevelProperties.txt | 2 +- .../irText/declarations/delegatedProperties.txt | 4 ++-- .../declarations/localDelegatedProperties.txt | 2 +- .../declarations/packageLevelProperties.txt | 2 +- .../declarations/parameters/lambdas.fir.txt | 8 ++++---- .../ir/irText/declarations/parameters/lambdas.txt | 8 ++++---- .../irText/expressions/badBreakContinue.fir.txt | 2 +- .../ir/irText/expressions/badBreakContinue.txt | 2 +- .../ir/irText/expressions/coercionToUnit.fir.txt | 2 +- .../ir/irText/expressions/coercionToUnit.txt | 2 +- .../expressions/enumEntryAsReceiver.fir.txt | 2 +- .../ir/irText/expressions/enumEntryAsReceiver.txt | 2 +- .../enumEntryReferenceFromEnumEntryClass.fir.txt | 2 +- .../enumEntryReferenceFromEnumEntryClass.txt | 2 +- ...enericConstructorCallWithTypeArguments.fir.txt | 2 +- .../genericConstructorCallWithTypeArguments.txt | 2 +- .../ir/irText/expressions/lambdaInCAO.fir.txt | 4 ++-- .../ir/irText/expressions/lambdaInCAO.txt | 6 +++--- .../ir/irText/expressions/objectReference.fir.txt | 2 +- .../ir/irText/expressions/objectReference.txt | 2 +- ...ferenceInClosureInSuperConstructorCall.fir.txt | 2 +- ...ctReferenceInClosureInSuperConstructorCall.txt | 2 +- .../expressions/sam/samConstructors.fir.txt | 4 ++-- .../ir/irText/expressions/sam/samConstructors.txt | 4 ++-- .../irText/expressions/sam/samConversions.fir.txt | 4 ++-- .../ir/irText/expressions/sam/samConversions.txt | 4 ++-- .../expressions/variableAsFunctionCall.fir.txt | 2 +- .../irText/expressions/variableAsFunctionCall.txt | 2 +- .../variableAsFunctionCallWithGenerics.fir.txt | 4 ++-- .../variableAsFunctionCallWithGenerics.txt | 4 ++-- .../ir/irText/lambdas/anonymousFunction.fir.txt | 13 +++++++++++++ .../ir/irText/lambdas/anonymousFunction.kt | 1 - .../ir/irText/lambdas/anonymousFunction.txt | 2 +- .../irText/lambdas/destructuringInLambda.fir.txt | 2 +- .../ir/irText/lambdas/destructuringInLambda.txt | 2 +- .../ir/irText/lambdas/extensionLambda.fir.txt | 2 +- .../ir/irText/lambdas/extensionLambda.txt | 2 +- .../testData/ir/irText/lambdas/justLambda.fir.txt | 4 ++-- .../testData/ir/irText/lambdas/justLambda.txt | 4 ++-- .../lambdas/multipleImplicitReceivers.fir.txt | 6 +++--- .../irText/lambdas/multipleImplicitReceivers.txt | 6 +++--- .../ir/irText/lambdas/nonLocalReturn.fir.txt | 14 +++++++------- .../testData/ir/irText/lambdas/nonLocalReturn.txt | 14 +++++++------- .../testData/ir/irText/lambdas/samAdapter.fir.txt | 2 +- .../testData/ir/irText/lambdas/samAdapter.txt | 2 +- .../testData/ir/irText/stubs/builtinMap.fir.txt | 2 +- compiler/testData/ir/irText/stubs/builtinMap.txt | 2 +- .../ir/irText/types/intersectionType2_NI.fir.txt | 2 +- .../ir/irText/types/intersectionType2_NI.txt | 2 +- .../ir/irText/types/intersectionType2_OI.fir.txt | 2 +- .../ir/irText/types/intersectionType2_OI.txt | 2 +- 61 files changed, 121 insertions(+), 96 deletions(-) create mode 100644 compiler/testData/ir/irText/lambdas/anonymousFunction.fir.txt diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt index 66b5bd05718..6d31961b4d8 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt @@ -436,7 +436,7 @@ internal class Fir2IrVisitor( val type = anonymousFunction.typeRef.toIrType(session, declarationStorage) - IrFunctionExpressionImpl(startOffset, endOffset, type, irFunction) + IrFunctionExpressionImpl(startOffset, endOffset, type, irFunction, IrStatementOrigin.LAMBDA) } private fun IrValueParameter.setDefaultValue(firValueParameter: FirValueParameter) { diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/LocalFunctionGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/LocalFunctionGenerator.kt index 26d31213045..4e502517874 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/LocalFunctionGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/LocalFunctionGenerator.kt @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.psi2ir.generators import org.jetbrains.kotlin.ir.IrStatement +import org.jetbrains.kotlin.ir.expressions.IrStatementOrigin import org.jetbrains.kotlin.ir.expressions.impl.IrFunctionExpressionImpl import org.jetbrains.kotlin.psi.KtLambdaExpression import org.jetbrains.kotlin.psi.KtNamedFunction @@ -30,7 +31,12 @@ class LocalFunctionGenerator(statementGenerator: StatementGenerator) : Statement val lambdaExpressionType = getInferredTypeWithImplicitCastsOrFail(ktLambda).toIrType() val irLambdaFunction = FunctionGenerator(context).generateLambdaFunctionDeclaration(ktFun) - return IrFunctionExpressionImpl(ktLambda.startOffset, ktLambda.endOffset, lambdaExpressionType, irLambdaFunction) + return IrFunctionExpressionImpl( + ktLambda.startOffset, ktLambda.endOffset, + lambdaExpressionType, + irLambdaFunction, + IrStatementOrigin.LAMBDA + ) } fun generateFunction(ktFun: KtNamedFunction): IrStatement { @@ -38,7 +44,12 @@ class LocalFunctionGenerator(statementGenerator: StatementGenerator) : Statement if (ktFun.name != null) return irFun val funExpressionType = getInferredTypeWithImplicitCastsOrFail(ktFun).toIrType() - return IrFunctionExpressionImpl(ktFun.startOffset, ktFun.endOffset, funExpressionType, irFun) + return IrFunctionExpressionImpl( + ktFun.startOffset, ktFun.endOffset, + funExpressionType, + irFun, + IrStatementOrigin.ANONYMOUS_FUNCTION + ) } private fun generateFunctionDeclaration(ktFun: KtNamedFunction) = diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/IrFunctionExpression.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/IrFunctionExpression.kt index 31a47576272..b28365a200f 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/IrFunctionExpression.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/IrFunctionExpression.kt @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.ir.expressions import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction interface IrFunctionExpression : IrExpression { - + val origin: IrStatementOrigin var function: IrSimpleFunction - } \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrFunctionExpressionImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrFunctionExpressionImpl.kt index 751dbeada80..b624e4ae117 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrFunctionExpressionImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrFunctionExpressionImpl.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.ir.expressions.impl import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction import org.jetbrains.kotlin.ir.expressions.IrFunctionExpression +import org.jetbrains.kotlin.ir.expressions.IrStatementOrigin import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.visitors.IrElementTransformer import org.jetbrains.kotlin.ir.visitors.IrElementVisitor @@ -15,7 +16,8 @@ class IrFunctionExpressionImpl( startOffset: Int, endOffset: Int, type: IrType, - override var function: IrSimpleFunction + override var function: IrSimpleFunction, + override val origin: IrStatementOrigin ) : IrExpressionBase(startOffset, endOffset, type), IrFunctionExpression { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt index 90e21f73240..41e603d15bf 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt @@ -593,7 +593,8 @@ open class DeepCopyIrTreeWithSymbols( IrFunctionExpressionImpl( expression.startOffset, expression.endOffset, expression.type.remapType(), - expression.function.transform() + expression.function.transform(), + mapStatementOrigin(expression.origin)!! ) override fun visitClassReference(expression: IrClassReference): IrClassReference = diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt index 0ac6728ea8b..2d0de9f0912 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt @@ -603,7 +603,7 @@ class RenderIrElementVisitor : IrElementVisitor { override fun visitFunctionExpression(expression: IrFunctionExpression, data: Nothing?): String = buildTrimEnd { - append("FUN_EXPR type=${expression.type.render()}") + append("FUN_EXPR type=${expression.type.render()} origin=${expression.origin}") } override fun visitClassReference(expression: IrClassReference, data: Nothing?): String = diff --git a/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.fir.txt b/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.fir.txt index 7770781209f..40c59639c66 100644 --- a/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.fir.txt +++ b/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.fir.txt @@ -4,7 +4,7 @@ FILE fqName: fileName:/lambdaInDataClassDefaultParameter.kt CONSTRUCTOR visibility:public <> (runA:kotlin.Function2<.A, kotlin.String, kotlin.Unit>) returnType:.A [primary] VALUE_PARAMETER name:runA index:0 type:kotlin.Function2<.A, kotlin.String, kotlin.Unit> EXPRESSION_BODY - FUN_EXPR type=kotlin.Function1.A, kotlin.String, kotlin.Unit>, kotlin.Function2<.A, kotlin.String, kotlin.Unit>> + FUN_EXPR type=kotlin.Function1.A, kotlin.String, kotlin.Unit>, kotlin.Function2<.A, kotlin.String, kotlin.Unit>> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Function2<.A, kotlin.String, kotlin.Unit> BLOCK_BODY GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit diff --git a/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.txt b/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.txt index 1be2f7f11b7..b5675008608 100644 --- a/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.txt +++ b/compiler/testData/ir/irText/classes/lambdaInDataClassDefaultParameter.txt @@ -4,7 +4,7 @@ FILE fqName: fileName:/lambdaInDataClassDefaultParameter.kt CONSTRUCTOR visibility:public <> (runA:@[ExtensionFunctionType] kotlin.Function2<.A, kotlin.String, kotlin.Unit>) returnType:.A [primary] VALUE_PARAMETER name:runA index:0 type:@[ExtensionFunctionType] kotlin.Function2<.A, kotlin.String, kotlin.Unit> EXPRESSION_BODY - FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function2<.A, kotlin.String, kotlin.Unit> + FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function2<.A, kotlin.String, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.A, it:kotlin.String) returnType:kotlin.Unit $receiver: VALUE_PARAMETER name: type:.A VALUE_PARAMETER name:it index:0 type:kotlin.String diff --git a/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.txt index 2dcdf3fb838..b49e5906530 100644 --- a/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.txt @@ -22,7 +22,7 @@ FILE fqName: fileName:/delegateFieldWithAnnotations.kt EXPRESSION_BODY CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null : kotlin.Int - initializer: FUN_EXPR type=kotlin.Function0 + initializer: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test1$delegate' diff --git a/compiler/testData/ir/irText/declarations/annotations/localDelegatedPropertiesWithAnnotations.txt b/compiler/testData/ir/irText/declarations/annotations/localDelegatedPropertiesWithAnnotations.txt index 054ff313d57..6e876fb4fdb 100644 --- a/compiler/testData/ir/irText/declarations/annotations/localDelegatedPropertiesWithAnnotations.txt +++ b/compiler/testData/ir/irText/declarations/annotations/localDelegatedPropertiesWithAnnotations.txt @@ -36,7 +36,7 @@ FILE fqName: fileName:/localDelegatedPropertiesWithAnnotations.kt VAR DELEGATE name:test$delegate type:kotlin.Lazy [val] CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null : kotlin.Int - initializer: FUN_EXPR type=kotlin.Function0 + initializer: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .foo' diff --git a/compiler/testData/ir/irText/declarations/classLevelProperties.txt b/compiler/testData/ir/irText/declarations/classLevelProperties.txt index 66c8ca1f477..37676ce743b 100644 --- a/compiler/testData/ir/irText/declarations/classLevelProperties.txt +++ b/compiler/testData/ir/irText/declarations/classLevelProperties.txt @@ -96,7 +96,7 @@ FILE fqName: fileName:/classLevelProperties.kt EXPRESSION_BODY CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null : kotlin.Int - initializer: FUN_EXPR type=kotlin.Function0 + initializer: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .C.test7$delegate' diff --git a/compiler/testData/ir/irText/declarations/delegatedProperties.txt b/compiler/testData/ir/irText/declarations/delegatedProperties.txt index 4344918052e..5afbbb53edb 100644 --- a/compiler/testData/ir/irText/declarations/delegatedProperties.txt +++ b/compiler/testData/ir/irText/declarations/delegatedProperties.txt @@ -4,7 +4,7 @@ FILE fqName: fileName:/delegatedProperties.kt EXPRESSION_BODY CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null : kotlin.Int - initializer: FUN_EXPR type=kotlin.Function0 + initializer: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test1$delegate' @@ -41,7 +41,7 @@ FILE fqName: fileName:/delegatedProperties.kt EXPRESSION_BODY CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null : kotlin.Int - initializer: FUN_EXPR type=kotlin.Function0 + initializer: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .C.test2$delegate' diff --git a/compiler/testData/ir/irText/declarations/localDelegatedProperties.txt b/compiler/testData/ir/irText/declarations/localDelegatedProperties.txt index 5eb2a5be874..e3f7438ac50 100644 --- a/compiler/testData/ir/irText/declarations/localDelegatedProperties.txt +++ b/compiler/testData/ir/irText/declarations/localDelegatedProperties.txt @@ -5,7 +5,7 @@ FILE fqName: fileName:/localDelegatedProperties.kt VAR DELEGATE name:x$delegate type:kotlin.Lazy [val] CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null : kotlin.Int - initializer: FUN_EXPR type=kotlin.Function0 + initializer: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test1' diff --git a/compiler/testData/ir/irText/declarations/packageLevelProperties.txt b/compiler/testData/ir/irText/declarations/packageLevelProperties.txt index c1b76d48734..5a6667995e3 100644 --- a/compiler/testData/ir/irText/declarations/packageLevelProperties.txt +++ b/compiler/testData/ir/irText/declarations/packageLevelProperties.txt @@ -73,7 +73,7 @@ FILE fqName: fileName:/packageLevelProperties.kt EXPRESSION_BODY CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null : kotlin.Int - initializer: FUN_EXPR type=kotlin.Function0 + initializer: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test7$delegate' diff --git a/compiler/testData/ir/irText/declarations/parameters/lambdas.fir.txt b/compiler/testData/ir/irText/declarations/parameters/lambdas.fir.txt index aa2bd1a6fdf..35dafc528f9 100644 --- a/compiler/testData/ir/irText/declarations/parameters/lambdas.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/lambdas.fir.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/lambdas.kt PROPERTY name:test1 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function1 visibility:public [final,static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function2, kotlin.String, kotlin.Function1> + FUN_EXPR type=kotlin.Function2, kotlin.String, kotlin.Function1> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.String) returnType:kotlin.Function1 VALUE_PARAMETER name:it index:0 type:kotlin.String BLOCK_BODY @@ -15,7 +15,7 @@ FILE fqName: fileName:/lambdas.kt PROPERTY name:test2 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Function2 visibility:public [final,static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function1, kotlin.Function2> + FUN_EXPR type=kotlin.Function1, kotlin.Function2> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Function2 BLOCK_BODY ERROR_CALL 'Unresolved reference: #' type=IrErrorType @@ -27,7 +27,7 @@ FILE fqName: fileName:/lambdas.kt PROPERTY name:test3 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Function2 visibility:public [final,static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function2 + FUN_EXPR type=kotlin.Function2 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.Int) returnType:kotlin.Unit VALUE_PARAMETER name:i index:0 type:kotlin.Int VALUE_PARAMETER name:j index:1 type:kotlin.Int @@ -41,7 +41,7 @@ FILE fqName: fileName:/lambdas.kt PROPERTY name:test4 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Function2 visibility:public [final,static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function2 + FUN_EXPR type=kotlin.Function2 origin=LAMBDA FUN name: visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.Int) returnType:kotlin.Unit VALUE_PARAMETER name:i index:0 type:kotlin.Int VALUE_PARAMETER name:j index:1 type:kotlin.Int diff --git a/compiler/testData/ir/irText/declarations/parameters/lambdas.txt b/compiler/testData/ir/irText/declarations/parameters/lambdas.txt index ef46221e0a7..879c37446ab 100644 --- a/compiler/testData/ir/irText/declarations/parameters/lambdas.txt +++ b/compiler/testData/ir/irText/declarations/parameters/lambdas.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/lambdas.kt PROPERTY name:test1 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function1 visibility:public [final,static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function1 + FUN_EXPR type=kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.String) returnType:kotlin.String VALUE_PARAMETER name:it index:0 type:kotlin.String BLOCK_BODY @@ -16,7 +16,7 @@ FILE fqName: fileName:/lambdas.kt PROPERTY name:test2 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:test2 type:@[ExtensionFunctionType] kotlin.Function2 visibility:public [final,static] EXPRESSION_BODY - FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function2 + FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function2 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:kotlin.Any, it:kotlin.Any) returnType:kotlin.Int $receiver: VALUE_PARAMETER name: type:kotlin.Any VALUE_PARAMETER name:it index:0 type:kotlin.Any @@ -32,7 +32,7 @@ FILE fqName: fileName:/lambdas.kt PROPERTY name:test3 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Function2 visibility:public [final,static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function2 + FUN_EXPR type=kotlin.Function2 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.Int) returnType:kotlin.Unit VALUE_PARAMETER name:i index:0 type:kotlin.Int VALUE_PARAMETER name:j index:1 type:kotlin.Int @@ -47,7 +47,7 @@ FILE fqName: fileName:/lambdas.kt PROPERTY name:test4 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Function2 visibility:public [final,static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function2 + FUN_EXPR type=kotlin.Function2 origin=ANONYMOUS_FUNCTION FUN name: visibility:local modality:FINAL <> (i:kotlin.Int, j:kotlin.Int) returnType:kotlin.Unit VALUE_PARAMETER name:i index:0 type:kotlin.Int VALUE_PARAMETER name:j index:1 type:kotlin.Int diff --git a/compiler/testData/ir/irText/expressions/badBreakContinue.fir.txt b/compiler/testData/ir/irText/expressions/badBreakContinue.fir.txt index 29a7f63087a..e3ec27981d2 100644 --- a/compiler/testData/ir/irText/expressions/badBreakContinue.fir.txt +++ b/compiler/testData/ir/irText/expressions/badBreakContinue.fir.txt @@ -16,7 +16,7 @@ FILE fqName: fileName:/badBreakContinue.kt condition: CONST Boolean type=kotlin.Boolean value=true body: BLOCK type=kotlin.Unit origin=null VAR name:lambda type:kotlin.Function0 [val] - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Nothing BLOCK_BODY BREAK label=L1 loop.label=L1 diff --git a/compiler/testData/ir/irText/expressions/badBreakContinue.txt b/compiler/testData/ir/irText/expressions/badBreakContinue.txt index 1af62d88192..436a36f37db 100644 --- a/compiler/testData/ir/irText/expressions/badBreakContinue.txt +++ b/compiler/testData/ir/irText/expressions/badBreakContinue.txt @@ -16,7 +16,7 @@ FILE fqName: fileName:/badBreakContinue.kt condition: CONST Boolean type=kotlin.Boolean value=true body: BLOCK type=kotlin.Unit origin=null VAR name:lambda type:kotlin.Function0 [val] - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Nothing BLOCK_BODY ERROR_EXPR 'Loop not found for break expression: break@L1' type=kotlin.Nothing diff --git a/compiler/testData/ir/irText/expressions/coercionToUnit.fir.txt b/compiler/testData/ir/irText/expressions/coercionToUnit.fir.txt index cf238786960..6e8175c378b 100644 --- a/compiler/testData/ir/irText/expressions/coercionToUnit.fir.txt +++ b/compiler/testData/ir/irText/expressions/coercionToUnit.fir.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/coercionToUnit.kt PROPERTY name:test1 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0 visibility:public [final,static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function1, kotlin.Function0> + FUN_EXPR type=kotlin.Function1, kotlin.Function0> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Function0 BLOCK_BODY CONST Int type=kotlin.Function0 value=42 diff --git a/compiler/testData/ir/irText/expressions/coercionToUnit.txt b/compiler/testData/ir/irText/expressions/coercionToUnit.txt index 63940ebdc8f..3d9732b81b6 100644 --- a/compiler/testData/ir/irText/expressions/coercionToUnit.txt +++ b/compiler/testData/ir/irText/expressions/coercionToUnit.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/coercionToUnit.kt PROPERTY name:test1 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0 visibility:public [final,static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test1' diff --git a/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.fir.txt b/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.fir.txt index 36735e2fcd2..77cd9345b15 100644 --- a/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.fir.txt +++ b/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.fir.txt @@ -26,7 +26,7 @@ FILE fqName: fileName:/enumEntryAsReceiver.kt PROPERTY name:value visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Function0 visibility:public [final] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($this:.X.B) returnType:kotlin.String $this: VALUE_PARAMETER name: type:.X.B BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt b/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt index c02b339fd10..a68bb4a4095 100644 --- a/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt +++ b/compiler/testData/ir/irText/expressions/enumEntryAsReceiver.txt @@ -28,7 +28,7 @@ FILE fqName: fileName:/enumEntryAsReceiver.kt PROPERTY name:value visibility:public modality:OPEN [val] FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Function0 visibility:public [final] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.String BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .X.B.value' diff --git a/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.fir.txt b/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.fir.txt index 22f23de519b..f11f16573d2 100644 --- a/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.fir.txt +++ b/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.fir.txt @@ -43,7 +43,7 @@ FILE fqName: fileName:/enumEntryReferenceFromEnumEntryClass.kt PROPERTY name:aLambda visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0 visibility:public [final] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($this:.MyEnum.Z) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.MyEnum.Z BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.txt b/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.txt index 85bcfd226fb..9017e1df774 100644 --- a/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.txt +++ b/compiler/testData/ir/irText/expressions/enumEntryReferenceFromEnumEntryClass.txt @@ -47,7 +47,7 @@ FILE fqName: fileName:/enumEntryReferenceFromEnumEntryClass.kt PROPERTY name:aLambda visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0 visibility:public [final] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .MyEnum.Z' type=kotlin.Unit origin=EQ diff --git a/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.txt b/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.txt index f191fdffbb4..9b42ca40513 100644 --- a/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.txt +++ b/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.txt @@ -15,7 +15,7 @@ FILE fqName: fileName:/genericConstructorCallWithTypeArguments.kt CONSTRUCTOR_CALL 'public constructor (size: kotlin.Int, init: kotlin.Function1) declared in kotlin.Array' type=kotlin.Array.testArray> origin=null : size: GET_VAR 'n: kotlin.Int declared in .testArray' type=kotlin.Int origin=null - init: FUN_EXPR type=kotlin.Function1 + init: FUN_EXPR type=kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:T of kotlin.Array VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.txt b/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.txt index 4b6a3a29828..40d5b5767ce 100644 --- a/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.txt +++ b/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.txt @@ -17,7 +17,7 @@ FILE fqName: fileName:/genericConstructorCallWithTypeArguments.kt CONSTRUCTOR_CALL 'public constructor (size: kotlin.Int, init: kotlin.Function1) declared in kotlin.Array' type=kotlin.Array.testArray> origin=null : T of .testArray size: GET_VAR 'n: kotlin.Int declared in .testArray' type=kotlin.Int origin=null - init: FUN_EXPR type=kotlin.Function1.testArray> + init: FUN_EXPR type=kotlin.Function1.testArray> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:T of .testArray VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/lambdaInCAO.fir.txt b/compiler/testData/ir/irText/expressions/lambdaInCAO.fir.txt index 09aa11c276b..b6fa3d3a877 100644 --- a/compiler/testData/ir/irText/expressions/lambdaInCAO.fir.txt +++ b/compiler/testData/ir/irText/expressions/lambdaInCAO.fir.txt @@ -24,12 +24,12 @@ FILE fqName: fileName:/lambdaInCAO.kt BLOCK_BODY VAR name: type:kotlin.Int [val] CALL 'public final fun get (index: kotlin.Function0): kotlin.Int declared in ' type=kotlin.Int origin=null - index: FUN_EXPR type=kotlin.Function0 + index: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit CALL 'public final fun set (index: kotlin.Function0, value: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=null - index: FUN_EXPR type=kotlin.Function0 + index: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit diff --git a/compiler/testData/ir/irText/expressions/lambdaInCAO.txt b/compiler/testData/ir/irText/expressions/lambdaInCAO.txt index 63d12829b30..adcf3c4c2ba 100644 --- a/compiler/testData/ir/irText/expressions/lambdaInCAO.txt +++ b/compiler/testData/ir/irText/expressions/lambdaInCAO.txt @@ -19,7 +19,7 @@ FILE fqName: fileName:/lambdaInCAO.kt BLOCK_BODY CALL 'public final fun plusAssign (lambda: kotlin.Function0): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ $receiver: GET_VAR 'a: kotlin.Any declared in .test1' type=kotlin.Any origin=PLUSEQ - lambda: FUN_EXPR type=kotlin.Function0 + lambda: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test1' @@ -31,7 +31,7 @@ FILE fqName: fileName:/lambdaInCAO.kt VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.Any [val] GET_VAR 'a: kotlin.Any declared in .test2' type=kotlin.Any origin=null VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Function0 [val] - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test2' @@ -52,7 +52,7 @@ FILE fqName: fileName:/lambdaInCAO.kt VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.Any [val] GET_VAR 'a: kotlin.Any declared in .test3' type=kotlin.Any origin=null VAR IR_TEMPORARY_VARIABLE name:tmp1_index0 type:kotlin.Function0 [val] - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test3' diff --git a/compiler/testData/ir/irText/expressions/objectReference.fir.txt b/compiler/testData/ir/irText/expressions/objectReference.fir.txt index 6055dba334a..4a1ece9dafe 100644 --- a/compiler/testData/ir/irText/expressions/objectReference.fir.txt +++ b/compiler/testData/ir/irText/expressions/objectReference.fir.txt @@ -78,7 +78,7 @@ FILE fqName: fileName:/objectReference.kt PROPERTY name:aLambda visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0 visibility:public [final] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($this:.Z) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.Z BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/objectReference.txt b/compiler/testData/ir/irText/expressions/objectReference.txt index 90c9af959ae..ced42005cbb 100644 --- a/compiler/testData/ir/irText/expressions/objectReference.txt +++ b/compiler/testData/ir/irText/expressions/objectReference.txt @@ -87,7 +87,7 @@ FILE fqName: fileName:/objectReference.kt PROPERTY name:aLambda visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0 visibility:public [final] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Z' type=kotlin.Unit origin=EQ diff --git a/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.fir.txt b/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.fir.txt index 62bc58ad947..cba8f802812 100644 --- a/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.fir.txt +++ b/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.fir.txt @@ -35,7 +35,7 @@ FILE fqName: fileName:/objectReferenceInClosureInSuperConstructorCall.kt CONSTRUCTOR visibility:private <> () returnType:.Test [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor (lambda: kotlin.Function0) [primary] declared in .Base' - lambda: FUN_EXPR type=IrErrorType + lambda: FUN_EXPR type=IrErrorType origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:IrErrorType BLOCK_BODY ERROR_CALL 'Unresolved reference: Test#' type=IrErrorType diff --git a/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.txt b/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.txt index 2ab25472e4d..eb81cab3459 100644 --- a/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.txt +++ b/compiler/testData/ir/irText/expressions/objectReferenceInClosureInSuperConstructorCall.txt @@ -35,7 +35,7 @@ FILE fqName: fileName:/objectReferenceInClosureInSuperConstructorCall.kt CONSTRUCTOR visibility:private <> () returnType:.Test [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor (lambda: kotlin.Function0) [primary] declared in .Base' - lambda: FUN_EXPR type=kotlin.Function0<.Test> + lambda: FUN_EXPR type=kotlin.Function0<.Test> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:.Test BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): .Test declared in .Test.' diff --git a/compiler/testData/ir/irText/expressions/sam/samConstructors.fir.txt b/compiler/testData/ir/irText/expressions/sam/samConstructors.fir.txt index 42f65b6b79b..1af979f3594 100644 --- a/compiler/testData/ir/irText/expressions/sam/samConstructors.fir.txt +++ b/compiler/testData/ir/irText/expressions/sam/samConstructors.fir.txt @@ -3,7 +3,7 @@ FILE fqName: fileName:/samConstructors.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test1 (): IrErrorType declared in ' ERROR_CALL 'Unresolved reference: #' type=IrErrorType - FUN_EXPR type=IrErrorType + FUN_EXPR type=IrErrorType origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:IrErrorType BLOCK_BODY GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit @@ -24,7 +24,7 @@ FILE fqName: fileName:/samConstructors.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test4 (): IrErrorType declared in ' ERROR_CALL 'Unresolved reference: #' type=IrErrorType - FUN_EXPR type=IrErrorType + FUN_EXPR type=IrErrorType origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (a:IrErrorType, b:IrErrorType) returnType:IrErrorType VALUE_PARAMETER name:a index:0 type:IrErrorType VALUE_PARAMETER name:b index:1 type:IrErrorType diff --git a/compiler/testData/ir/irText/expressions/sam/samConstructors.txt b/compiler/testData/ir/irText/expressions/sam/samConstructors.txt index ae37abbeaf2..3a558f16ef5 100644 --- a/compiler/testData/ir/irText/expressions/sam/samConstructors.txt +++ b/compiler/testData/ir/irText/expressions/sam/samConstructors.txt @@ -3,7 +3,7 @@ FILE fqName: fileName:/samConstructors.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test1 (): java.lang.Runnable declared in ' TYPE_OP type=java.lang.Runnable origin=SAM_CONVERSION typeOperand=java.lang.Runnable - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test1' @@ -26,7 +26,7 @@ FILE fqName: fileName:/samConstructors.kt RETURN type=kotlin.Nothing from='public final fun test4 (): java.util.Comparator declared in ' TYPE_OP type=java.util.Comparator origin=SAM_CONVERSION typeOperand=java.util.Comparator TYPE_OP type=kotlin.Function2 origin=IMPLICIT_CAST typeOperand=kotlin.Function2 - FUN_EXPR type=kotlin.Function2 + FUN_EXPR type=kotlin.Function2 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (a:kotlin.Int?, b:kotlin.Int?) returnType:kotlin.Int VALUE_PARAMETER name:a index:0 type:kotlin.Int? VALUE_PARAMETER name:b index:1 type:kotlin.Int? diff --git a/compiler/testData/ir/irText/expressions/sam/samConversions.fir.txt b/compiler/testData/ir/irText/expressions/sam/samConversions.fir.txt index 9de788d1463..84ee45240d4 100644 --- a/compiler/testData/ir/irText/expressions/sam/samConversions.fir.txt +++ b/compiler/testData/ir/irText/expressions/sam/samConversions.fir.txt @@ -9,14 +9,14 @@ FILE fqName: fileName:/samConversions.kt FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY CALL 'public open fun runStatic (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null - r: FUN_EXPR type=kotlin.Function0 + r: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY CALL 'public final fun test1 (): kotlin.Unit declared in ' type=kotlin.Unit origin=null FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY CALL 'public open fun runIt (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null - r: FUN_EXPR type=kotlin.Function0 + r: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY CALL 'public final fun test1 (): kotlin.Unit declared in ' type=kotlin.Unit origin=null diff --git a/compiler/testData/ir/irText/expressions/sam/samConversions.txt b/compiler/testData/ir/irText/expressions/sam/samConversions.txt index 9e774347f04..b9d727ce733 100644 --- a/compiler/testData/ir/irText/expressions/sam/samConversions.txt +++ b/compiler/testData/ir/irText/expressions/sam/samConversions.txt @@ -12,7 +12,7 @@ FILE fqName: fileName:/samConversions.kt BLOCK_BODY CALL 'public open fun runStatic (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null r: TYPE_OP type=java.lang.Runnable? origin=SAM_CONVERSION typeOperand=java.lang.Runnable? - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test1' @@ -23,7 +23,7 @@ FILE fqName: fileName:/samConversions.kt CALL 'public open fun runIt (r: java.lang.Runnable?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null $this: GET_VAR ': .J declared in .test2' type=.J origin=null r: TYPE_OP type=java.lang.Runnable? origin=SAM_CONVERSION typeOperand=java.lang.Runnable? - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test2' diff --git a/compiler/testData/ir/irText/expressions/variableAsFunctionCall.fir.txt b/compiler/testData/ir/irText/expressions/variableAsFunctionCall.fir.txt index f24d08d727b..5eb0b62d01b 100644 --- a/compiler/testData/ir/irText/expressions/variableAsFunctionCall.fir.txt +++ b/compiler/testData/ir/irText/expressions/variableAsFunctionCall.fir.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/variableAsFunctionCall.kt FUN name:k visibility:public modality:FINAL <> () returnType:kotlin.Function0 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun k (): kotlin.Function0 declared in ' - FUN_EXPR type=kotlin.Function1, kotlin.Function0> + FUN_EXPR type=kotlin.Function1, kotlin.Function0> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Function0 BLOCK_BODY ERROR_CALL 'Unresolved reference: this#' type=kotlin.String diff --git a/compiler/testData/ir/irText/expressions/variableAsFunctionCall.txt b/compiler/testData/ir/irText/expressions/variableAsFunctionCall.txt index 913043c1375..a789413a9cc 100644 --- a/compiler/testData/ir/irText/expressions/variableAsFunctionCall.txt +++ b/compiler/testData/ir/irText/expressions/variableAsFunctionCall.txt @@ -3,7 +3,7 @@ FILE fqName: fileName:/variableAsFunctionCall.kt $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun k (): kotlin.Function0 declared in ' - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.String BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .k' diff --git a/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.fir.txt b/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.fir.txt index b38c7943cb5..6e8040dcfad 100644 --- a/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.fir.txt +++ b/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.fir.txt @@ -4,7 +4,7 @@ FILE fqName: fileName:/variableAsFunctionCallWithGenerics.kt correspondingProperty: PROPERTY name:gk visibility:public modality:FINAL [val] BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0> declared in ' - FUN_EXPR type=kotlin.Function1>, kotlin.Function0>> + FUN_EXPR type=kotlin.Function1>, kotlin.Function0>> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Function0> BLOCK_BODY ERROR_CALL 'Unresolved reference: this#' type=IrErrorType @@ -19,7 +19,7 @@ FILE fqName: fileName:/variableAsFunctionCallWithGenerics.kt correspondingProperty: PROPERTY name:kt26531Val visibility:public modality:FINAL [val] BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0> declared in ' - FUN_EXPR type=kotlin.Function0>> + FUN_EXPR type=kotlin.Function0>> origin=LAMBDA FUN name: visibility:local modality:FINAL <> () returnType:kotlin.Function0> BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function0> declared in .' diff --git a/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.txt b/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.txt index 2f6429f9003..53711537ec3 100644 --- a/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.txt +++ b/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.txt @@ -6,7 +6,7 @@ FILE fqName: fileName:/variableAsFunctionCallWithGenerics.kt $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0.> declared in ' - FUN_EXPR type=kotlin.Function0.> + FUN_EXPR type=kotlin.Function0.> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:T of . BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): T of . declared in .' @@ -26,7 +26,7 @@ FILE fqName: fileName:/variableAsFunctionCallWithGenerics.kt $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0.> declared in ' - FUN_EXPR type=kotlin.Function0.> + FUN_EXPR type=kotlin.Function0.> origin=ANONYMOUS_FUNCTION FUN name: visibility:local modality:FINAL <> () returnType:T of . BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): T of . declared in .' diff --git a/compiler/testData/ir/irText/lambdas/anonymousFunction.fir.txt b/compiler/testData/ir/irText/lambdas/anonymousFunction.fir.txt new file mode 100644 index 00000000000..dd92c232798 --- /dev/null +++ b/compiler/testData/ir/irText/lambdas/anonymousFunction.fir.txt @@ -0,0 +1,13 @@ +FILE fqName: fileName:/anonymousFunction.kt + PROPERTY name:anonymous visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:anonymous type:kotlin.Function0 visibility:public [final,static] + EXPRESSION_BODY + FUN_EXPR type=kotlin.Function0 origin=LAMBDA + FUN name: visibility:local modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Function0 + correspondingProperty: PROPERTY name:anonymous visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0 declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:anonymous type:kotlin.Function0 visibility:public [final,static] ' type=kotlin.Function0 origin=null diff --git a/compiler/testData/ir/irText/lambdas/anonymousFunction.kt b/compiler/testData/ir/irText/lambdas/anonymousFunction.kt index f9346768fbc..60dc65084ac 100644 --- a/compiler/testData/ir/irText/lambdas/anonymousFunction.kt +++ b/compiler/testData/ir/irText/lambdas/anonymousFunction.kt @@ -1,4 +1,3 @@ -// FIR_IDENTICAL // WITH_RUNTIME val anonymous = fun() { println() } \ No newline at end of file diff --git a/compiler/testData/ir/irText/lambdas/anonymousFunction.txt b/compiler/testData/ir/irText/lambdas/anonymousFunction.txt index d40d3475d0c..1308dde640a 100644 --- a/compiler/testData/ir/irText/lambdas/anonymousFunction.txt +++ b/compiler/testData/ir/irText/lambdas/anonymousFunction.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/anonymousFunction.kt PROPERTY name:anonymous visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:anonymous type:kotlin.Function0 visibility:public [final,static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=ANONYMOUS_FUNCTION FUN name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY CALL 'public final fun println (): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null diff --git a/compiler/testData/ir/irText/lambdas/destructuringInLambda.fir.txt b/compiler/testData/ir/irText/lambdas/destructuringInLambda.fir.txt index edb1db42ce1..b01513163d8 100644 --- a/compiler/testData/ir/irText/lambdas/destructuringInLambda.fir.txt +++ b/compiler/testData/ir/irText/lambdas/destructuringInLambda.fir.txt @@ -64,7 +64,7 @@ FILE fqName: fileName:/destructuringInLambda.kt PROPERTY name:fn visibility:public modality:FINAL [var] FIELD PROPERTY_BACKING_FIELD name:fn type:kotlin.Function1<.A, kotlin.Int> visibility:public [static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function2.A, kotlin.Int>, IrErrorType, kotlin.Function1<.A, kotlin.Int>> + FUN_EXPR type=kotlin.Function2.A, kotlin.Int>, IrErrorType, kotlin.Function1<.A, kotlin.Int>> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (:IrErrorType) returnType:kotlin.Function1<.A, kotlin.Int> VALUE_PARAMETER name: index:0 type:IrErrorType BLOCK_BODY diff --git a/compiler/testData/ir/irText/lambdas/destructuringInLambda.txt b/compiler/testData/ir/irText/lambdas/destructuringInLambda.txt index 788a88138aa..e03e3a79e25 100644 --- a/compiler/testData/ir/irText/lambdas/destructuringInLambda.txt +++ b/compiler/testData/ir/irText/lambdas/destructuringInLambda.txt @@ -140,7 +140,7 @@ FILE fqName: fileName:/destructuringInLambda.kt PROPERTY name:fn visibility:public modality:FINAL [var] FIELD PROPERTY_BACKING_FIELD name:fn type:kotlin.Function1<.A, kotlin.Int> visibility:public [static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function1<.A, kotlin.Int> + FUN_EXPR type=kotlin.Function1<.A, kotlin.Int> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (:.A) returnType:kotlin.Int VALUE_PARAMETER name: index:0 type:.A BLOCK_BODY diff --git a/compiler/testData/ir/irText/lambdas/extensionLambda.fir.txt b/compiler/testData/ir/irText/lambdas/extensionLambda.fir.txt index fb2af9a0e8a..47f99511164 100644 --- a/compiler/testData/ir/irText/lambdas/extensionLambda.fir.txt +++ b/compiler/testData/ir/irText/lambdas/extensionLambda.fir.txt @@ -3,7 +3,7 @@ FILE fqName: fileName:/extensionLambda.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test1 (): kotlin.Int declared in ' CALL 'public final fun run (block: kotlin.Function1, R of >): R of [inline] declared in kotlin' type=kotlin.Int origin=null - block: FUN_EXPR type=kotlin.Function2 + block: FUN_EXPR type=kotlin.Function2 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.String) returnType:kotlin.Int VALUE_PARAMETER name:it index:0 type:kotlin.String BLOCK_BODY diff --git a/compiler/testData/ir/irText/lambdas/extensionLambda.txt b/compiler/testData/ir/irText/lambdas/extensionLambda.txt index c848f037717..bb542c0d2c0 100644 --- a/compiler/testData/ir/irText/lambdas/extensionLambda.txt +++ b/compiler/testData/ir/irText/lambdas/extensionLambda.txt @@ -6,7 +6,7 @@ FILE fqName: fileName:/extensionLambda.kt : kotlin.String : kotlin.Int $receiver: CONST String type=kotlin.String value="42" - block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1 + block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY diff --git a/compiler/testData/ir/irText/lambdas/justLambda.fir.txt b/compiler/testData/ir/irText/lambdas/justLambda.fir.txt index 6b46ea64908..1c2b6110454 100644 --- a/compiler/testData/ir/irText/lambdas/justLambda.fir.txt +++ b/compiler/testData/ir/irText/lambdas/justLambda.fir.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/justLambda.kt PROPERTY name:test1 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0 visibility:public [final,static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY CONST Int type=kotlin.Function0 value=42 @@ -14,7 +14,7 @@ FILE fqName: fileName:/justLambda.kt PROPERTY name:test2 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Function0 visibility:public [final,static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit diff --git a/compiler/testData/ir/irText/lambdas/justLambda.txt b/compiler/testData/ir/irText/lambdas/justLambda.txt index bd931299ede..96d954ee4ad 100644 --- a/compiler/testData/ir/irText/lambdas/justLambda.txt +++ b/compiler/testData/ir/irText/lambdas/justLambda.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/justLambda.kt PROPERTY name:test1 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Function0 visibility:public [final,static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .test1' @@ -15,7 +15,7 @@ FILE fqName: fileName:/justLambda.kt PROPERTY name:test2 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Function0 visibility:public [final,static] EXPRESSION_BODY - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test2' diff --git a/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.fir.txt b/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.fir.txt index fbc7d580127..9f7c6153cda 100644 --- a/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.fir.txt +++ b/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.fir.txt @@ -85,19 +85,19 @@ FILE fqName: fileName:/multipleImplicitReceivers.kt BLOCK_BODY CALL 'public final fun with (receiver: T of , block: kotlin.Function1, R of >): R of [inline] declared in kotlin' type=kotlin.Int origin=null receiver: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.A - block: FUN_EXPR type=kotlin.Function2<.A, .A, kotlin.Unit> + block: FUN_EXPR type=kotlin.Function2<.A, .A, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:.A) returnType:kotlin.Unit VALUE_PARAMETER name:it index:0 type:.A BLOCK_BODY CALL 'public final fun with (receiver: T of , block: kotlin.Function1, R of >): R of [inline] declared in kotlin' type=kotlin.Int origin=null receiver: GET_VAR 'fooImpl: .IFoo declared in .test' type=.IFoo origin=null - block: FUN_EXPR type=kotlin.Function2<.IFoo, .IFoo, kotlin.Unit> + block: FUN_EXPR type=kotlin.Function2<.IFoo, .IFoo, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:.IFoo) returnType:kotlin.Unit VALUE_PARAMETER name:it index:0 type:.IFoo BLOCK_BODY CALL 'public final fun with (receiver: T of , block: kotlin.Function1, R of >): R of [inline] declared in kotlin' type=kotlin.Int origin=null receiver: GET_VAR 'invokeImpl: .IInvoke declared in .test' type=.IInvoke origin=null - block: FUN_EXPR type=kotlin.Function2<.IInvoke, .IInvoke, kotlin.Unit> + block: FUN_EXPR type=kotlin.Function2<.IInvoke, .IInvoke, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:.IInvoke) returnType:kotlin.Unit VALUE_PARAMETER name:it index:0 type:.IInvoke BLOCK_BODY diff --git a/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.txt b/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.txt index 2282ce1d7c8..59b45471532 100644 --- a/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.txt +++ b/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.txt @@ -90,7 +90,7 @@ FILE fqName: fileName:/multipleImplicitReceivers.kt : .A : kotlin.Int receiver: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.A - block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<.A, kotlin.Int> + block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<.A, kotlin.Int> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.A) returnType:kotlin.Int $receiver: VALUE_PARAMETER name: type:.A BLOCK_BODY @@ -99,7 +99,7 @@ FILE fqName: fileName:/multipleImplicitReceivers.kt : .IFoo : kotlin.Int receiver: GET_VAR 'fooImpl: .IFoo declared in .test' type=.IFoo origin=null - block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<.IFoo, kotlin.Int> + block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<.IFoo, kotlin.Int> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.IFoo) returnType:kotlin.Int $receiver: VALUE_PARAMETER name: type:.IFoo BLOCK_BODY @@ -108,7 +108,7 @@ FILE fqName: fileName:/multipleImplicitReceivers.kt : .IInvoke : kotlin.Int receiver: GET_VAR 'invokeImpl: .IInvoke declared in .test' type=.IInvoke origin=null - block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<.IInvoke, kotlin.Int> + block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<.IInvoke, kotlin.Int> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.IInvoke) returnType:kotlin.Int $receiver: VALUE_PARAMETER name: type:.IInvoke BLOCK_BODY diff --git a/compiler/testData/ir/irText/lambdas/nonLocalReturn.fir.txt b/compiler/testData/ir/irText/lambdas/nonLocalReturn.fir.txt index 6ff3939671c..c158fc24a8a 100644 --- a/compiler/testData/ir/irText/lambdas/nonLocalReturn.fir.txt +++ b/compiler/testData/ir/irText/lambdas/nonLocalReturn.fir.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/nonLocalReturn.kt FUN name:test0 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY CALL 'public final fun run (block: kotlin.Function0>): R of [inline] declared in kotlin' type=kotlin.Unit origin=null - block: FUN_EXPR type=kotlin.Function0 + block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test0' @@ -10,7 +10,7 @@ FILE fqName: fileName:/nonLocalReturn.kt FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY CALL 'public final fun run (block: kotlin.Function0>): R of [inline] declared in kotlin' type=kotlin.Unit origin=null - block: FUN_EXPR type=kotlin.Function0 + block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test1' @@ -18,7 +18,7 @@ FILE fqName: fileName:/nonLocalReturn.kt FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY CALL 'public final fun run (block: kotlin.Function0>): R of [inline] declared in kotlin' type=kotlin.Unit origin=null - block: FUN_EXPR type=kotlin.Function0 + block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test2' @@ -26,11 +26,11 @@ FILE fqName: fileName:/nonLocalReturn.kt FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY CALL 'public final fun run (block: kotlin.Function0>): R of [inline] declared in kotlin' type=kotlin.Unit origin=null - block: FUN_EXPR type=kotlin.Function0 + block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY CALL 'public final fun run (block: kotlin.Function0>): R of [inline] declared in kotlin' type=kotlin.Unit origin=null - block: FUN_EXPR type=kotlin.Function0 + block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test3.' @@ -39,7 +39,7 @@ FILE fqName: fileName:/nonLocalReturn.kt VALUE_PARAMETER name:ints index:0 type:kotlin.collections.List BLOCK_BODY CALL 'public final fun forEach (action: kotlin.Function1, kotlin.Unit>): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null - action: FUN_EXPR type=kotlin.Function1 + action: FUN_EXPR type=kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY @@ -56,7 +56,7 @@ FILE fqName: fileName:/nonLocalReturn.kt VALUE_PARAMETER name:ints index:0 type:kotlin.collections.List BLOCK_BODY CALL 'public final fun forEach (action: kotlin.Function1, kotlin.Unit>): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null - action: FUN_EXPR type=kotlin.Function1 + action: FUN_EXPR type=kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY diff --git a/compiler/testData/ir/irText/lambdas/nonLocalReturn.txt b/compiler/testData/ir/irText/lambdas/nonLocalReturn.txt index 74a11f17c18..252ccffa60f 100644 --- a/compiler/testData/ir/irText/lambdas/nonLocalReturn.txt +++ b/compiler/testData/ir/irText/lambdas/nonLocalReturn.txt @@ -3,7 +3,7 @@ FILE fqName: fileName:/nonLocalReturn.kt BLOCK_BODY CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run [inline] declared in kotlin' type=kotlin.Nothing origin=null : kotlin.Nothing - block: FUN_EXPR type=kotlin.Function0 + block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Nothing BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test0 (): kotlin.Unit declared in ' @@ -12,7 +12,7 @@ FILE fqName: fileName:/nonLocalReturn.kt BLOCK_BODY CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run [inline] declared in kotlin' type=kotlin.Unit origin=null : kotlin.Unit - block: FUN_EXPR type=kotlin.Function0 + block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test1' @@ -21,7 +21,7 @@ FILE fqName: fileName:/nonLocalReturn.kt BLOCK_BODY CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run [inline] declared in kotlin' type=kotlin.Unit origin=null : kotlin.Unit - block: FUN_EXPR type=kotlin.Function0 + block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test2' @@ -30,13 +30,13 @@ FILE fqName: fileName:/nonLocalReturn.kt BLOCK_BODY CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run [inline] declared in kotlin' type=kotlin.Unit origin=null : kotlin.Unit - block: FUN_EXPR type=kotlin.Function0 + block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test3' CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run [inline] declared in kotlin' type=kotlin.Nothing origin=null : kotlin.Nothing - block: FUN_EXPR type=kotlin.Function0 + block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Nothing BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test3' @@ -47,7 +47,7 @@ FILE fqName: fileName:/nonLocalReturn.kt CALL 'public final fun forEach (action: kotlin.Function1): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null : kotlin.Int $receiver: GET_VAR 'ints: kotlin.collections.List declared in .testLrmFoo1' type=kotlin.collections.List origin=null - action: FUN_EXPR type=kotlin.Function1 + action: FUN_EXPR type=kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY @@ -67,7 +67,7 @@ FILE fqName: fileName:/nonLocalReturn.kt CALL 'public final fun forEach (action: kotlin.Function1): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null : kotlin.Int $receiver: GET_VAR 'ints: kotlin.collections.List declared in .testLrmFoo2' type=kotlin.collections.List origin=null - action: FUN_EXPR type=kotlin.Function1 + action: FUN_EXPR type=kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY diff --git a/compiler/testData/ir/irText/lambdas/samAdapter.fir.txt b/compiler/testData/ir/irText/lambdas/samAdapter.fir.txt index a9962edc48e..51535f4c4ab 100644 --- a/compiler/testData/ir/irText/lambdas/samAdapter.fir.txt +++ b/compiler/testData/ir/irText/lambdas/samAdapter.fir.txt @@ -3,7 +3,7 @@ FILE fqName: fileName:/samAdapter.kt BLOCK_BODY VAR name:hello type:IrErrorType [val] ERROR_CALL 'Unresolved reference: #' type=IrErrorType - FUN_EXPR type=IrErrorType + FUN_EXPR type=IrErrorType origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:IrErrorType BLOCK_BODY ERROR_CALL 'Unresolved reference: println#' type=IrErrorType diff --git a/compiler/testData/ir/irText/lambdas/samAdapter.txt b/compiler/testData/ir/irText/lambdas/samAdapter.txt index 70b5d748702..b2a68ee9e4c 100644 --- a/compiler/testData/ir/irText/lambdas/samAdapter.txt +++ b/compiler/testData/ir/irText/lambdas/samAdapter.txt @@ -3,7 +3,7 @@ FILE fqName: fileName:/samAdapter.kt BLOCK_BODY VAR name:hello type:java.lang.Runnable [val] TYPE_OP type=java.lang.Runnable origin=SAM_CONVERSION typeOperand=java.lang.Runnable - FUN_EXPR type=kotlin.Function0 + FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test1' diff --git a/compiler/testData/ir/irText/stubs/builtinMap.fir.txt b/compiler/testData/ir/irText/stubs/builtinMap.fir.txt index 4a11043c6cb..b3509da1cf8 100644 --- a/compiler/testData/ir/irText/stubs/builtinMap.fir.txt +++ b/compiler/testData/ir/irText/stubs/builtinMap.fir.txt @@ -14,7 +14,7 @@ FILE fqName: fileName:/builtinMap.kt BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CALL 'public final fun apply (block: kotlin.Function1, kotlin.Unit>): T of [inline] declared in kotlin' type=java.util.LinkedHashMap.plus, V1 of .plus> origin=null - block: FUN_EXPR type=kotlin.Function2.plus, V1 of .plus>, java.util.LinkedHashMap.plus, V1 of .plus>, kotlin.Unit> + block: FUN_EXPR type=kotlin.Function2.plus, V1 of .plus>, java.util.LinkedHashMap.plus, V1 of .plus>, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:java.util.LinkedHashMap.plus, V1 of .plus>) returnType:kotlin.Unit VALUE_PARAMETER name:it index:0 type:java.util.LinkedHashMap.plus, V1 of .plus> BLOCK_BODY diff --git a/compiler/testData/ir/irText/stubs/builtinMap.txt b/compiler/testData/ir/irText/stubs/builtinMap.txt index 0db37e2c273..4d2133ffc41 100644 --- a/compiler/testData/ir/irText/stubs/builtinMap.txt +++ b/compiler/testData/ir/irText/stubs/builtinMap.txt @@ -22,7 +22,7 @@ FILE fqName: fileName:/builtinMap.kt : K1 of .plus? : V1 of .plus? p0: GET_VAR ': kotlin.collections.Map.plus, V1 of .plus> declared in .plus' type=kotlin.collections.Map.plus, V1 of .plus> origin=null - block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1.plus?, V1 of .plus?>, kotlin.Unit> + block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1.plus?, V1 of .plus?>, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:java.util.LinkedHashMap.plus?, V1 of .plus?>) returnType:kotlin.Unit $receiver: VALUE_PARAMETER name: type:java.util.LinkedHashMap.plus?, V1 of .plus?> BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/intersectionType2_NI.fir.txt b/compiler/testData/ir/irText/types/intersectionType2_NI.fir.txt index 89ce4a8f2eb..c55d3aa0e91 100644 --- a/compiler/testData/ir/irText/types/intersectionType2_NI.fir.txt +++ b/compiler/testData/ir/irText/types/intersectionType2_NI.fir.txt @@ -80,7 +80,7 @@ FILE fqName: fileName:/intersectionType2_NI.kt RETURN type=kotlin.Nothing from='public final fun foo (): .B declared in ' CALL 'public final fun run (fn: kotlin.Function0.run>): T of .run declared in ' type=.B origin=null : - fn: FUN_EXPR type=kotlin.Function0<.B> + fn: FUN_EXPR type=kotlin.Function0<.B> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:.B BLOCK_BODY VAR name:mm type:.B [val] diff --git a/compiler/testData/ir/irText/types/intersectionType2_NI.txt b/compiler/testData/ir/irText/types/intersectionType2_NI.txt index 783b70f1129..dce20f3307f 100644 --- a/compiler/testData/ir/irText/types/intersectionType2_NI.txt +++ b/compiler/testData/ir/irText/types/intersectionType2_NI.txt @@ -86,7 +86,7 @@ FILE fqName: fileName:/intersectionType2_NI.kt RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Any declared in ' CALL 'public final fun run (fn: kotlin.Function0.run>): T of .run declared in ' type=kotlin.Any origin=null : kotlin.Any - fn: FUN_EXPR type=kotlin.Function0 + fn: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Any BLOCK_BODY VAR name:mm type:.B [val] diff --git a/compiler/testData/ir/irText/types/intersectionType2_OI.fir.txt b/compiler/testData/ir/irText/types/intersectionType2_OI.fir.txt index a2292c2acfb..2458b15c566 100644 --- a/compiler/testData/ir/irText/types/intersectionType2_OI.fir.txt +++ b/compiler/testData/ir/irText/types/intersectionType2_OI.fir.txt @@ -80,7 +80,7 @@ FILE fqName: fileName:/intersectionType2_OI.kt RETURN type=kotlin.Nothing from='public final fun foo (): .B declared in ' CALL 'public final fun run (fn: kotlin.Function0.run>): T of .run declared in ' type=.B origin=null : - fn: FUN_EXPR type=kotlin.Function0<.B> + fn: FUN_EXPR type=kotlin.Function0<.B> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:.B BLOCK_BODY VAR name:mm type:.B [val] diff --git a/compiler/testData/ir/irText/types/intersectionType2_OI.txt b/compiler/testData/ir/irText/types/intersectionType2_OI.txt index da9b9d81cc5..48391a322d8 100644 --- a/compiler/testData/ir/irText/types/intersectionType2_OI.txt +++ b/compiler/testData/ir/irText/types/intersectionType2_OI.txt @@ -86,7 +86,7 @@ FILE fqName: fileName:/intersectionType2_OI.kt RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Any declared in ' CALL 'public final fun run (fn: kotlin.Function0.run>): T of .run declared in ' type=kotlin.Any origin=null : kotlin.Any - fn: FUN_EXPR type=kotlin.Function0 + fn: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Any BLOCK_BODY VAR name:mm type:.B [val]