Files
kotlin-fork/idea/testData/checker/UnreachableCode.fir.kt
T
2021-05-20 12:22:22 +03:00

162 lines
2.0 KiB
Kotlin
Vendored

fun t1() : Int{
return 0
1
}
fun t1a() : Int {
<error descr="[RETURN_TYPE_MISMATCH] Return type mismatch: expected kotlin/Int, actual kotlin/Unit">return</error>
return 1
1
}
fun t1b() : Int {
return 1
return 1
1
}
fun t1c() : Int {
return 1
<error descr="[RETURN_TYPE_MISMATCH] Return type mismatch: expected kotlin/Int, actual kotlin/Unit">return</error>
1
}
fun t2() : Int {
if (1 > 2)
return 1
else return 1
1
}
fun t2a() : Int {
if (1 > 2) {
return 1
1
} else { return 1
2
}
1
}
fun t3() : Any {
if (1 > 2)
return 2
else return ""
1
}
fun t4(a : Boolean) : Int {
do {
return 1
}
while (a)
1
}
fun t4break(a : Boolean) : Int {
do {
break
}
while (a)
return 1
}
fun t5() : Int {
do {
return 1
2
}
while (1 > 2)
return 1
}
fun t6() : Int {
while (1 > 2) {
return 1
2
}
return 1
}
fun t6break() : Int {
while (1 > 2) {
break
2
}
return 1
}
fun t7(b : Int) : Int {
for (i in 1..b) {
return 1
2
}
return 1
}
fun t7break(b : Int) : Int {
for (i in 1..b) {
return 1
2
}
return 1
}
fun t7() : Int {
try {
return 1
2
}
catch (<error descr="[THROWABLE_TYPE_MISMATCH] Throwable type mismatch: actual type is kotlin/Any">e : Any</error>) {
2
}
return 1 // this is OK, like in Java
}
fun t8() : Int {
try {
return 1
2
}
catch (<error descr="[THROWABLE_TYPE_MISMATCH] Throwable type mismatch: actual type is kotlin/Any">e : Any</error>) {
return 1
2
}
return 1
}
fun blockAndAndMismatch() : Boolean {
(return true) || (return false)
return true
}
fun tf() : Int {
try {return 1} finally{return 1}
return 1
}
fun failtest(a : Int) : Int {
if (fail() || true) {
}
return 1
}
fun foo(a : Nothing) : Unit {
1
a
2
}
fun fail() : Nothing {
throw java.lang.RuntimeException()
}
fun nullIsNotNothing() : Unit {
val x : Int? = 1
if (x != null) {
return
}
fail()
}