fun String.foo() { print(~this) print(this.length) print(length) print(this@foo.length) this() run { print(length) // no highlighting. The receiver is from `run` here. } } operator fun String.invoke() {} public inline fun T.run(block: T.() -> R): R = block()