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);
|
||||
}
|
||||
|
||||
@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")
|
||||
public void testIfVarIs() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/variables/ifVarIs.kt");
|
||||
|
||||
Reference in New Issue
Block a user