[FIR2IR] Remember overridden symbols if f/o contains error types

^KT-64837 Fixed
This commit is contained in:
Dmitriy Novozhilov
2024-01-11 15:14:19 +02:00
committed by Space Team
parent 46cd5621bd
commit 8300ad76d0
22 changed files with 139 additions and 1 deletions
@@ -20132,6 +20132,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("Mockito.kt")
public void testMockito() throws Exception {
@@ -20132,6 +20132,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("Mockito.kt")
public void testMockito() throws Exception {
@@ -342,12 +342,13 @@ class FakeOverrideGenerator(
isLocal
).symbol as IS
baseSymbols[irSymbol] = baseFirSymbolsForFakeOverride
@OptIn(UnsafeDuringIrConstructionAPI::class)
val owner = irSymbol.owner
if (containsErrorTypes(owner)) {
return
}
baseSymbols[irSymbol] = baseFirSymbolsForFakeOverride
result?.add(owner)
}
@@ -19831,6 +19831,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("Mockito.kt")
public void testMockito() throws Exception {
@@ -19831,6 +19831,12 @@ public class FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("Mockito.kt")
public void testMockito() throws Exception {
@@ -19831,6 +19831,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("Mockito.kt")
public void testMockito() throws Exception {
@@ -0,0 +1,18 @@
// ISSUE: KT-64837
// MODULE: lib1
// FILE: Some.kt
class Some<T>
// MODULE: lib2(lib1)
// FILE: lib.kt
class Inv<T>
interface Base {
val x: Inv<Some<*>>
}
// MODULE: main(lib2)
// FILE: main.kt
interface Derived : Base
fun box(): String = "OK"
@@ -19831,6 +19831,12 @@ public class JvmAbiConsistencyTestBoxGenerated extends AbstractJvmAbiConsistency
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("Mockito.kt")
public void testMockito() throws Exception {
@@ -18847,6 +18847,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/fir/LookupTags.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("Mockito.kt")
public void testMockito() throws Exception {
@@ -19831,6 +19831,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("Mockito.kt")
public void testMockito() throws Exception {
@@ -19831,6 +19831,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("Mockito.kt")
public void testMockito() throws Exception {
@@ -16561,6 +16561,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
}
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@TestMetadata("Mockito.kt")
public void testMockito() throws Exception {
runTest("compiler/testData/codegen/box/fir/Mockito.kt");
@@ -14755,6 +14755,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
public void testNestedClassTypeParameterDeserialization() throws Exception {
@@ -14755,6 +14755,12 @@ public class FirJsES6CodegenBoxTestGenerated extends AbstractFirJsES6CodegenBoxT
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
public void testNestedClassTypeParameterDeserialization() throws Exception {
@@ -14755,6 +14755,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
public void testNestedClassTypeParameterDeserialization() throws Exception {
@@ -14755,6 +14755,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
public void testNestedClassTypeParameterDeserialization() throws Exception {
@@ -16458,6 +16458,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
public void testNestedClassTypeParameterDeserialization() throws Exception {
@@ -16840,6 +16840,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
public void testNestedClassTypeParameterDeserialization() throws Exception {
@@ -16076,6 +16076,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
public void testNestedClassTypeParameterDeserialization() throws Exception {
@@ -16459,6 +16459,12 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
public void testNestedClassTypeParameterDeserialization() throws Exception {
@@ -14731,6 +14731,12 @@ public class FirWasmCodegenBoxTestGenerated extends AbstractFirWasmCodegenBoxTes
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
public void testNestedClassTypeParameterDeserialization() throws Exception {
@@ -14731,6 +14731,12 @@ public class K1WasmCodegenBoxTestGenerated extends AbstractK1WasmCodegenBoxTest
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
}
@Test
@TestMetadata("missingDependencyClassInTypeArguments.kt")
public void testMissingDependencyClassInTypeArguments() throws Exception {
runTest("compiler/testData/codegen/box/fir/missingDependencyClassInTypeArguments.kt");
}
@Test
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
public void testNestedClassTypeParameterDeserialization() throws Exception {