K1: introduce BUILDER_INFERENCE_STUB_PARAMETER_TYPE to prevent compiler crashes

This diagnostic is reported in rare situations when
StubTypeForBuilderInference is kept as a parameter type
of for loop or lambda. Before this commit, we had in K1
"Could not load module <error module>" from IrLinker instead.

Related to: KT-52757, KT-53109, KT-63841, KT-64066
#KT-53478 Fixed
This commit is contained in:
Mikhail Glukhikh
2024-02-26 10:06:29 +01:00
committed by Space Team
parent 6f6e37f552
commit 678816f9e8
44 changed files with 554 additions and 15 deletions
@@ -2831,6 +2831,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
runTest("compiler/testData/codegen/box/builderInference/issues/kt53422b.kt");
}
@Test
@TestMetadata("kt53478.kt")
public void testKt53478() {
runTest("compiler/testData/codegen/box/builderInference/issues/kt53478.kt");
}
@Test
@TestMetadata("kt53553.kt")
public void testKt53553() {
@@ -2998,6 +3004,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
public void testKt63840c() {
runTest("compiler/testData/codegen/box/builderInference/issues/kt63840c.kt");
}
@Test
@TestMetadata("kt64066.kt")
public void testKt64066() {
runTest("compiler/testData/codegen/box/builderInference/issues/kt64066.kt");
}
}
@Nested
@@ -2889,6 +2889,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
runTest("compiler/testData/codegen/box/builderInference/issues/kt53422b.kt");
}
@Test
@TestMetadata("kt53478.kt")
public void testKt53478() {
runTest("compiler/testData/codegen/box/builderInference/issues/kt53478.kt");
}
@Test
@TestMetadata("kt53553.kt")
public void testKt53553() {
@@ -3056,6 +3062,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
public void testKt63840c() {
runTest("compiler/testData/codegen/box/builderInference/issues/kt63840c.kt");
}
@Test
@TestMetadata("kt64066.kt")
public void testKt64066() {
runTest("compiler/testData/codegen/box/builderInference/issues/kt64066.kt");
}
}
@Nested
@@ -2773,6 +2773,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
runTest("compiler/testData/codegen/box/builderInference/issues/kt53422b.kt");
}
@Test
@TestMetadata("kt53478.kt")
public void testKt53478() {
runTest("compiler/testData/codegen/box/builderInference/issues/kt53478.kt");
}
@Test
@TestMetadata("kt53553.kt")
public void testKt53553() {
@@ -2940,6 +2946,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
public void testKt63840c() {
runTest("compiler/testData/codegen/box/builderInference/issues/kt63840c.kt");
}
@Test
@TestMetadata("kt64066.kt")
public void testKt64066() {
runTest("compiler/testData/codegen/box/builderInference/issues/kt64066.kt");
}
}
@Nested
@@ -2832,6 +2832,12 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT
runTest("compiler/testData/codegen/box/builderInference/issues/kt53422b.kt");
}
@Test
@TestMetadata("kt53478.kt")
public void testKt53478() {
runTest("compiler/testData/codegen/box/builderInference/issues/kt53478.kt");
}
@Test
@TestMetadata("kt53553.kt")
public void testKt53553() {
@@ -2999,6 +3005,12 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT
public void testKt63840c() {
runTest("compiler/testData/codegen/box/builderInference/issues/kt63840c.kt");
}
@Test
@TestMetadata("kt64066.kt")
public void testKt64066() {
runTest("compiler/testData/codegen/box/builderInference/issues/kt64066.kt");
}
}
@Nested