Tests: move more diagnostic tests to testsWithJvmBackend

In this commit, tests where backend diagnostics were reported correctly
are being moved.

FirScopeDumpHandler was added to FIR diagnostic tests with JVM backend
to support `SCOPE_DUMP` in `overridesBuiltinNoMagic.kt` and
`charAtAndOverload.kt`.
This commit is contained in:
Alexander Udalov
2024-03-12 12:25:42 +01:00
committed by Space Team
parent 56a1a3153b
commit d986e0ee9c
43 changed files with 296 additions and 607 deletions
@@ -22453,12 +22453,6 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/j+k/collectionOverrides"), Pattern.compile("^(.+)\\.(kt|kts)$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("charAtAndOverload.kt")
public void testCharAtAndOverload() {
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.kt");
}
@Test
@TestMetadata("charAtAndOverloadWithoutExplicitOverride.kt")
public void testCharAtAndOverloadWithoutExplicitOverride() {
@@ -22567,12 +22561,6 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/nonDirectHiddenOverride.kt");
}
@Test
@TestMetadata("overridesBuiltinNoMagic.kt")
public void testOverridesBuiltinNoMagic() {
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/overridesBuiltinNoMagic.kt");
}
@Test
@TestMetadata("removeAt.kt")
public void testRemoveAt() {
@@ -28258,12 +28246,6 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
runTest("compiler/testData/diagnostics/tests/overload/ConflictingOverloadsIdenticalFunsInClass.kt");
}
@Test
@TestMetadata("ConflictingOverloadsIdenticalFunsTPInClass.kt")
public void testConflictingOverloadsIdenticalFunsTPInClass() {
runTest("compiler/testData/diagnostics/tests/overload/ConflictingOverloadsIdenticalFunsTPInClass.kt");
}
@Test
@TestMetadata("ConflictingOverloadsIdenticalValsInClass.kt")
public void testConflictingOverloadsIdenticalValsInClass() {
@@ -44890,24 +44872,6 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmNames.kt");
}
@Test
@TestMetadata("jvmOverloads.kt")
public void testJvmOverloads() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmOverloads.kt");
}
@Test
@TestMetadata("jvmStaticInClassObject.kt")
public void testJvmStaticInClassObject() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmStaticInClassObject.kt");
}
@Test
@TestMetadata("jvmStaticInObject.kt")
public void testJvmStaticInObject() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmStaticInObject.kt");
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics")
@TestDataPath("$PROJECT_ROOT")
@@ -44917,24 +44881,6 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics"), Pattern.compile("^(.+)\\.(kt|kts)$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("jjk.kt")
public void testJjk() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics/jjk.kt");
}
@Test
@TestMetadata("jk.kt")
public void testJk() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics/jk.kt");
}
@Test
@TestMetadata("jkjk.kt")
public void testJkjk() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics/jkjk.kt");
}
@Test
@TestMetadata("kotlinMembersVsJavaNonVisibleStatics.kt")
public void testKotlinMembersVsJavaNonVisibleStatics() {
@@ -22453,12 +22453,6 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/j+k/collectionOverrides"), Pattern.compile("^(.+)\\.(kt|kts)$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("charAtAndOverload.kt")
public void testCharAtAndOverload() {
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.kt");
}
@Test
@TestMetadata("charAtAndOverloadWithoutExplicitOverride.kt")
public void testCharAtAndOverloadWithoutExplicitOverride() {
@@ -22567,12 +22561,6 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/nonDirectHiddenOverride.kt");
}
@Test
@TestMetadata("overridesBuiltinNoMagic.kt")
public void testOverridesBuiltinNoMagic() {
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/overridesBuiltinNoMagic.kt");
}
@Test
@TestMetadata("removeAt.kt")
public void testRemoveAt() {
@@ -28258,12 +28246,6 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
runTest("compiler/testData/diagnostics/tests/overload/ConflictingOverloadsIdenticalFunsInClass.kt");
}
@Test
@TestMetadata("ConflictingOverloadsIdenticalFunsTPInClass.kt")
public void testConflictingOverloadsIdenticalFunsTPInClass() {
runTest("compiler/testData/diagnostics/tests/overload/ConflictingOverloadsIdenticalFunsTPInClass.kt");
}
@Test
@TestMetadata("ConflictingOverloadsIdenticalValsInClass.kt")
public void testConflictingOverloadsIdenticalValsInClass() {
@@ -44890,24 +44872,6 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmNames.kt");
}
@Test
@TestMetadata("jvmOverloads.kt")
public void testJvmOverloads() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmOverloads.kt");
}
@Test
@TestMetadata("jvmStaticInClassObject.kt")
public void testJvmStaticInClassObject() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmStaticInClassObject.kt");
}
@Test
@TestMetadata("jvmStaticInObject.kt")
public void testJvmStaticInObject() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmStaticInObject.kt");
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics")
@TestDataPath("$PROJECT_ROOT")
@@ -44917,24 +44881,6 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics"), Pattern.compile("^(.+)\\.(kt|kts)$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("jjk.kt")
public void testJjk() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics/jjk.kt");
}
@Test
@TestMetadata("jk.kt")
public void testJk() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics/jk.kt");
}
@Test
@TestMetadata("jkjk.kt")
public void testJkjk() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics/jkjk.kt");
}
@Test
@TestMetadata("kotlinMembersVsJavaNonVisibleStatics.kt")
public void testKotlinMembersVsJavaNonVisibleStatics() {
@@ -22447,12 +22447,6 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/j+k/collectionOverrides"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true, "multiplatform");
}
@Test
@TestMetadata("charAtAndOverload.kt")
public void testCharAtAndOverload() {
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.kt");
}
@Test
@TestMetadata("charAtAndOverloadWithoutExplicitOverride.kt")
public void testCharAtAndOverloadWithoutExplicitOverride() {
@@ -22561,12 +22555,6 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/nonDirectHiddenOverride.kt");
}
@Test
@TestMetadata("overridesBuiltinNoMagic.kt")
public void testOverridesBuiltinNoMagic() {
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/overridesBuiltinNoMagic.kt");
}
@Test
@TestMetadata("removeAt.kt")
public void testRemoveAt() {
@@ -25956,12 +25944,6 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir
runTest("compiler/testData/diagnostics/tests/overload/ConflictingOverloadsIdenticalFunsInClass.kt");
}
@Test
@TestMetadata("ConflictingOverloadsIdenticalFunsTPInClass.kt")
public void testConflictingOverloadsIdenticalFunsTPInClass() {
runTest("compiler/testData/diagnostics/tests/overload/ConflictingOverloadsIdenticalFunsTPInClass.kt");
}
@Test
@TestMetadata("ConflictingOverloadsIdenticalValsInClass.kt")
public void testConflictingOverloadsIdenticalValsInClass() {
@@ -42456,24 +42438,6 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmNames.kt");
}
@Test
@TestMetadata("jvmOverloads.kt")
public void testJvmOverloads() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmOverloads.kt");
}
@Test
@TestMetadata("jvmStaticInClassObject.kt")
public void testJvmStaticInClassObject() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmStaticInClassObject.kt");
}
@Test
@TestMetadata("jvmStaticInObject.kt")
public void testJvmStaticInObject() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmStaticInObject.kt");
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics")
@TestDataPath("$PROJECT_ROOT")
@@ -42483,24 +42447,6 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("jjk.kt")
public void testJjk() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics/jjk.kt");
}
@Test
@TestMetadata("jk.kt")
public void testJk() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics/jk.kt");
}
@Test
@TestMetadata("jkjk.kt")
public void testJkjk() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics/jkjk.kt");
}
@Test
@TestMetadata("kotlinMembersVsJavaNonVisibleStatics.kt")
public void testKotlinMembersVsJavaNonVisibleStatics() {
@@ -22453,12 +22453,6 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/j+k/collectionOverrides"), Pattern.compile("^(.*)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true, "multiplatform");
}
@Test
@TestMetadata("charAtAndOverload.kt")
public void testCharAtAndOverload() {
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.kt");
}
@Test
@TestMetadata("charAtAndOverloadWithoutExplicitOverride.kt")
public void testCharAtAndOverloadWithoutExplicitOverride() {
@@ -22567,12 +22561,6 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/nonDirectHiddenOverride.kt");
}
@Test
@TestMetadata("overridesBuiltinNoMagic.kt")
public void testOverridesBuiltinNoMagic() {
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/overridesBuiltinNoMagic.kt");
}
@Test
@TestMetadata("removeAt.kt")
public void testRemoveAt() {
@@ -25962,12 +25950,6 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia
runTest("compiler/testData/diagnostics/tests/overload/ConflictingOverloadsIdenticalFunsInClass.kt");
}
@Test
@TestMetadata("ConflictingOverloadsIdenticalFunsTPInClass.kt")
public void testConflictingOverloadsIdenticalFunsTPInClass() {
runTest("compiler/testData/diagnostics/tests/overload/ConflictingOverloadsIdenticalFunsTPInClass.kt");
}
@Test
@TestMetadata("ConflictingOverloadsIdenticalValsInClass.kt")
public void testConflictingOverloadsIdenticalValsInClass() {
@@ -42594,24 +42576,6 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmNames.kt");
}
@Test
@TestMetadata("jvmOverloads.kt")
public void testJvmOverloads() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmOverloads.kt");
}
@Test
@TestMetadata("jvmStaticInClassObject.kt")
public void testJvmStaticInClassObject() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmStaticInClassObject.kt");
}
@Test
@TestMetadata("jvmStaticInObject.kt")
public void testJvmStaticInObject() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmStaticInObject.kt");
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics")
@TestDataPath("$PROJECT_ROOT")
@@ -42621,24 +42585,6 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("jjk.kt")
public void testJjk() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics/jjk.kt");
}
@Test
@TestMetadata("jk.kt")
public void testJk() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics/jk.kt");
}
@Test
@TestMetadata("jkjk.kt")
public void testJkjk() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics/jkjk.kt");
}
@Test
@TestMetadata("kotlinMembersVsJavaNonVisibleStatics.kt")
public void testKotlinMembersVsJavaNonVisibleStatics() {
@@ -288,6 +288,12 @@ public class FirLightTreeDiagnosticsTestWithJvmIrBackendGenerated extends Abstra
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.kt");
}
@Test
@TestMetadata("differentTypeParameterLists.kt")
public void testDifferentTypeParameterLists() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/differentTypeParameterLists.kt");
}
@Test
@TestMetadata("extensionProperties.kt")
public void testExtensionProperties() {
@@ -538,6 +544,12 @@ public class FirLightTreeDiagnosticsTestWithJvmIrBackendGenerated extends Abstra
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/javaInterop"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("charAtAndOverload.kt")
public void testCharAtAndOverload() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/javaInterop/charAtAndOverload.kt");
}
@Test
@TestMetadata("inheritFromJavaCollectionSubclassWithContainsOverload.kt")
public void testInheritFromJavaCollectionSubclassWithContainsOverload() {
@@ -550,6 +562,12 @@ public class FirLightTreeDiagnosticsTestWithJvmIrBackendGenerated extends Abstra
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/javaInterop/kjkPropertyAndExtensionProperty.kt");
}
@Test
@TestMetadata("overridesBuiltinNoMagic.kt")
public void testOverridesBuiltinNoMagic() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/javaInterop/overridesBuiltinNoMagic.kt");
}
@Test
@TestMetadata("supertypeDifferentParameterNullability.kt")
public void testSupertypeDifferentParameterNullability() {
@@ -573,6 +591,62 @@ public class FirLightTreeDiagnosticsTestWithJvmIrBackendGenerated extends Abstra
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmOverloads")
@TestDataPath("$PROJECT_ROOT")
public class JvmOverloads {
@Test
public void testAllFilesPresentInJvmOverloads() {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmOverloads"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("jvmOverloads.kt")
public void testJvmOverloads() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmOverloads/jvmOverloads.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic")
@TestDataPath("$PROJECT_ROOT")
public class JvmStatic {
@Test
public void testAllFilesPresentInJvmStatic() {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("jjk.kt")
public void testJjk() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic/jjk.kt");
}
@Test
@TestMetadata("jk.kt")
public void testJk() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic/jk.kt");
}
@Test
@TestMetadata("jkjk.kt")
public void testJkjk() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic/jkjk.kt");
}
@Test
@TestMetadata("jvmStaticInCompanionObject.kt")
public void testJvmStaticInCompanionObject() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic/jvmStaticInCompanionObject.kt");
}
@Test
@TestMetadata("jvmStaticInObject.kt")
public void testJvmStaticInObject() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic/jvmStaticInObject.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames")
@TestDataPath("$PROJECT_ROOT")
@@ -288,6 +288,12 @@ public class FirPsiDiagnosticsTestWithJvmIrBackendGenerated extends AbstractFirP
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.kt");
}
@Test
@TestMetadata("differentTypeParameterLists.kt")
public void testDifferentTypeParameterLists() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/differentTypeParameterLists.kt");
}
@Test
@TestMetadata("extensionProperties.kt")
public void testExtensionProperties() {
@@ -538,6 +544,12 @@ public class FirPsiDiagnosticsTestWithJvmIrBackendGenerated extends AbstractFirP
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/javaInterop"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("charAtAndOverload.kt")
public void testCharAtAndOverload() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/javaInterop/charAtAndOverload.kt");
}
@Test
@TestMetadata("inheritFromJavaCollectionSubclassWithContainsOverload.kt")
public void testInheritFromJavaCollectionSubclassWithContainsOverload() {
@@ -550,6 +562,12 @@ public class FirPsiDiagnosticsTestWithJvmIrBackendGenerated extends AbstractFirP
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/javaInterop/kjkPropertyAndExtensionProperty.kt");
}
@Test
@TestMetadata("overridesBuiltinNoMagic.kt")
public void testOverridesBuiltinNoMagic() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/javaInterop/overridesBuiltinNoMagic.kt");
}
@Test
@TestMetadata("supertypeDifferentParameterNullability.kt")
public void testSupertypeDifferentParameterNullability() {
@@ -573,6 +591,62 @@ public class FirPsiDiagnosticsTestWithJvmIrBackendGenerated extends AbstractFirP
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmOverloads")
@TestDataPath("$PROJECT_ROOT")
public class JvmOverloads {
@Test
public void testAllFilesPresentInJvmOverloads() {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmOverloads"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("jvmOverloads.kt")
public void testJvmOverloads() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmOverloads/jvmOverloads.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic")
@TestDataPath("$PROJECT_ROOT")
public class JvmStatic {
@Test
public void testAllFilesPresentInJvmStatic() {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("jjk.kt")
public void testJjk() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic/jjk.kt");
}
@Test
@TestMetadata("jk.kt")
public void testJk() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic/jk.kt");
}
@Test
@TestMetadata("jkjk.kt")
public void testJkjk() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic/jkjk.kt");
}
@Test
@TestMetadata("jvmStaticInCompanionObject.kt")
public void testJvmStaticInCompanionObject() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic/jvmStaticInCompanionObject.kt");
}
@Test
@TestMetadata("jvmStaticInObject.kt")
public void testJvmStaticInObject() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic/jvmStaticInObject.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames")
@TestDataPath("$PROJECT_ROOT")
@@ -1,2 +0,0 @@
/main.kt:(78,81): error: This function accidentally overrides both 'public open operator fun /A.get(index: kotlin/Int): kotlin/Char' and a renamed function 'public open fun /A.charAt(index: kotlin/Int): kotlin/Char' from JVM point of view because of mixed Java/Kotlin hierarchy.
This situation provokes a JVM clash and thus is forbidden. To fix it, you have to delete either this function or one of overridden functions.
@@ -1,99 +0,0 @@
package
public fun main(): kotlin.Unit
public open class X : kotlin.collections.MutableList<kotlin.String!> {
public constructor X()
@get:java.lang.Override public open override /*1*/ val size: kotlin.Int
@java.lang.Override public open override /*1*/ fun add(/*0*/ index: kotlin.Int, /*1*/ element: kotlin.String!): kotlin.Unit
@java.lang.Override public open override /*1*/ fun add(/*0*/ element: kotlin.String!): kotlin.Boolean
@java.lang.Override public open override /*1*/ fun addAll(/*0*/ index: kotlin.Int, /*1*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
@java.lang.Override public open override /*1*/ fun addAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
@java.lang.Override public open override /*1*/ fun clear(): kotlin.Unit
@java.lang.Override public open override /*1*/ /*isHiddenToOvercomeSignatureClash*/ fun contains(/*0*/ o: kotlin.String!): kotlin.Boolean
public open operator fun contains(/*0*/ element: kotlin.String!): kotlin.Boolean
@java.lang.Override public open override /*1*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@java.lang.Override public open override /*1*/ fun get(/*0*/ index: kotlin.Int): kotlin.String!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@java.lang.Override public open override /*1*/ fun indexOf(/*0*/ o: kotlin.String!): kotlin.Int
@java.lang.Override public open override /*1*/ fun isEmpty(): kotlin.Boolean
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ fun iterator(): kotlin.collections.MutableIterator<kotlin.String!>
@java.lang.Override public open override /*1*/ fun lastIndexOf(/*0*/ o: kotlin.String!): kotlin.Int
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ fun listIterator(): kotlin.collections.MutableListIterator<kotlin.String!>
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.MutableListIterator<kotlin.String!>
@java.lang.Override public open override /*1*/ fun remove(/*0*/ o: kotlin.String!): kotlin.Boolean
@java.lang.Override public open override /*1*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*isHiddenToOvercomeSignatureClash*/ fun removeAt(/*0*/ index: kotlin.Int): kotlin.String!
public open fun removeAt(/*0*/ index: kotlin.Int): kotlin.String!
@java.lang.Override public open override /*1*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
@java.lang.Override public open override /*1*/ fun set(/*0*/ index: kotlin.Int, /*1*/ element: kotlin.String!): kotlin.String!
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.MutableList<kotlin.String!>
@org.jetbrains.annotations.NotNull @java.lang.Override public open fun toArray(): kotlin.Array<(out) kotlin.Any!>
@org.jetbrains.annotations.NotNull @java.lang.Override public open fun </*0*/ T : kotlin.Any!> toArray(/*0*/ a: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Y : X {
public constructor Y()
@get:java.lang.Override public open override /*1*/ /*fake_override*/ val size: kotlin.Int
@java.lang.Override public open override /*1*/ /*fake_override*/ fun add(/*0*/ index: kotlin.Int, /*1*/ element: kotlin.String!): kotlin.Unit
@java.lang.Override public open override /*1*/ /*fake_override*/ fun add(/*0*/ element: kotlin.String!): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*fake_override*/ fun addAll(/*0*/ index: kotlin.Int, /*1*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*fake_override*/ fun addAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
@java.lang.Override public open override /*1*/ /*fake_override*/ /*isHiddenToOvercomeSignatureClash*/ fun contains(/*0*/ o: kotlin.String!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ element: kotlin.String!): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): kotlin.String!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@java.lang.Override public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ o: kotlin.String!): kotlin.Int
@java.lang.Override public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.MutableIterator<kotlin.String!>
@java.lang.Override public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ o: kotlin.String!): kotlin.Int
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ /*fake_override*/ fun listIterator(): kotlin.collections.MutableListIterator<kotlin.String!>
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ /*fake_override*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.MutableListIterator<kotlin.String!>
@java.lang.Override public open override /*1*/ /*fake_override*/ fun remove(/*0*/ o: kotlin.String!): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*fake_override*/ /*isHiddenToOvercomeSignatureClash*/ fun removeAt(/*0*/ index: kotlin.Int): kotlin.String!
public open override /*1*/ /*fake_override*/ fun removeAt(/*0*/ index: kotlin.Int): kotlin.String!
@java.lang.Override public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*fake_override*/ fun set(/*0*/ index: kotlin.Int, /*1*/ element: kotlin.String!): kotlin.String!
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.MutableList<kotlin.String!>
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ a: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Y2 : X {
public constructor Y2()
@get:java.lang.Override public open override /*1*/ /*fake_override*/ val size: kotlin.Int
@java.lang.Override public open override /*1*/ /*fake_override*/ fun add(/*0*/ index: kotlin.Int, /*1*/ element: kotlin.String!): kotlin.Unit
@java.lang.Override public open override /*1*/ /*fake_override*/ fun add(/*0*/ element: kotlin.String!): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*fake_override*/ fun addAll(/*0*/ index: kotlin.Int, /*1*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*fake_override*/ fun addAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
@java.lang.Override public open override /*1*/ /*fake_override*/ /*isHiddenToOvercomeSignatureClash*/ fun contains(/*0*/ o: kotlin.String!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ element: kotlin.String!): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): kotlin.String!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@java.lang.Override public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ o: kotlin.String!): kotlin.Int
@java.lang.Override public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.MutableIterator<kotlin.String!>
@java.lang.Override public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ o: kotlin.String!): kotlin.Int
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ /*fake_override*/ fun listIterator(): kotlin.collections.MutableListIterator<kotlin.String!>
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ /*fake_override*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.MutableListIterator<kotlin.String!>
@java.lang.Override public open override /*1*/ /*fake_override*/ fun remove(/*0*/ o: kotlin.String!): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
public open override /*1*/ fun removeAt(/*0*/ index: kotlin.Int): kotlin.String
@java.lang.Override public open override /*1*/ /*fake_override*/ /*isHiddenToOvercomeSignatureClash*/ fun removeAt(/*0*/ index: kotlin.Int): kotlin.String!
@java.lang.Override public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String!>): kotlin.Boolean
@java.lang.Override public open override /*1*/ /*fake_override*/ fun set(/*0*/ index: kotlin.Int, /*1*/ element: kotlin.String!): kotlin.String!
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.MutableList<kotlin.String!>
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>
@org.jetbrains.annotations.NotNull @java.lang.Override public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ a: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,4 +0,0 @@
class Aaa() {
fun f() = 1
fun <P> f() = 1
}
@@ -1,4 +0,0 @@
class Aaa() {
<!CONFLICTING_JVM_DECLARATIONS!>fun f()<!> = 1
<!CONFLICTING_JVM_DECLARATIONS!>fun <P> f()<!> = 1
}
@@ -1,10 +0,0 @@
package
public final class Aaa {
public constructor Aaa()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun f(): kotlin.Int
public final fun </*0*/ P> f(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,6 @@
// FIR_IDENTICAL
class Aaa() {
<!CONFLICTING_JVM_DECLARATIONS!>fun f() = 1<!>
<!CONFLICTING_JVM_DECLARATIONS!>fun <P> f() = 1<!>
}
@@ -0,0 +1,3 @@
/main.kt:21:14: error: Accidental override: The following declarations have the same JVM signature (get(I)C):
fun get(index: Int): Char defined in KA
fun get(index: Int): Char defined in KA
@@ -0,0 +1,2 @@
/main.kt:21:18: error: This function accidentally overrides both 'public open operator fun /A.get(index: kotlin/Int): kotlin/Char' and a renamed function 'public open fun /A.charAt(index: kotlin/Int): kotlin/Char' from JVM point of view because of mixed Java/Kotlin hierarchy.
This situation provokes a JVM clash and thus is forbidden. To fix it, you have to delete either this function or one of overridden functions.
@@ -1,5 +1,5 @@
// SCOPE_DUMP: KA:get
// RENDER_DIAGNOSTICS_FULL_TEXT
// RENDER_ALL_DIAGNOSTICS_FULL_TEXT
// FILE: A.java
abstract public class A implements CharSequence {
@@ -1,5 +1,5 @@
// SCOPE_DUMP: KA:get
// RENDER_DIAGNOSTICS_FULL_TEXT
// RENDER_ALL_DIAGNOSTICS_FULL_TEXT
// FILE: A.java
abstract public class A implements CharSequence {
@@ -17,8 +17,8 @@ abstract public class A implements CharSequence {
}
// FILE: main.kt
abstract class <!CONFLICTING_JVM_DECLARATIONS!>KA<!> : A() {
<!CONFLICTING_JVM_DECLARATIONS!>override fun get(index: Int)<!> = 'O'
abstract class KA : A() {
override <!ACCIDENTAL_OVERRIDE!>fun get(index: Int) = 'O'<!>
}
fun foo(a: A, ka: KA) {
@@ -145,8 +145,8 @@ public class X implements java.util.List<String> {
// FILE: main.kt
class Y : X()
class <!CONFLICTING_JVM_DECLARATIONS!>Y2<!> : X() {
<!CONFLICTING_JVM_DECLARATIONS!>override fun removeAt(index: Int)<!> = ""
class Y2 : X() {
override <!ACCIDENTAL_OVERRIDE!>fun removeAt(index: Int) = ""<!>
}
fun main() {
@@ -1,8 +1,10 @@
// WITH_STDLIB
// !DIAGNOSTICS: -UNUSED_PARAMETER
class A {
<!CONFLICTING_JVM_DECLARATIONS!>@kotlin.jvm.JvmOverloads fun foo(s: String = "")<!> {
}
<!CONFLICTING_JVM_DECLARATIONS!>fun foo()<!> {
}
}
class A {
<!CONFLICTING_JVM_DECLARATIONS!>@kotlin.jvm.JvmOverloads fun foo(s: String = "") {
}<!>
<!CONFLICTING_JVM_DECLARATIONS!>fun foo() {
}<!>
}
@@ -0,0 +1,10 @@
// WITH_STDLIB
// !DIAGNOSTICS: -UNUSED_PARAMETER
class A {
@kotlin.jvm.JvmOverloads <!CONFLICTING_JVM_DECLARATIONS!>fun foo(s: String = "") {
}<!>
<!CONFLICTING_JVM_DECLARATIONS!>fun foo() {
}<!>
}
@@ -1,3 +1,4 @@
// WITH_STDLIB
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: A.java
@@ -18,11 +19,11 @@ public class B extends A {
open class K : B() {
companion object {
<!ACCIDENTAL_OVERRIDE!>@JvmStatic
fun foo()<!> {}
fun foo() {}<!>
@JvmStatic
fun foo(a: Any) {}
<!ACCIDENTAL_OVERRIDE!>@JvmStatic
fun bar(i: Int)<!> {}
fun bar(i: Int) {}<!>
@JvmStatic
fun bar(i: String) {}
@JvmStatic
@@ -1,3 +1,4 @@
// WITH_STDLIB
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: A.java
@@ -18,11 +19,11 @@ public class B extends A {
open class K : B() {
companion object {
@JvmStatic
fun foo() {}
<!ACCIDENTAL_OVERRIDE!>fun foo() {}<!>
@JvmStatic
fun foo(a: Any) {}
@JvmStatic
fun bar(i: Int) {}
<!ACCIDENTAL_OVERRIDE!>fun bar(i: Int) {}<!>
@JvmStatic
fun bar(i: String) {}
@JvmStatic
@@ -1,3 +1,4 @@
// WITH_STDLIB
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: A.java
@@ -11,8 +12,8 @@ public class A {
open class K : A() {
companion object {
@JvmStatic
fun foo() {}
<!ACCIDENTAL_OVERRIDE!>@JvmStatic
fun foo() {}<!>
@JvmStatic
fun foo(i: Int) {}
@JvmStatic
@@ -1,3 +1,4 @@
// WITH_STDLIB
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: A.java
@@ -11,8 +12,8 @@ public class A {
open class K : A() {
companion object {
<!ACCIDENTAL_OVERRIDE!>@JvmStatic
fun foo()<!> {}
@JvmStatic
<!ACCIDENTAL_OVERRIDE!>fun foo() {}<!>
@JvmStatic
fun foo(i: Int) {}
@JvmStatic
@@ -1,3 +1,4 @@
// WITH_STDLIB
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: A.java
@@ -22,12 +23,12 @@ public class C extends B {
open class K : C() {
companion object {
@JvmStatic
fun foo() {}
<!ACCIDENTAL_OVERRIDE!>@JvmStatic
fun foo() {}<!>
@JvmStatic
fun foo(a: Any) {}
@JvmStatic
fun bar(i: Int) {}
<!ACCIDENTAL_OVERRIDE!>@JvmStatic
fun bar(i: Int) {}<!>
@JvmStatic
fun bar(i: String) {}
@JvmStatic
@@ -1,3 +1,4 @@
// WITH_STDLIB
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: A.java
@@ -22,12 +23,12 @@ public class C extends B {
open class K : C() {
companion object {
<!ACCIDENTAL_OVERRIDE!>@JvmStatic
fun foo()<!> {}
@JvmStatic
<!ACCIDENTAL_OVERRIDE!>fun foo() {}<!>
@JvmStatic
fun foo(a: Any) {}
<!ACCIDENTAL_OVERRIDE!>@JvmStatic
fun bar(i: Int)<!> {}
@JvmStatic
<!ACCIDENTAL_OVERRIDE!>fun bar(i: Int) {}<!>
@JvmStatic
fun bar(i: String) {}
@JvmStatic
@@ -1,9 +1,11 @@
// WITH_STDLIB
open class Base {
fun foo() {}
}
class Derived : Base() {
companion object {
<!ACCIDENTAL_OVERRIDE!>@JvmStatic fun foo()<!> {}
<!ACCIDENTAL_OVERRIDE!>@JvmStatic fun foo() {}<!>
}
}
@@ -1,9 +1,11 @@
// WITH_STDLIB
open class Base {
fun foo() {}
}
class Derived : Base() {
companion object {
@JvmStatic fun foo() {}
@JvmStatic <!ACCIDENTAL_OVERRIDE!>fun foo() {}<!>
}
}
@@ -1,8 +1,10 @@
// WITH_STDLIB
// !DIAGNOSTICS: -UNUSED_PARAMETER
open class Base {
fun `foo$default`(i: Int, mask: Int, mh: Any) {}
}
object Derived : Base() {
@JvmStatic fun foo(i: Int = 0) {}
<!ACCIDENTAL_OVERRIDE!>@JvmStatic fun foo(i: Int = 0) {}<!>
}
@@ -1,8 +1,10 @@
// WITH_STDLIB
// !DIAGNOSTICS: -UNUSED_PARAMETER
open class Base {
fun `foo$default`(i: Int, mask: Int, mh: Any) {}
}
object Derived : Base() {
<!ACCIDENTAL_OVERRIDE!>@JvmStatic fun foo(i: Int = 0)<!> {}
@JvmStatic <!ACCIDENTAL_OVERRIDE!>fun foo(i: Int = 0) {}<!>
}
@@ -1,8 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
class A {
@kotlin.jvm.JvmOverloads fun foo(s: String = "") {
}
fun foo() {
}
}
@@ -1,10 +0,0 @@
package
public final class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
@kotlin.jvm.JvmOverloads public final fun foo(/*0*/ s: kotlin.String = ...): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,25 +0,0 @@
package
public open class Base {
public constructor Base()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Derived : Base {
public constructor Derived()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final override /*1*/ /*fake_override*/ fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public companion object Companion {
private constructor Companion()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.jvm.JvmStatic public final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -1,18 +0,0 @@
package
public open class Base {
public constructor Base()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun `foo$default`(/*0*/ i: kotlin.Int, /*1*/ mask: kotlin.Int, /*2*/ mh: kotlin.Any): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public object Derived : Base {
private constructor Derived()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.jvm.JvmStatic public final fun foo(/*0*/ i: kotlin.Int = ...): kotlin.Unit
public final override /*1*/ /*fake_override*/ fun `foo$default`(/*0*/ i: kotlin.Int, /*1*/ mask: kotlin.Int, /*2*/ mh: kotlin.Any): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,43 +0,0 @@
package
public open class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public open fun baz(/*0*/ s: kotlin.String!): kotlin.Unit
public open fun foo(): kotlin.Unit
}
public open class B : A {
public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public open fun bar(/*0*/ i: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun baz(/*0*/ s: kotlin.String!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun foo(): kotlin.Unit
}
public open class K : B {
public constructor K()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public companion object Companion {
private constructor Companion()
@kotlin.jvm.JvmStatic public final fun bar(/*0*/ i: kotlin.Int): kotlin.Unit
@kotlin.jvm.JvmStatic public final fun bar(/*0*/ i: kotlin.String): kotlin.Unit
@kotlin.jvm.JvmStatic public final fun baz(/*0*/ i: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.jvm.JvmStatic public final fun foo(): kotlin.Unit
@kotlin.jvm.JvmStatic public final fun foo(/*0*/ a: kotlin.Any): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -1,29 +0,0 @@
package
public open class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public open fun baz(/*0*/ s: kotlin.String!): kotlin.Unit
public open fun foo(): kotlin.Unit
}
public open class K : A {
public constructor K()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public companion object Companion {
private constructor Companion()
@kotlin.jvm.JvmStatic public final fun baz(/*0*/ i: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.jvm.JvmStatic public final fun foo(): kotlin.Unit
@kotlin.jvm.JvmStatic public final fun foo(/*0*/ i: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -1,50 +0,0 @@
package
public open class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public open fun baz(/*0*/ s: kotlin.String!): kotlin.Unit
public open fun foo(): kotlin.Unit
}
public open class B : A {
public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class C : B {
public constructor C()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public open fun bar(/*0*/ i: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun baz(/*0*/ s: kotlin.String!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun foo(): kotlin.Unit
}
public open class K : C {
public constructor K()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public companion object Companion {
private constructor Companion()
@kotlin.jvm.JvmStatic public final fun bar(/*0*/ i: kotlin.Int): kotlin.Unit
@kotlin.jvm.JvmStatic public final fun bar(/*0*/ i: kotlin.String): kotlin.Unit
@kotlin.jvm.JvmStatic public final fun baz(/*0*/ i: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.jvm.JvmStatic public final fun foo(): kotlin.Unit
@kotlin.jvm.JvmStatic public final fun foo(/*0*/ a: kotlin.Any): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -22453,12 +22453,6 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/j+k/collectionOverrides"), Pattern.compile("^(.*)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("charAtAndOverload.kt")
public void testCharAtAndOverload() {
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.kt");
}
@Test
@TestMetadata("charAtAndOverloadWithoutExplicitOverride.kt")
public void testCharAtAndOverloadWithoutExplicitOverride() {
@@ -22567,12 +22561,6 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/nonDirectHiddenOverride.kt");
}
@Test
@TestMetadata("overridesBuiltinNoMagic.kt")
public void testOverridesBuiltinNoMagic() {
runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/overridesBuiltinNoMagic.kt");
}
@Test
@TestMetadata("removeAt.kt")
public void testRemoveAt() {
@@ -28258,12 +28246,6 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
runTest("compiler/testData/diagnostics/tests/overload/ConflictingOverloadsIdenticalFunsInClass.kt");
}
@Test
@TestMetadata("ConflictingOverloadsIdenticalFunsTPInClass.kt")
public void testConflictingOverloadsIdenticalFunsTPInClass() {
runTest("compiler/testData/diagnostics/tests/overload/ConflictingOverloadsIdenticalFunsTPInClass.kt");
}
@Test
@TestMetadata("ConflictingOverloadsIdenticalValsInClass.kt")
public void testConflictingOverloadsIdenticalValsInClass() {
@@ -44890,24 +44872,6 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmNames.kt");
}
@Test
@TestMetadata("jvmOverloads.kt")
public void testJvmOverloads() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmOverloads.kt");
}
@Test
@TestMetadata("jvmStaticInClassObject.kt")
public void testJvmStaticInClassObject() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmStaticInClassObject.kt");
}
@Test
@TestMetadata("jvmStaticInObject.kt")
public void testJvmStaticInObject() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmStaticInObject.kt");
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics")
@TestDataPath("$PROJECT_ROOT")
@@ -44917,24 +44881,6 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("jjk.kt")
public void testJjk() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics/jjk.kt");
}
@Test
@TestMetadata("jk.kt")
public void testJk() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics/jk.kt");
}
@Test
@TestMetadata("jkjk.kt")
public void testJkjk() {
runTest("compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/statics/jkjk.kt");
}
@Test
@TestMetadata("kotlinMembersVsJavaNonVisibleStatics.kt")
public void testKotlinMembersVsJavaNonVisibleStatics() {
@@ -289,6 +289,12 @@ public class DiagnosticsTestWithJvmIrBackendGenerated extends AbstractDiagnostic
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.kt");
}
@Test
@TestMetadata("differentTypeParameterLists.kt")
public void testDifferentTypeParameterLists() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/differentTypeParameterLists.kt");
}
@Test
@TestMetadata("extensionProperties.kt")
public void testExtensionProperties() {
@@ -539,6 +545,12 @@ public class DiagnosticsTestWithJvmIrBackendGenerated extends AbstractDiagnostic
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/javaInterop"), Pattern.compile("^(.+)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("charAtAndOverload.kt")
public void testCharAtAndOverload() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/javaInterop/charAtAndOverload.kt");
}
@Test
@TestMetadata("inheritFromJavaCollectionSubclassWithContainsOverload.kt")
public void testInheritFromJavaCollectionSubclassWithContainsOverload() {
@@ -551,6 +563,12 @@ public class DiagnosticsTestWithJvmIrBackendGenerated extends AbstractDiagnostic
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/javaInterop/kjkPropertyAndExtensionProperty.kt");
}
@Test
@TestMetadata("overridesBuiltinNoMagic.kt")
public void testOverridesBuiltinNoMagic() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/javaInterop/overridesBuiltinNoMagic.kt");
}
@Test
@TestMetadata("supertypeDifferentParameterNullability.kt")
public void testSupertypeDifferentParameterNullability() {
@@ -574,6 +592,62 @@ public class DiagnosticsTestWithJvmIrBackendGenerated extends AbstractDiagnostic
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmOverloads")
@TestDataPath("$PROJECT_ROOT")
public class JvmOverloads {
@Test
public void testAllFilesPresentInJvmOverloads() {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmOverloads"), Pattern.compile("^(.+)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("jvmOverloads.kt")
public void testJvmOverloads() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmOverloads/jvmOverloads.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic")
@TestDataPath("$PROJECT_ROOT")
public class JvmStatic {
@Test
public void testAllFilesPresentInJvmStatic() {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic"), Pattern.compile("^(.+)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("jjk.kt")
public void testJjk() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic/jjk.kt");
}
@Test
@TestMetadata("jk.kt")
public void testJk() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic/jk.kt");
}
@Test
@TestMetadata("jkjk.kt")
public void testJkjk() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic/jkjk.kt");
}
@Test
@TestMetadata("jvmStaticInCompanionObject.kt")
public void testJvmStaticInCompanionObject() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic/jvmStaticInCompanionObject.kt");
}
@Test
@TestMetadata("jvmStaticInObject.kt")
public void testJvmStaticInObject() {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/jvmStatic/jvmStaticInObject.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames")
@TestDataPath("$PROJECT_ROOT")
@@ -22,13 +22,13 @@ import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2IrConverter
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFacade
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendOutputArtifact
import org.jetbrains.kotlin.test.frontend.classic.handlers.ClassicDiagnosticsHandler
import org.jetbrains.kotlin.test.frontend.classic.handlers.DeclarationsDumpHandler
import org.jetbrains.kotlin.test.frontend.classic.handlers.FirTestDataConsistencyHandler
import org.jetbrains.kotlin.test.frontend.classic.handlers.OldNewInferenceMetaInfoProcessor
import org.jetbrains.kotlin.test.frontend.fir.Fir2IrJvmResultsConverter
import org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade
import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirDiagnosticsHandler
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirScopeDumpHandler
import org.jetbrains.kotlin.test.frontend.fir.handlers.PsiLightTreeMetaInfoProcessor
import org.jetbrains.kotlin.test.model.*
import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator
@@ -80,7 +80,10 @@ abstract class AbstractDiagnosticsTestWithJvmBackend<R : ResultingArtifact.Front
} else {
useMetaInfoProcessors(::PsiLightTreeMetaInfoProcessor)
firHandlersStep {
useHandlers(::FirDiagnosticsHandler)
useHandlers(
::FirDiagnosticsHandler,
::FirScopeDumpHandler,
)
}
}