FE 1.0: implement initial label resolve warning for KT-51433

This commit is contained in:
Mikhail Glukhikh
2022-02-22 11:11:45 +03:00
committed by Space
parent 31b234a261
commit b5e2c492c6
11 changed files with 191 additions and 22 deletions
@@ -0,0 +1,41 @@
fun Int.with() {
with("") {
this<!LABEL_RESOLVE_WILL_CHANGE("function with; anonymous function")!>@with<!>.inc()
}
}
fun Int.bar() {
with("") bar@{
this<!LABEL_RESOLVE_WILL_CHANGE!>@bar<!>.inc()
}
}
fun foo(f: with.() -> Unit) {}
class with {
fun foo() {
with("") {
this<!LABEL_RESOLVE_WILL_CHANGE("class with; anonymous function")!>@with<!>.foo()
}
with("") with@{
this<!LABEL_RESOLVE_WILL_CHANGE!>@with<!>.foo()
}
with("") other@{
this@with.foo()
}
}
}
private typealias Extension = TypedThis
class TypedThis {
fun TypedThis.baz() {
this@TypedThis
}
fun Extension.bar() {
this@TypedThis
}
}