[LL FIR] get rid of on-air resolve of partial type qualifiers
It's very slow and leads to performance problems (see KT-58125) Instead, we do the following: - For a fully resolved type qualifier, when we want to resolve its part, we are looking for the corresponding symbol by traversing nested classes bottom up. - For an error qualifier, we are trying to resolve the maximum possible qualifier in the types transformer where all the type scopes are already available. ^KT-58125 fixed
This commit is contained in:
committed by
Space Team
parent
51cf0ce3e5
commit
481962d5f6
+3
@@ -0,0 +1,3 @@
|
||||
FILE: incompleteUserType.kt
|
||||
public final fun foo(a: <ERROR TYPE REF: Incomplete user type>): R|kotlin/Unit| {
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
fun foo(a : <!UNRESOLVED_REFERENCE!>Unresolved<!>.<!SYNTAX!><!>) {}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
FILE: incompleteUserTypeWithUnresovledTypeArgument.kt
|
||||
public final class A<T> : R|kotlin/Any| {
|
||||
public constructor<T>(): R|A<T>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
public final fun foo(a: <ERROR TYPE REF: Incomplete user type>): R|kotlin/Unit| {
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
class A<T>
|
||||
|
||||
fun foo(a : A<<!UNRESOLVED_REFERENCE!>Unresolved<!>>.<!SYNTAX!><!>) {}
|
||||
Reference in New Issue
Block a user