IR: avoid storing unnecessary fields in IrFunctionImpl
This commit is contained in:
+15
-12
@@ -27,7 +27,6 @@ abstract class IrFunctionCommonImpl(
|
|||||||
origin: IrDeclarationOrigin,
|
origin: IrDeclarationOrigin,
|
||||||
name: Name,
|
name: Name,
|
||||||
visibility: Visibility,
|
visibility: Visibility,
|
||||||
override val modality: Modality,
|
|
||||||
returnType: IrType,
|
returnType: IrType,
|
||||||
isInline: Boolean,
|
isInline: Boolean,
|
||||||
isExternal: Boolean,
|
isExternal: Boolean,
|
||||||
@@ -36,7 +35,6 @@ abstract class IrFunctionCommonImpl(
|
|||||||
override val isOperator: Boolean,
|
override val isOperator: Boolean,
|
||||||
override val isInfix: Boolean,
|
override val isInfix: Boolean,
|
||||||
isExpect: Boolean,
|
isExpect: Boolean,
|
||||||
override val isFakeOverride: Boolean
|
|
||||||
) :
|
) :
|
||||||
IrFunctionBase<FunctionCarrier>(startOffset, endOffset, origin, name, visibility, isInline, isExternal, isExpect, returnType),
|
IrFunctionBase<FunctionCarrier>(startOffset, endOffset, origin, name, visibility, isInline, isExternal, isExpect, returnType),
|
||||||
IrSimpleFunction,
|
IrSimpleFunction,
|
||||||
@@ -90,17 +88,19 @@ class IrFunctionImpl(
|
|||||||
returnType: IrType,
|
returnType: IrType,
|
||||||
isInline: Boolean,
|
isInline: Boolean,
|
||||||
isExternal: Boolean,
|
isExternal: Boolean,
|
||||||
override val isTailrec: Boolean,
|
isTailrec: Boolean,
|
||||||
override val isSuspend: Boolean,
|
isSuspend: Boolean,
|
||||||
override val isOperator: Boolean,
|
isOperator: Boolean,
|
||||||
isInfix: Boolean,
|
isInfix: Boolean,
|
||||||
isExpect: Boolean,
|
isExpect: Boolean,
|
||||||
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE
|
override val isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
|
||||||
) : IrFunctionCommonImpl(startOffset, endOffset, origin, name, visibility, modality, returnType, isInline,
|
) : IrFunctionCommonImpl(
|
||||||
isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect, isFakeOverride) {
|
startOffset, endOffset, origin, name, visibility, returnType, isInline,
|
||||||
|
isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect,
|
||||||
|
) {
|
||||||
@ObsoleteDescriptorBasedAPI
|
@ObsoleteDescriptorBasedAPI
|
||||||
override val descriptor: FunctionDescriptor get() = symbol.descriptor
|
override val descriptor: FunctionDescriptor
|
||||||
|
get() = symbol.descriptor
|
||||||
|
|
||||||
init {
|
init {
|
||||||
symbol.bind(this)
|
symbol.bind(this)
|
||||||
@@ -126,9 +126,12 @@ class IrFakeOverrideFunctionImpl(
|
|||||||
isInfix: Boolean,
|
isInfix: Boolean,
|
||||||
isExpect: Boolean,
|
isExpect: Boolean,
|
||||||
) : IrFunctionCommonImpl(
|
) : IrFunctionCommonImpl(
|
||||||
startOffset, endOffset, origin, name, visibility, modality, returnType, isInline,
|
startOffset, endOffset, origin, name, visibility, returnType, isInline,
|
||||||
isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect, isFakeOverride = true
|
isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect,
|
||||||
), IrFakeOverrideFunction {
|
), IrFakeOverrideFunction {
|
||||||
|
override val isFakeOverride: Boolean
|
||||||
|
get() = true
|
||||||
|
|
||||||
private var _symbol: IrSimpleFunctionSymbol? = null
|
private var _symbol: IrSimpleFunctionSymbol? = null
|
||||||
|
|
||||||
override val symbol: IrSimpleFunctionSymbol
|
override val symbol: IrSimpleFunctionSymbol
|
||||||
|
|||||||
Reference in New Issue
Block a user