Files
kotlin-fork/compiler/testData/diagnostics/tests/smartCasts/thisWithLabel.kt
T
2014-10-01 18:52:52 +04:00

36 lines
706 B
Kotlin
Vendored

package foo
class A(val i: Int?) {
fun test1() {
if (this@A.i != null) {
useInt(<!DEBUG_INFO_SMARTCAST!>this.i<!>)
useInt(<!DEBUG_INFO_SMARTCAST!>i<!>)
}
}
inner class B {
fun test2() {
if (i != null) {
useInt(<!DEBUG_INFO_SMARTCAST!>this@A.i<!>)
}
}
}
}
fun A.foo() {
if (this@foo.i != null) {
useInt(<!DEBUG_INFO_SMARTCAST!>this.i<!>)
useInt(<!DEBUG_INFO_SMARTCAST!>i<!>)
}
}
fun test3() {
useFunction {
if(i != null) {
useInt(<!DEBUG_INFO_SMARTCAST!>this.i<!>)
}
}
}
fun useInt(i: Int) = i
fun useFunction(f: A.() -> Unit) = f