Implement warning when non-abstract classes containing abstract members invisible from that classes

#KT-27825 fixed
This commit is contained in:
Ilya Chernikov
2019-11-08 21:09:22 +01:00
parent eae3688c61
commit 808000e458
13 changed files with 370 additions and 2 deletions
@@ -23555,6 +23555,34 @@ public class FirDiagnosticsSmokeTestGenerated extends AbstractFirDiagnosticsSmok
}
}
@TestMetadata("compiler/testData/diagnostics/tests/visibility")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class Visibility extends AbstractFirDiagnosticsSmokeTest {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
}
@TestMetadata("abstractInvisibleMemberFromJava.kt")
public void testAbstractInvisibleMemberFromJava() throws Exception {
runTest("compiler/testData/diagnostics/tests/visibility/abstractInvisibleMemberFromJava.kt");
}
@TestMetadata("abstractInvisibleMemberFromKotlin.kt")
public void testAbstractInvisibleMemberFromKotlin() throws Exception {
runTest("compiler/testData/diagnostics/tests/visibility/abstractInvisibleMemberFromKotlin.kt");
}
@TestMetadata("abstractInvisibleMemberFromKotlinWarning.kt")
public void testAbstractInvisibleMemberFromKotlinWarning() throws Exception {
runTest("compiler/testData/diagnostics/tests/visibility/abstractInvisibleMemberFromKotlinWarning.kt");
}
public void testAllFilesPresentInVisibility() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/diagnostics/tests/visibility"), Pattern.compile("^(.+)\\.kt$"), true);
}
}
@TestMetadata("compiler/testData/diagnostics/tests/when")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)