IR: do not build fake overrides for static members of interfaces
Split members into static/non-static, and only build fake overrides for inherited static members of classes. #KT-65276 Fixed #KT-65277 Fixed
This commit is contained in:
committed by
Space Team
parent
b28339e8bc
commit
d450e3074b
+23
@@ -26718,6 +26718,29 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
||||
runTest("compiler/testData/codegen/box/javaInterop/primitiveVsWrapperTypeInInheritance/nullableInt.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/box/javaInterop/statics")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class Statics extends AbstractLightAnalysisModeTest {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInStatics() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/javaInterop/statics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
}
|
||||
|
||||
@TestMetadata("inheritTwoStaticMethods.kt")
|
||||
public void testInheritTwoStaticMethods() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideInstanceMethodWithIrrelevantStatic.kt")
|
||||
public void testOverrideInstanceMethodWithIrrelevantStatic() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/javaInterop/statics/overrideInstanceMethodWithIrrelevantStatic.kt");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/box/javaVisibility")
|
||||
|
||||
Reference in New Issue
Block a user