[FIR] Properly assign <local> packages to symbols
This prevents `FirConflictsExpressionChecker.kt` from missing conflicting local functions. It used to due to inconsistencies in assigning `<local>`, and this commit makes it a bit more straightforward. The change in KtClassTypeQualifierRenderer prevents `FirOverrideImplementTest.testLocalClass` from failing in `intellij`. It didn't fail for callables, because `KtCallableSignatureRenderer` doesn't try to render packages. ^KT-59186 Fixed
This commit is contained in:
committed by
Space Team
parent
cf655fd5ad
commit
f9c6af4d2a
@@ -1,213 +0,0 @@
|
||||
fun test() {
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
|
||||
fun Any.test2() {}
|
||||
fun test2(x: Any) = x
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): Int<!> = 0
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): String<!> = ""
|
||||
|
||||
class Test5(val x: Int) {
|
||||
constructor(): this(0)
|
||||
}
|
||||
fun Test5() {}
|
||||
fun Test5(x: Int) = x
|
||||
|
||||
fun local() {
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
|
||||
fun Any.test2() {}
|
||||
fun test2(x: Any) = x
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): Int<!> = 0
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): String<!> = ""
|
||||
|
||||
class Test5(val x: Int) {
|
||||
constructor(): this(0)
|
||||
}
|
||||
fun Test5() {}
|
||||
fun Test5(x: Int) = x
|
||||
}
|
||||
}
|
||||
|
||||
class Test {
|
||||
init {
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
|
||||
fun Any.test2() {}
|
||||
fun test2(x: Any) = x
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): Int<!> = 0
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): String<!> = ""
|
||||
|
||||
class Test5<!CONFLICTING_OVERLOADS!>(val x: Int)<!> {
|
||||
<!CONFLICTING_OVERLOADS!>constructor()<!>: this(0)
|
||||
}
|
||||
<!CONFLICTING_OVERLOADS!>fun Test5()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun Test5(x: Int)<!> = x
|
||||
}
|
||||
|
||||
fun test() {
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
|
||||
fun Any.test2() {}
|
||||
fun test2(x: Any) = x
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): Int<!> = 0
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): String<!> = ""
|
||||
|
||||
class Test5(val x: Int) {
|
||||
constructor(): this(0)
|
||||
}
|
||||
fun Test5() {}
|
||||
fun Test5(x: Int) = x
|
||||
}
|
||||
|
||||
val property: Any get() {
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
|
||||
fun Any.test2() {}
|
||||
fun test2(x: Any) = x
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): Int<!> = 0
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): String<!> = ""
|
||||
|
||||
class Test5(val x: Int) {
|
||||
constructor(): this(0)
|
||||
}
|
||||
fun Test5() {}
|
||||
fun Test5(x: Int) = x
|
||||
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
val property: Any get() {
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
|
||||
fun Any.test2() {}
|
||||
fun test2(x: Any) = x
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): Int<!> = 0
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): String<!> = ""
|
||||
|
||||
class Test5(val x: Int) {
|
||||
constructor(): this(0)
|
||||
}
|
||||
fun Test5() {}
|
||||
fun Test5(x: Int) = x
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
object Object {
|
||||
fun test() {
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
|
||||
fun Any.test2() {}
|
||||
fun test2(x: Any) = x
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): Int<!> = 0
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): String<!> = ""
|
||||
|
||||
class Test5(val x: Int) {
|
||||
constructor(): this(0)
|
||||
}
|
||||
fun Test5() {}
|
||||
fun Test5(x: Int) = x
|
||||
}
|
||||
|
||||
val property: Any get() {
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
|
||||
fun Any.test2() {}
|
||||
fun test2(x: Any) = x
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): Int<!> = 0
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): String<!> = ""
|
||||
|
||||
class Test5(val x: Int) {
|
||||
constructor(): this(0)
|
||||
}
|
||||
fun Test5() {}
|
||||
fun Test5(x: Int) = x
|
||||
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
val obj = object {
|
||||
fun test() {
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
|
||||
fun Any.test2() {}
|
||||
fun test2(x: Any) = x
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): Int<!> = 0
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): String<!> = ""
|
||||
|
||||
class Test5<!CONFLICTING_OVERLOADS!>(val x: Int)<!> {
|
||||
<!CONFLICTING_OVERLOADS!>constructor()<!>: this(0)
|
||||
}
|
||||
<!CONFLICTING_OVERLOADS!>fun Test5()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun Test5(x: Int)<!> = x
|
||||
}
|
||||
|
||||
val property: Any get() {
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
|
||||
fun Any.test2() {}
|
||||
fun test2(x: Any) = x
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun Any.test3()<!> {}
|
||||
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): Int<!> = 0
|
||||
<!CONFLICTING_OVERLOADS!>fun test4(): String<!> = ""
|
||||
|
||||
class Test5<!CONFLICTING_OVERLOADS!>(val x: Int)<!> {
|
||||
<!CONFLICTING_OVERLOADS!>constructor()<!>: this(0)
|
||||
}
|
||||
<!CONFLICTING_OVERLOADS!>fun Test5()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun Test5(x: Int)<!> = x
|
||||
|
||||
return 0
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
fun test() {
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
<!CONFLICTING_OVERLOADS!>fun test1()<!> {}
|
||||
|
||||
Reference in New Issue
Block a user