Tests for KT-13468 / KT-13765
(cherry picked from commit 2e4c0b4)
This commit is contained in:
committed by
Mikhail Glukhikh
parent
ffc1624484
commit
86bc49558d
@@ -0,0 +1,72 @@
|
|||||||
|
// See KT-13468, KT-13765
|
||||||
|
|
||||||
|
fun basic(): String {
|
||||||
|
var current: String? = null
|
||||||
|
current = if (current == null) "bar" else current
|
||||||
|
return <!TYPE_MISMATCH!>current<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
fun foo(flag: Boolean) {
|
||||||
|
var x: String? = null
|
||||||
|
|
||||||
|
if (x == null) {
|
||||||
|
x = if (flag) "34" else "12"
|
||||||
|
}
|
||||||
|
|
||||||
|
x<!UNSAFE_CALL!>.<!>hashCode()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun bar(flag: Boolean) {
|
||||||
|
var x: String? = null
|
||||||
|
|
||||||
|
if (x == null) {
|
||||||
|
x = when {
|
||||||
|
flag -> "34"
|
||||||
|
else -> "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
x<!UNSAFE_CALL!>.<!>hashCode()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun baz(flag: Boolean) {
|
||||||
|
var x: String? = null
|
||||||
|
|
||||||
|
if (x == null) {
|
||||||
|
x = if (flag) {
|
||||||
|
"34"
|
||||||
|
} else {
|
||||||
|
"12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
x<!UNSAFE_CALL!>.<!>hashCode()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun gav(flag: Boolean, arg: String?) {
|
||||||
|
var x: String? = null
|
||||||
|
|
||||||
|
if (x == null) {
|
||||||
|
x = arg ?: if (flag) {
|
||||||
|
"34"
|
||||||
|
} else {
|
||||||
|
"12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
<!DEBUG_INFO_SMARTCAST!>x<!>.hashCode()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun gau(flag: Boolean, arg: String?) {
|
||||||
|
var x: String? = null
|
||||||
|
|
||||||
|
if (x == null) {
|
||||||
|
x = if (flag) {
|
||||||
|
arg ?: "34"
|
||||||
|
} else {
|
||||||
|
arg ?: "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
x<!UNSAFE_CALL!>.<!>hashCode()
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
public fun bar(/*0*/ flag: kotlin.Boolean): kotlin.Unit
|
||||||
|
public fun basic(): kotlin.String
|
||||||
|
public fun baz(/*0*/ flag: kotlin.Boolean): kotlin.Unit
|
||||||
|
public fun foo(/*0*/ flag: kotlin.Boolean): kotlin.Unit
|
||||||
|
public fun gau(/*0*/ flag: kotlin.Boolean, /*1*/ arg: kotlin.String?): kotlin.Unit
|
||||||
|
public fun gav(/*0*/ flag: kotlin.Boolean, /*1*/ arg: kotlin.String?): kotlin.Unit
|
||||||
@@ -20424,6 +20424,12 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ifNullAssignment.kt")
|
||||||
|
public void testIfNullAssignment() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/variables/ifNullAssignment.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("ifVarIs.kt")
|
@TestMetadata("ifVarIs.kt")
|
||||||
public void testIfVarIs() throws Exception {
|
public void testIfVarIs() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/variables/ifVarIs.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/variables/ifVarIs.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user