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,5 +1,5 @@
annotation class Ann : Annotation {
constructor() /* primary */
constructor() /* primary */
}
@@ -9,13 +9,13 @@ interface IFoo {
abstract get
@Ann
abstract fun testFun()
abstract fun testFun()
@Ann
abstract val String.testExtVal: String
abstract get
@Ann
abstract fun String.testExtFun()
abstract fun String.testExtFun()
}
@@ -27,25 +27,24 @@ class DFoo : IFoo {
}
private /* final field */ val $$delegate_0: IFoo = d
@Ann
override fun String.testExtFun() {
(<this>.#$$delegate_0, <this>).testExtFun()
}
@Ann
override fun testFun() {
<this>.#$$delegate_0.testFun()
}
override val testVal: String
override get(): String {
return <this>.#$$delegate_0.<get-testVal>()
}
override val String.testExtVal: String
override get(): String {
return (<this>.#$$delegate_0, <this>).<get-testExtVal>()
}
override val testVal: String
override get(): String {
return <this>.#$$delegate_0.<get-testVal>()
}
@Ann
override fun testFun() {
<this>.#$$delegate_0.testFun()
}
@Ann
override fun String.testExtFun() {
(<this>.#$$delegate_0, <this>).testExtFun()
}
}