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,7 +1,7 @@
interface IBase {
abstract fun foo(x: Int, s: String)
abstract fun bar(): Int
abstract fun String.qux()
abstract fun foo(x: Int, s: String)
abstract fun bar(): Int
abstract fun String.qux()
}
@@ -120,24 +120,11 @@ class Test2 : IBase, IOther {
}
private /* final field */ val $$delegate_1: IOther = otherImpl(x0 = "", y0 = 42)
override val Byte.z1: Int
override get(): Int {
return (<this>.#$$delegate_1, <this>).<get-z1>()
}
override val x: String
override get(): String {
return <this>.#$$delegate_1.<get-x>()
}
override var Byte.z2: Int
override get(): Int {
return (<this>.#$$delegate_1, <this>).<get-z2>()
}
override set(<set-?>: Int) {
(<this>.#$$delegate_1, <this>).<set-z2>(<set-?> = <set-?>)
}
override var y: Int
override get(): Int {
return <this>.#$$delegate_1.<get-y>()
@@ -146,5 +133,17 @@ class Test2 : IBase, IOther {
<this>.#$$delegate_1.<set-y>(<set-?> = <set-?>)
}
}
override val Byte.z1: Int
override get(): Int {
return (<this>.#$$delegate_1, <this>).<get-z1>()
}
override var Byte.z2: Int
override get(): Int {
return (<this>.#$$delegate_1, <this>).<get-z2>()
}
override set(<set-?>: Int) {
(<this>.#$$delegate_1, <this>).<set-z2>(<set-?> = <set-?>)
}
}