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