Psi2ir: do not sort descriptors for fake override generation

Descriptors are already supposed to be sorted in scopes. The problem is
that rendering descriptors for sorting takes a lot of time (~1.5% of
total compilation time of intellij with JVM IR), and simple heuristics,
like comparing by names first, don't fully help with it.

 #KT-48233
This commit is contained in:
Alexander Udalov
2021-08-26 00:11:00 +02:00
parent cc52832943
commit ffe0d9de70
59 changed files with 2205 additions and 2242 deletions
@@ -1,9 +1,9 @@
interface IBase<T : Any?> {
abstract fun foo(x: Int)
abstract fun foo(x: Int)
abstract val bar: Int
abstract get
abstract fun <X : Any?> qux(t: T, x: X)
abstract fun <X : Any?> qux(t: T, x: X)
}
@@ -15,18 +15,17 @@ class Test<TT : Any?> : IBase<TT> {
}
private /* final field */ val $$delegate_0: IBase<TT> = impl
override fun <X : Any?> qux(t: TT, x: X) {
<this>.#$$delegate_0.qux<X>(t = t, x = x)
}
override fun foo(x: Int) {
<this>.#$$delegate_0.foo(x = x)
}
override val bar: Int
override get(): Int {
return <this>.#$$delegate_0.<get-bar>()
}
}
override fun foo(x: Int) {
<this>.#$$delegate_0.foo(x = x)
}
override fun <X : Any?> qux(t: TT, x: X) {
<this>.#$$delegate_0.qux<X>(t = t, x = x)
}
}