IR: check type parameter bounds equality in overrides

The code is exactly the same as in K1's
`OverridingUtil.areTypeParametersEquivalent`.

 #KT-63442 Fixed
This commit is contained in:
Alexander Udalov
2023-11-24 13:12:04 +01:00
committed by Space Team
parent 560c1cacf3
commit fc7de5ab97
25 changed files with 816 additions and 22 deletions
@@ -14297,6 +14297,24 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/fir/falsePositiveBoundSmartcast.kt");
}
@Test
@TestMetadata("functionsDifferInTypeParameterBounds.kt")
public void testFunctionsDifferInTypeParameterBounds() throws Exception {
runTest("compiler/testData/codegen/box/fir/functionsDifferInTypeParameterBounds.kt");
}
@Test
@TestMetadata("functionsDifferInTypeParameterBounds2.kt")
public void testFunctionsDifferInTypeParameterBounds2() throws Exception {
runTest("compiler/testData/codegen/box/fir/functionsDifferInTypeParameterBounds2.kt");
}
@Test
@TestMetadata("functionsDifferInTypeParameterBounds3.kt")
public void testFunctionsDifferInTypeParameterBounds3() throws Exception {
runTest("compiler/testData/codegen/box/fir/functionsDifferInTypeParameterBounds3.kt");
}
@Test
@TestMetadata("listAssignmentInWhen.kt")
public void testListAssignmentInWhen() throws Exception {
@@ -14297,6 +14297,24 @@ public class FirJsES6CodegenBoxTestGenerated extends AbstractFirJsES6CodegenBoxT
runTest("compiler/testData/codegen/box/fir/falsePositiveBoundSmartcast.kt");
}
@Test
@TestMetadata("functionsDifferInTypeParameterBounds.kt")
public void testFunctionsDifferInTypeParameterBounds() throws Exception {
runTest("compiler/testData/codegen/box/fir/functionsDifferInTypeParameterBounds.kt");
}
@Test
@TestMetadata("functionsDifferInTypeParameterBounds2.kt")
public void testFunctionsDifferInTypeParameterBounds2() throws Exception {
runTest("compiler/testData/codegen/box/fir/functionsDifferInTypeParameterBounds2.kt");
}
@Test
@TestMetadata("functionsDifferInTypeParameterBounds3.kt")
public void testFunctionsDifferInTypeParameterBounds3() throws Exception {
runTest("compiler/testData/codegen/box/fir/functionsDifferInTypeParameterBounds3.kt");
}
@Test
@TestMetadata("listAssignmentInWhen.kt")
public void testListAssignmentInWhen() throws Exception {
@@ -14297,6 +14297,24 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/fir/falsePositiveBoundSmartcast.kt");
}
@Test
@TestMetadata("functionsDifferInTypeParameterBounds.kt")
public void testFunctionsDifferInTypeParameterBounds() throws Exception {
runTest("compiler/testData/codegen/box/fir/functionsDifferInTypeParameterBounds.kt");
}
@Test
@TestMetadata("functionsDifferInTypeParameterBounds2.kt")
public void testFunctionsDifferInTypeParameterBounds2() throws Exception {
runTest("compiler/testData/codegen/box/fir/functionsDifferInTypeParameterBounds2.kt");
}
@Test
@TestMetadata("functionsDifferInTypeParameterBounds3.kt")
public void testFunctionsDifferInTypeParameterBounds3() throws Exception {
runTest("compiler/testData/codegen/box/fir/functionsDifferInTypeParameterBounds3.kt");
}
@Test
@TestMetadata("listAssignmentInWhen.kt")
public void testListAssignmentInWhen() throws Exception {
@@ -14297,6 +14297,24 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
runTest("compiler/testData/codegen/box/fir/falsePositiveBoundSmartcast.kt");
}
@Test
@TestMetadata("functionsDifferInTypeParameterBounds.kt")
public void testFunctionsDifferInTypeParameterBounds() throws Exception {
runTest("compiler/testData/codegen/box/fir/functionsDifferInTypeParameterBounds.kt");
}
@Test
@TestMetadata("functionsDifferInTypeParameterBounds2.kt")
public void testFunctionsDifferInTypeParameterBounds2() throws Exception {
runTest("compiler/testData/codegen/box/fir/functionsDifferInTypeParameterBounds2.kt");
}
@Test
@TestMetadata("functionsDifferInTypeParameterBounds3.kt")
public void testFunctionsDifferInTypeParameterBounds3() throws Exception {
runTest("compiler/testData/codegen/box/fir/functionsDifferInTypeParameterBounds3.kt");
}
@Test
@TestMetadata("listAssignmentInWhen.kt")
public void testListAssignmentInWhen() throws Exception {