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,
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<PropertyCarrier>(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