From 241f82c70fca95bd6b164ecda3597da790b7c965 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Tue, 21 Jul 2020 21:27:12 +0200 Subject: [PATCH] IR: avoid storing unnecessary fields in IrPropertyImpl --- .../ir/declarations/impl/IrPropertyImpl.kt | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt index 68671df1591..08e8a3e15a0 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt @@ -34,14 +34,12 @@ abstract class IrPropertyCommonImpl( origin: IrDeclarationOrigin, override val name: Name, override var visibility: Visibility, - override val modality: Modality, override val isVar: Boolean, override val isConst: Boolean, override val isLateinit: Boolean, override val isDelegated: Boolean, override val isExternal: Boolean, override val isExpect: Boolean, - override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE ) : IrDeclarationBase(startOffset, endOffset, origin), IrProperty, PropertyCarrier { @@ -112,18 +110,19 @@ class IrPropertyImpl( endOffset: Int, origin: IrDeclarationOrigin, override val symbol: IrPropertySymbol, - override val name: Name, - override var visibility: Visibility, + name: Name, + visibility: Visibility, override val modality: Modality, - override val isVar: Boolean, - override val isConst: Boolean, - override val isLateinit: Boolean, - override val isDelegated: Boolean, - override val isExternal: Boolean, - override val isExpect: Boolean = false, - override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE -) : IrPropertyCommonImpl(startOffset, endOffset, origin, name, visibility, modality, isVar, isConst, isLateinit, isDelegated, isExternal, isExpect, isFakeOverride) { - + isVar: Boolean, + isConst: Boolean, + isLateinit: Boolean, + isDelegated: Boolean, + isExternal: Boolean, + isExpect: Boolean = false, + override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE, +) : IrPropertyCommonImpl( + startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit, isDelegated, isExternal, isExpect, +) { init { symbol.bind(this) } @@ -137,7 +136,7 @@ class IrFakeOverridePropertyImpl( endOffset: Int, origin: IrDeclarationOrigin, name: Name, - override var visibility: Visibility, + visibility: Visibility, override var modality: Modality, isVar: Boolean, isConst: Boolean, @@ -146,9 +145,11 @@ class IrFakeOverridePropertyImpl( isExternal: Boolean, isExpect: Boolean, ) : IrPropertyCommonImpl( - startOffset, endOffset, origin, name, visibility, modality, isVar, isConst, isLateinit, - isDelegated, isExternal, isExpect, isFakeOverride = true + startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit, isDelegated, isExternal, isExpect, ), IrFakeOverrideProperty { + override val isFakeOverride: Boolean + get() = true + private var _symbol: IrPropertySymbol? = null override val symbol: IrPropertySymbol