class A(val a:Int) { inner class B() { fun Char.xx() : Any { this : Char val a = { Double.() -> this : Double this@xx : Char this@B : B this@A : A } val b = @a{Double.() -> this@a : Double + this@xx : Char} val c = @a{() -> this@a + this@xx : Char} return (@a{Double.() -> this@a : Double + this@xx : Char}) } } }