FIR: Rename FirSuperTypeScope and reuse it for type parameter type

It would allow ConeKotlinType.scope return FirTypeScope
and thus pulling down org.jetbrains.kotlin.fir.scopes.FirScope#processOverriddenFunctions
(See the following commits)
This commit is contained in:
Denis Zharkov
2020-06-09 16:04:02 +03:00
parent 0bd2a74542
commit 72b09ff323
18 changed files with 83 additions and 121 deletions
@@ -3766,31 +3766,31 @@ class Case61_3<T>: InterfaceWithTypeParameter1<T>, Case61_1<T>, Case61_2<T> {
fun <T> T.case_61() where T : InterfaceWithTypeParameter1<T>?, T: Case61_3<T>?, T: Case61_1<T>?, T: Case61_2<T>? {
if (this != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T!!")!>this<!>.<!AMBIGUITY!>test1<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T!!")!>this<!>.<!AMBIGUITY!>test2<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T!!")!>this<!>.<!AMBIGUITY!>ip1test1<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T!!")!>this<!>.test1()
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T!!")!>this<!>.test2()
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T!!")!>this<!>.ip1test1()
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T!!")!>this<!>.test4()
<!AMBIGUITY!>test1<!>()
<!AMBIGUITY!>test2<!>()
<!AMBIGUITY!>ip1test1<!>()
test1()
test2()
ip1test1()
test4()
apply {
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>
<!AMBIGUITY!>test1<!>()
<!AMBIGUITY!>test2<!>()
<!AMBIGUITY!>ip1test1<!>()
test1()
test2()
ip1test1()
test4()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>.<!AMBIGUITY!>test1<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>.<!AMBIGUITY!>test2<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>.<!AMBIGUITY!>ip1test1<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>.test1()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>.test2()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>.ip1test1()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>.test4()
}
also {
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>.<!AMBIGUITY!>test1<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>.<!AMBIGUITY!>test2<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>.<!AMBIGUITY!>ip1test1<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>.test1()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>.test2()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>.ip1test1()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>.test4()
}
}
@@ -4305,31 +4305,31 @@ class Case61_3<T>: InterfaceWithTypeParameter1<T>, Case61_1<T>, Case61_2<T> {
fun <T> T.case_61(x: T) where T : InterfaceWithTypeParameter1<T>?, T: Case61_3<T>?, T: Case61_1<T>?, T: Case61_2<T>? {
if (x != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T")!>x<!>.<!AMBIGUITY!>ip1test1<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T")!>x<!>.<!AMBIGUITY!>test2<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T")!>x<!>.<!AMBIGUITY!>ip1test1<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T")!>x<!>.ip1test1()
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T")!>x<!>.test2()
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T")!>x<!>.ip1test1()
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T")!>x<!>.test4()
x.<!AMBIGUITY!>ip1test1<!>()
x.<!AMBIGUITY!>test2<!>()
x.<!AMBIGUITY!>ip1test1<!>()
x.ip1test1()
x.test2()
x.ip1test1()
x.test4()
x.apply {
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>
<!AMBIGUITY!>ip1test1<!>()
<!AMBIGUITY!>test2<!>()
<!AMBIGUITY!>ip1test1<!>()
ip1test1()
test2()
ip1test1()
test4()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>.<!AMBIGUITY!>ip1test1<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>.<!AMBIGUITY!>test2<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>.<!AMBIGUITY!>ip1test1<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>.ip1test1()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>.test2()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>.ip1test1()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>this<!>.test4()
}
x.also {
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>.<!AMBIGUITY!>ip1test1<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>.<!AMBIGUITY!>test2<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>.<!AMBIGUITY!>ip1test1<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>.ip1test1()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>.test2()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>.ip1test1()
<!DEBUG_INFO_EXPRESSION_TYPE("T!!")!>it<!>.test4()
}
}