IR: avoid storing unnecessary fields in IrPropertyImpl

This commit is contained in:
Alexander Udalov
2020-07-21 21:27:12 +02:00
parent 3f06f8a6ba
commit 241f82c70f
@@ -34,14 +34,12 @@ abstract class IrPropertyCommonImpl(
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
override val name: Name, override val name: Name,
override var visibility: Visibility, override var visibility: Visibility,
override val modality: Modality,
override val isVar: Boolean, override val isVar: Boolean,
override val isConst: Boolean, override val isConst: Boolean,
override val isLateinit: Boolean, override val isLateinit: Boolean,
override val isDelegated: Boolean, override val isDelegated: Boolean,
override val isExternal: Boolean, override val isExternal: Boolean,
override val isExpect: Boolean, override val isExpect: Boolean,
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE
) : IrDeclarationBase<PropertyCarrier>(startOffset, endOffset, origin), ) : IrDeclarationBase<PropertyCarrier>(startOffset, endOffset, origin),
IrProperty, IrProperty,
PropertyCarrier { PropertyCarrier {
@@ -112,18 +110,19 @@ class IrPropertyImpl(
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
override val symbol: IrPropertySymbol, override val symbol: IrPropertySymbol,
override val name: Name, name: Name,
override var visibility: Visibility, visibility: Visibility,
override val modality: Modality, override val modality: Modality,
override val isVar: Boolean, isVar: Boolean,
override val isConst: Boolean, isConst: Boolean,
override val isLateinit: Boolean, isLateinit: Boolean,
override val isDelegated: Boolean, isDelegated: Boolean,
override val isExternal: Boolean, isExternal: Boolean,
override val isExpect: Boolean = false, isExpect: Boolean = false,
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
) : IrPropertyCommonImpl(startOffset, endOffset, origin, name, visibility, modality, isVar, isConst, isLateinit, isDelegated, isExternal, isExpect, isFakeOverride) { ) : IrPropertyCommonImpl(
startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit, isDelegated, isExternal, isExpect,
) {
init { init {
symbol.bind(this) symbol.bind(this)
} }
@@ -137,7 +136,7 @@ class IrFakeOverridePropertyImpl(
endOffset: Int, endOffset: Int,
origin: IrDeclarationOrigin, origin: IrDeclarationOrigin,
name: Name, name: Name,
override var visibility: Visibility, visibility: Visibility,
override var modality: Modality, override var modality: Modality,
isVar: Boolean, isVar: Boolean,
isConst: Boolean, isConst: Boolean,
@@ -146,9 +145,11 @@ class IrFakeOverridePropertyImpl(
isExternal: Boolean, isExternal: Boolean,
isExpect: Boolean, isExpect: Boolean,
) : IrPropertyCommonImpl( ) : IrPropertyCommonImpl(
startOffset, endOffset, origin, name, visibility, modality, isVar, isConst, isLateinit, startOffset, endOffset, origin, name, visibility, isVar, isConst, isLateinit, isDelegated, isExternal, isExpect,
isDelegated, isExternal, isExpect, isFakeOverride = true
), IrFakeOverrideProperty { ), IrFakeOverrideProperty {
override val isFakeOverride: Boolean
get() = true
private var _symbol: IrPropertySymbol? = null private var _symbol: IrPropertySymbol? = null
override val symbol: IrPropertySymbol override val symbol: IrPropertySymbol