From cbb828d026b8ef218267f5a629c6194f37ef566a Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 22 Jul 2020 16:16:17 +0200 Subject: [PATCH] IR: introduce abstract class IrDeclarationBase The main purpose of this class is to improve performance of IR visitors and transformers. `IrElementVisitor.visitDeclaration` now takes IrDeclarationBase as a parameter, and therefore the call to `accept` there is now a virtual class call, instead of an interface call. (cherry picked from commit e97d4717fb4c1fe2b6ad8005217150f0e2abe3a7) --- .../kotlin/backend/konan/lower/CallableReferenceLowering.kt | 2 +- .../backend.native/src/org/jetbrains/kotlin/ir/util/IrUtils2.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt index 59aa6fd0790..b2ea044e506 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt @@ -71,7 +71,7 @@ internal class CallableReferenceLowering(val context: Context): FileLoweringPass return result } - override fun visitDeclaration(declaration: IrDeclaration): IrStatement { + override fun visitDeclaration(declaration: IrDeclarationBase): IrStatement { lateinit var tempGeneratedClasses: MutableList if (declaration is IrClass) { tempGeneratedClasses = generatedClasses diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUtils2.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUtils2.kt index ef52310b5be..f26c25eaa31 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUtils2.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUtils2.kt @@ -136,7 +136,7 @@ object SetDeclarationsParentVisitor : IrElementVisitor