d5aed62410
isLocalVariable added. Assignment / initialization analysis. Control whether a variable is changed in a loop at the beginning and at the end of the loop. Control whether a variable is captured in a closure. #KT-3175 Fixed. #KT-2266 Fixed. Tests for variable null safety and for variables is/as operations. Loop / closure / variable property tests are included. Old tests changed in accordance with KT-3175. In particular, all three of testSmartcastImpossible were fixed.
31 lines
502 B
Kotlin
Vendored
31 lines
502 B
Kotlin
Vendored
class A() {
|
|
override fun equals(<warning>a</warning> : Any?) : Boolean = false
|
|
}
|
|
|
|
fun f(): Unit {
|
|
var x: Int? = <warning>1</warning>
|
|
x = 1
|
|
x + 1
|
|
x plus 1
|
|
x < 1
|
|
x += 1
|
|
|
|
x == 1
|
|
x != 1
|
|
|
|
<error>A() == 1</error>
|
|
|
|
<error>x === "1"</error>
|
|
<error>x !== "1"</error>
|
|
|
|
x === 1
|
|
x !== 1
|
|
|
|
x..2
|
|
x in 1..2
|
|
|
|
val y : Boolean? = true
|
|
<warning>false || <error>y</error></warning>
|
|
<warning><error>y</error> && true</warning>
|
|
<warning><error>y</error> && <error>1</error></warning>
|
|
} |