[fir compiler] ensure type parameters are included in the resolve scope

to resolve the next parameter bounds (KTIJ-23674)
This commit is contained in:
Anna Kozlova
2022-11-16 13:35:44 +01:00
committed by Space Team
parent 3fc91b013d
commit c727dbb8ca
11 changed files with 41 additions and 22 deletions
@@ -9,7 +9,7 @@ fun <T> Bar<T>.takeFoo(foo: Foo<out Any?>): Int = 1
class Inv<O>
fun <K : <!FINAL_UPPER_BOUND!>Inv<out Inv<out Int>><!>> main() {
fun <T, S : <!UNRESOLVED_REFERENCE!>T<!>> Bar<T>.takeFoo(foo: Foo<in S>): String = ""
fun <T, S : T> Bar<T>.takeFoo(foo: Foo<in S>): String = ""
val foo = Foo<K>()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int")!>Bar<Inv<in Inv<in Number>>>().takeFoo(foo)<!>
@@ -1,17 +0,0 @@
// !LANGUAGE: +ForbidInferringTypeVariablesIntoEmptyIntersection
// WITH_STDLIB
class Foo<T>
class Bar<T>
fun <T> Bar<T>.takeFoo(foo: Foo<out Any?>): Int = 1
class Inv<O>
fun <K : <!FINAL_UPPER_BOUND!>Inv<out Inv<out Int>><!>> main() {
fun <T, S : <!UNRESOLVED_REFERENCE!>T<!>> Bar<T>.takeFoo(foo: Foo<in S>): String = ""
val foo = Foo<K>()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int")!>Bar<Inv<in Inv<in Number>>>().takeFoo(foo)<!>
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !LANGUAGE: +ForbidInferringTypeVariablesIntoEmptyIntersection
// WITH_STDLIB