JVM IR: do not attempt to mangle function expressions
For some reasons, lambdas and function expressions are represented slightly differently in psi2ir. Lambdas are translated to a block with a function of origin LOCAL_FUNCTION_FOR_LAMBDA and name "<anonymous>", but function expressions are translated to a block with DEFINED function "<no name provided>". Tweak the condition for detecting local functions a bit, to avoid similar situation in the future if we add some other origins for local functions. #KT-48207 Fixed
This commit is contained in:
js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java
Generated
+5
@@ -13383,6 +13383,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/fieldNameClash.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("functionExpression.kt")
|
||||
public void testFunctionExpression() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/functionExpression.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericInlineClassSynthMembers.kt")
|
||||
public void testGenericInlineClassSynthMembers() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/genericInlineClassSynthMembers.kt");
|
||||
|
||||
Generated
+5
@@ -12789,6 +12789,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/fieldNameClash.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("functionExpression.kt")
|
||||
public void testFunctionExpression() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/functionExpression.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericInlineClassSynthMembers.kt")
|
||||
public void testGenericInlineClassSynthMembers() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/genericInlineClassSynthMembers.kt");
|
||||
|
||||
Generated
+5
@@ -12854,6 +12854,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/fieldNameClash.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("functionExpression.kt")
|
||||
public void testFunctionExpression() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/functionExpression.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericInlineClassSynthMembers.kt")
|
||||
public void testGenericInlineClassSynthMembers() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/genericInlineClassSynthMembers.kt");
|
||||
|
||||
js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java
Generated
+5
@@ -6899,6 +6899,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/fieldNameClash.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("functionExpression.kt")
|
||||
public void testFunctionExpression() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/functionExpression.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericInlineClassSynthMembers.kt")
|
||||
public void testGenericInlineClassSynthMembers() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/genericInlineClassSynthMembers.kt");
|
||||
|
||||
Reference in New Issue
Block a user