[Tests] Add tests on smartcasts on static Java fields
Current behavior for different modules is undesired, will be fixed in the next commit ^KT-58279
This commit is contained in:
committed by
Space Team
parent
008d670469
commit
6661a66fc3
+12
@@ -36933,6 +36933,18 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
|
|||||||
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/reassignedInRhs.kt");
|
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/reassignedInRhs.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("staticJavaFieldFromOtherModule.kt")
|
||||||
|
public void testStaticJavaFieldFromOtherModule() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/staticJavaFieldFromOtherModule.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("staticJavaFieldFromSameModule.kt")
|
||||||
|
public void testStaticJavaFieldFromSameModule() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/staticJavaFieldFromSameModule.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("varAsUse.kt")
|
@TestMetadata("varAsUse.kt")
|
||||||
public void testVarAsUse() throws Exception {
|
public void testVarAsUse() throws Exception {
|
||||||
|
|||||||
+12
@@ -36933,6 +36933,18 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
|
|||||||
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/reassignedInRhs.kt");
|
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/reassignedInRhs.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("staticJavaFieldFromOtherModule.kt")
|
||||||
|
public void testStaticJavaFieldFromOtherModule() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/staticJavaFieldFromOtherModule.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("staticJavaFieldFromSameModule.kt")
|
||||||
|
public void testStaticJavaFieldFromSameModule() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/staticJavaFieldFromSameModule.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("varAsUse.kt")
|
@TestMetadata("varAsUse.kt")
|
||||||
public void testVarAsUse() throws Exception {
|
public void testVarAsUse() throws Exception {
|
||||||
|
|||||||
+12
@@ -34577,6 +34577,18 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir
|
|||||||
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/reassignedInRhs.kt");
|
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/reassignedInRhs.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("staticJavaFieldFromOtherModule.kt")
|
||||||
|
public void testStaticJavaFieldFromOtherModule() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/staticJavaFieldFromOtherModule.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("staticJavaFieldFromSameModule.kt")
|
||||||
|
public void testStaticJavaFieldFromSameModule() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/staticJavaFieldFromSameModule.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("varAsUse.kt")
|
@TestMetadata("varAsUse.kt")
|
||||||
public void testVarAsUse() throws Exception {
|
public void testVarAsUse() throws Exception {
|
||||||
|
|||||||
+12
@@ -34703,6 +34703,18 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia
|
|||||||
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/reassignedInRhs.kt");
|
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/reassignedInRhs.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("staticJavaFieldFromOtherModule.kt")
|
||||||
|
public void testStaticJavaFieldFromOtherModule() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/staticJavaFieldFromOtherModule.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("staticJavaFieldFromSameModule.kt")
|
||||||
|
public void testStaticJavaFieldFromSameModule() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/staticJavaFieldFromSameModule.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("varAsUse.kt")
|
@TestMetadata("varAsUse.kt")
|
||||||
public void testVarAsUse() throws Exception {
|
public void testVarAsUse() throws Exception {
|
||||||
|
|||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
// FIR_IDENTICAL
|
||||||
|
// SKIP_TXT
|
||||||
|
|
||||||
|
// MODULE: lib
|
||||||
|
// FILE: J.java
|
||||||
|
public class J {
|
||||||
|
public static final Object staticFinalJava = "";
|
||||||
|
public static Object staticNonFinalJava = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// MODULE: app(lib)
|
||||||
|
fun isCast() {
|
||||||
|
if (J.staticFinalJava is String) {
|
||||||
|
J.staticFinalJava.length
|
||||||
|
(J.staticFinalJava <!USELESS_CAST!>as String<!>).length
|
||||||
|
}
|
||||||
|
|
||||||
|
if (J.staticNonFinalJava is String) {
|
||||||
|
<!SMARTCAST_IMPOSSIBLE!>J.staticNonFinalJava<!>.length
|
||||||
|
(J.staticFinalJava as String).length
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun asCast() {
|
||||||
|
J.staticFinalJava as String
|
||||||
|
J.staticFinalJava.length
|
||||||
|
|
||||||
|
J.staticNonFinalJava as String
|
||||||
|
<!SMARTCAST_IMPOSSIBLE!>J.staticNonFinalJava<!>.length
|
||||||
|
}
|
||||||
Vendored
+28
@@ -0,0 +1,28 @@
|
|||||||
|
// SKIP_TXT
|
||||||
|
|
||||||
|
// FILE: J.java
|
||||||
|
public class J {
|
||||||
|
public static final Object staticFinalJava = "";
|
||||||
|
public static Object staticNonFinalJava = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: Test.kt
|
||||||
|
fun isCast() {
|
||||||
|
if (J.staticFinalJava is String) {
|
||||||
|
J.staticFinalJava.length
|
||||||
|
(J.staticFinalJava <!USELESS_CAST!>as String<!>).length
|
||||||
|
}
|
||||||
|
|
||||||
|
if (J.staticNonFinalJava is String) {
|
||||||
|
<!SMARTCAST_IMPOSSIBLE!>J.staticNonFinalJava<!>.length
|
||||||
|
(J.staticFinalJava as String).length
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun asCast() {
|
||||||
|
J.staticFinalJava as String
|
||||||
|
J.staticFinalJava.length
|
||||||
|
|
||||||
|
J.staticNonFinalJava as String
|
||||||
|
<!SMARTCAST_IMPOSSIBLE!>J.staticNonFinalJava<!>.length
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
// SKIP_TXT
|
||||||
|
|
||||||
|
// FILE: J.java
|
||||||
|
public class J {
|
||||||
|
public static final Object staticFinalJava = "";
|
||||||
|
public static Object staticNonFinalJava = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: Test.kt
|
||||||
|
fun isCast() {
|
||||||
|
if (J.staticFinalJava is String) {
|
||||||
|
<!DEBUG_INFO_SMARTCAST!>J.staticFinalJava<!>.length
|
||||||
|
(J.staticFinalJava <!USELESS_CAST!>as String<!>).length
|
||||||
|
}
|
||||||
|
|
||||||
|
if (J.staticNonFinalJava is String) {
|
||||||
|
<!SMARTCAST_IMPOSSIBLE!>J.staticNonFinalJava<!>.length
|
||||||
|
(J.staticFinalJava as String).length
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun asCast() {
|
||||||
|
J.staticFinalJava as String
|
||||||
|
<!DEBUG_INFO_SMARTCAST!>J.staticFinalJava<!>.length
|
||||||
|
|
||||||
|
J.staticNonFinalJava as String
|
||||||
|
<!SMARTCAST_IMPOSSIBLE!>J.staticNonFinalJava<!>.length
|
||||||
|
}
|
||||||
Generated
+12
@@ -36933,6 +36933,18 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
|
|||||||
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/reassignedInRhs.kt");
|
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/reassignedInRhs.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("staticJavaFieldFromOtherModule.kt")
|
||||||
|
public void testStaticJavaFieldFromOtherModule() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/staticJavaFieldFromOtherModule.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("staticJavaFieldFromSameModule.kt")
|
||||||
|
public void testStaticJavaFieldFromSameModule() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/smartCasts/variables/staticJavaFieldFromSameModule.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("varAsUse.kt")
|
@TestMetadata("varAsUse.kt")
|
||||||
public void testVarAsUse() throws Exception {
|
public void testVarAsUse() throws Exception {
|
||||||
|
|||||||
Reference in New Issue
Block a user