[FIR] Add regression test for KT-44392
Also related to KT-56615
This commit is contained in:
committed by
Space Team
parent
197f19c627
commit
019d7db737
+16
@@ -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")
|
||||
|
||||
+18
@@ -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)
|
||||
|
||||
+9
@@ -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|!!
|
||||
}
|
||||
+11
@@ -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!>!!<!>
|
||||
}
|
||||
+16
@@ -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")
|
||||
|
||||
+16
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user