[FIR2IR] Remember overridden symbols if f/o contains error types
^KT-64837 Fixed
This commit is contained in:
committed by
Space Team
parent
46cd5621bd
commit
8300ad76d0
+6
@@ -20132,6 +20132,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo
|
|||||||
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
|
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
|
@Test
|
||||||
@TestMetadata("Mockito.kt")
|
@TestMetadata("Mockito.kt")
|
||||||
public void testMockito() throws Exception {
|
public void testMockito() throws Exception {
|
||||||
|
|||||||
+6
@@ -20132,6 +20132,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi
|
|||||||
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
|
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
|
@Test
|
||||||
@TestMetadata("Mockito.kt")
|
@TestMetadata("Mockito.kt")
|
||||||
public void testMockito() throws Exception {
|
public void testMockito() throws Exception {
|
||||||
|
|||||||
+2
-1
@@ -342,12 +342,13 @@ class FakeOverrideGenerator(
|
|||||||
isLocal
|
isLocal
|
||||||
).symbol as IS
|
).symbol as IS
|
||||||
|
|
||||||
|
baseSymbols[irSymbol] = baseFirSymbolsForFakeOverride
|
||||||
|
|
||||||
@OptIn(UnsafeDuringIrConstructionAPI::class)
|
@OptIn(UnsafeDuringIrConstructionAPI::class)
|
||||||
val owner = irSymbol.owner
|
val owner = irSymbol.owner
|
||||||
if (containsErrorTypes(owner)) {
|
if (containsErrorTypes(owner)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
baseSymbols[irSymbol] = baseFirSymbolsForFakeOverride
|
|
||||||
|
|
||||||
result?.add(owner)
|
result?.add(owner)
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -19831,6 +19831,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
|
|||||||
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
|
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
|
@Test
|
||||||
@TestMetadata("Mockito.kt")
|
@TestMetadata("Mockito.kt")
|
||||||
public void testMockito() throws Exception {
|
public void testMockito() throws Exception {
|
||||||
|
|||||||
+6
@@ -19831,6 +19831,12 @@ public class FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated
|
|||||||
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
|
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
|
@Test
|
||||||
@TestMetadata("Mockito.kt")
|
@TestMetadata("Mockito.kt")
|
||||||
public void testMockito() throws Exception {
|
public void testMockito() throws Exception {
|
||||||
|
|||||||
+6
@@ -19831,6 +19831,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
|
|||||||
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
|
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
|
@Test
|
||||||
@TestMetadata("Mockito.kt")
|
@TestMetadata("Mockito.kt")
|
||||||
public void testMockito() throws Exception {
|
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"
|
||||||
+6
@@ -19831,6 +19831,12 @@ public class JvmAbiConsistencyTestBoxGenerated extends AbstractJvmAbiConsistency
|
|||||||
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
|
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
|
@Test
|
||||||
@TestMetadata("Mockito.kt")
|
@TestMetadata("Mockito.kt")
|
||||||
public void testMockito() throws Exception {
|
public void testMockito() throws Exception {
|
||||||
|
|||||||
+6
@@ -18847,6 +18847,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
|||||||
runTest("compiler/testData/codegen/box/fir/LookupTags.kt");
|
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
|
@Test
|
||||||
@TestMetadata("Mockito.kt")
|
@TestMetadata("Mockito.kt")
|
||||||
public void testMockito() throws Exception {
|
public void testMockito() throws Exception {
|
||||||
|
|||||||
+6
@@ -19831,6 +19831,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
|||||||
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
|
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
|
@Test
|
||||||
@TestMetadata("Mockito.kt")
|
@TestMetadata("Mockito.kt")
|
||||||
public void testMockito() throws Exception {
|
public void testMockito() throws Exception {
|
||||||
|
|||||||
+6
@@ -19831,6 +19831,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
|
|||||||
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
|
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
|
@Test
|
||||||
@TestMetadata("Mockito.kt")
|
@TestMetadata("Mockito.kt")
|
||||||
public void testMockito() throws Exception {
|
public void testMockito() throws Exception {
|
||||||
|
|||||||
+5
@@ -16561,6 +16561,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
|||||||
runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation2.kt");
|
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")
|
@TestMetadata("Mockito.kt")
|
||||||
public void testMockito() throws Exception {
|
public void testMockito() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/fir/Mockito.kt");
|
runTest("compiler/testData/codegen/box/fir/Mockito.kt");
|
||||||
|
|||||||
+6
@@ -14755,6 +14755,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
|
|||||||
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
|
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
|
@Test
|
||||||
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
||||||
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
||||||
|
|||||||
Generated
+6
@@ -14755,6 +14755,12 @@ public class FirJsES6CodegenBoxTestGenerated extends AbstractFirJsES6CodegenBoxT
|
|||||||
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
|
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
|
@Test
|
||||||
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
||||||
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
||||||
|
|||||||
+6
@@ -14755,6 +14755,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
|||||||
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
|
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
|
@Test
|
||||||
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
||||||
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
||||||
|
|||||||
+6
@@ -14755,6 +14755,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
|
|||||||
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
|
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
|
@Test
|
||||||
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
||||||
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
||||||
|
|||||||
+6
@@ -16458,6 +16458,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
|
|||||||
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
|
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
|
@Test
|
||||||
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
||||||
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
||||||
|
|||||||
+6
@@ -16840,6 +16840,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
|
|||||||
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
|
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
|
@Test
|
||||||
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
||||||
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
||||||
|
|||||||
+6
@@ -16076,6 +16076,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
|
|||||||
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
|
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
|
@Test
|
||||||
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
||||||
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
||||||
|
|||||||
+6
@@ -16459,6 +16459,12 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT
|
|||||||
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
|
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
|
@Test
|
||||||
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
||||||
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
||||||
|
|||||||
Generated
+6
@@ -14731,6 +14731,12 @@ public class FirWasmCodegenBoxTestGenerated extends AbstractFirWasmCodegenBoxTes
|
|||||||
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
|
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
|
@Test
|
||||||
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
||||||
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
||||||
|
|||||||
Generated
+6
@@ -14731,6 +14731,12 @@ public class K1WasmCodegenBoxTestGenerated extends AbstractK1WasmCodegenBoxTest
|
|||||||
runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt");
|
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
|
@Test
|
||||||
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
@TestMetadata("nestedClassTypeParameterDeserialization.kt")
|
||||||
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
public void testNestedClassTypeParameterDeserialization() throws Exception {
|
||||||
|
|||||||
Reference in New Issue
Block a user