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:
@@ -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-?>)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user