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
@@ -4049,6 +4049,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
runTest("compiler/testData/diagnostics/tests/builderInference/issues/kt53422b.kt");
}
@Test
@TestMetadata("kt53478.kt")
public void testKt53478() {
runTest("compiler/testData/diagnostics/tests/builderInference/issues/kt53478.kt");
}
@Test
@TestMetadata("kt53553.kt")
public void testKt53553() {
@@ -4235,6 +4241,18 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
runTest("compiler/testData/diagnostics/tests/builderInference/issues/kt63841.kt");
}
@Test
@TestMetadata("kt64066.kt")
public void testKt64066() {
runTest("compiler/testData/diagnostics/tests/builderInference/issues/kt64066.kt");
}
@Test
@TestMetadata("kt64066disabled.kt")
public void testKt64066disabled() {
runTest("compiler/testData/diagnostics/tests/builderInference/issues/kt64066disabled.kt");
}
@Test
@TestMetadata("kt64077.kt")
public void testKt64077() {
@@ -3683,6 +3683,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo
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() {
@@ -3856,6 +3862,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo
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
@@ -4049,6 +4049,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
runTest("compiler/testData/diagnostics/tests/builderInference/issues/kt53422b.kt");
}
@Test
@TestMetadata("kt53478.kt")
public void testKt53478() {
runTest("compiler/testData/diagnostics/tests/builderInference/issues/kt53478.kt");
}
@Test
@TestMetadata("kt53553.kt")
public void testKt53553() {
@@ -4235,6 +4241,18 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
runTest("compiler/testData/diagnostics/tests/builderInference/issues/kt63841.kt");
}
@Test
@TestMetadata("kt64066.kt")
public void testKt64066() {
runTest("compiler/testData/diagnostics/tests/builderInference/issues/kt64066.kt");
}
@Test
@TestMetadata("kt64066disabled.kt")
public void testKt64066disabled() {
runTest("compiler/testData/diagnostics/tests/builderInference/issues/kt64066disabled.kt");
}
@Test
@TestMetadata("kt64077.kt")
public void testKt64077() {
@@ -3683,6 +3683,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi
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() {
@@ -3856,6 +3862,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi
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