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