[FIR] Add regression test for KT-44392

Also related to KT-56615
This commit is contained in:
Dmitriy Novozhilov
2023-02-13 12:45:58 +02:00
committed by Space Team
parent 197f19c627
commit 019d7db737
6 changed files with 86 additions and 0 deletions
@@ -1338,6 +1338,22 @@ public class DiagnosisCompilerFirTestdataTestGenerated extends AbstractDiagnosis
}
}
@Nested
@TestMetadata("compiler/fir/analysis-tests/testData/resolve/checkers")
@TestDataPath("$PROJECT_ROOT")
public class Checkers {
@Test
public void testAllFilesPresentInCheckers() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/checkers"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
}
@Test
@TestMetadata("redundantNullCheckOnAsCast.kt")
public void testRedundantNullCheckOnAsCast() throws Exception {
runTest("compiler/fir/analysis-tests/testData/resolve/checkers/redundantNullCheckOnAsCast.kt");
}
}
@Nested
@TestMetadata("compiler/fir/analysis-tests/testData/resolve/constVal")
@TestDataPath("$PROJECT_ROOT")
@@ -1155,6 +1155,24 @@ public class LazyBodyIsNotTouchedTilContractsPhaseTestGenerated extends Abstract
}
}
@TestMetadata("compiler/fir/analysis-tests/testData/resolve/checkers")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class Checkers extends AbstractLazyBodyIsNotTouchedTilContractsPhaseTest {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
}
public void testAllFilesPresentInCheckers() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/checkers"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
}
@TestMetadata("redundantNullCheckOnAsCast.kt")
public void testRedundantNullCheckOnAsCast() throws Exception {
runTest("compiler/fir/analysis-tests/testData/resolve/checkers/redundantNullCheckOnAsCast.kt");
}
}
@TestMetadata("compiler/fir/analysis-tests/testData/resolve/constVal")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@@ -0,0 +1,9 @@
FILE: redundantNullCheckOnAsCast.kt
public final fun test_1(a: R|kotlin/Any?|): R|kotlin/Unit| {
(R|<local>/a| as R|kotlin/String?|)!!
(R|<local>/a| as? R|kotlin/String|)!!
}
public final fun test_2(a: R|kotlin/Any?|): R|kotlin/Unit| {
(R|<local>/a| as R|kotlin/String?|)!!
R|<local>/a|!!
}
@@ -0,0 +1,11 @@
// ISSUE: KT-44392, KT-56615
fun test_1(a: Any?) {
(a as String?)!!
(a as? String)!!
}
fun test_2(a: Any?) {
(a as String?)!!
a<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>
}
@@ -1338,6 +1338,22 @@ public class FirDiagnosticTestGenerated extends AbstractFirDiagnosticTest {
}
}
@Nested
@TestMetadata("compiler/fir/analysis-tests/testData/resolve/checkers")
@TestDataPath("$PROJECT_ROOT")
public class Checkers {
@Test
public void testAllFilesPresentInCheckers() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/checkers"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
}
@Test
@TestMetadata("redundantNullCheckOnAsCast.kt")
public void testRedundantNullCheckOnAsCast() throws Exception {
runTest("compiler/fir/analysis-tests/testData/resolve/checkers/redundantNullCheckOnAsCast.kt");
}
}
@Nested
@TestMetadata("compiler/fir/analysis-tests/testData/resolve/constVal")
@TestDataPath("$PROJECT_ROOT")
@@ -1338,6 +1338,22 @@ public class FirDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnos
}
}
@Nested
@TestMetadata("compiler/fir/analysis-tests/testData/resolve/checkers")
@TestDataPath("$PROJECT_ROOT")
public class Checkers {
@Test
public void testAllFilesPresentInCheckers() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/checkers"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
}
@Test
@TestMetadata("redundantNullCheckOnAsCast.kt")
public void testRedundantNullCheckOnAsCast() throws Exception {
runTest("compiler/fir/analysis-tests/testData/resolve/checkers/redundantNullCheckOnAsCast.kt");
}
}
@Nested
@TestMetadata("compiler/fir/analysis-tests/testData/resolve/constVal")
@TestDataPath("$PROJECT_ROOT")