K2: handle type parameter vs nested class conflict in body resolve properly

This commit does two things:
- prioritize type parameter scopes against static scopes in body resolve
(effectively it's a revert of KT-58028 fix)
- consider type parameters as inapplicable callable, so during callable
resolve we can go up the tower and still resolve to static scope

This allows both KT-58028 and KT-63377 to work properly
#KT-63377 Fixed
This commit is contained in:
Mikhail Glukhikh
2023-11-22 18:19:35 +01:00
committed by Space Team
parent 4e938d852c
commit 83cfcc30c6
25 changed files with 86 additions and 73 deletions
@@ -15,7 +15,7 @@ fun test() {
fun <T> bar() {
val typeParameter_as_val = <!TYPE_PARAMETER_IS_NOT_AN_EXPRESSION!>T<!>
val typeParameter_as_fun = <!UNRESOLVED_REFERENCE!>T<!>()
val typeParameter_as_fun = <!TYPE_PARAMETER_IS_NOT_AN_EXPRESSION!>T<!>()
baz(<!TYPE_PARAMETER_IS_NOT_AN_EXPRESSION!>T<!>)
baz("$<!TYPE_PARAMETER_IS_NOT_AN_EXPRESSION!>T<!>")