[IR] Unbind construction methods of IrLocalDelegatedPropertyImpl from symbol.descriptor
This commit is contained in:
+2
-59
@@ -32,9 +32,9 @@ class IrLocalDelegatedPropertyImpl(
|
|||||||
endOffset: Int,
|
endOffset: Int,
|
||||||
origin: IrDeclarationOrigin,
|
origin: IrDeclarationOrigin,
|
||||||
override val symbol: IrLocalDelegatedPropertySymbol,
|
override val symbol: IrLocalDelegatedPropertySymbol,
|
||||||
override val name: Name = symbol.descriptor.name,
|
override val name: Name,
|
||||||
override val type: IrType,
|
override val type: IrType,
|
||||||
override val isVar: Boolean = symbol.descriptor.isVar
|
override val isVar: Boolean
|
||||||
) :
|
) :
|
||||||
IrDeclarationBase<LocalDelegatedPropertyCarrier>(startOffset, endOffset, origin),
|
IrDeclarationBase<LocalDelegatedPropertyCarrier>(startOffset, endOffset, origin),
|
||||||
IrLocalDelegatedProperty,
|
IrLocalDelegatedProperty,
|
||||||
@@ -44,63 +44,6 @@ class IrLocalDelegatedPropertyImpl(
|
|||||||
symbol.bind(this)
|
symbol.bind(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor(
|
|
||||||
startOffset: Int,
|
|
||||||
endOffset: Int,
|
|
||||||
origin: IrDeclarationOrigin,
|
|
||||||
symbol: IrLocalDelegatedPropertySymbol,
|
|
||||||
type: IrType
|
|
||||||
) : this(
|
|
||||||
startOffset, endOffset, origin, symbol,
|
|
||||||
symbol.descriptor.name,
|
|
||||||
type,
|
|
||||||
symbol.descriptor.isVar
|
|
||||||
)
|
|
||||||
|
|
||||||
@Deprecated("Creates unbound symbol")
|
|
||||||
constructor(
|
|
||||||
startOffset: Int,
|
|
||||||
endOffset: Int,
|
|
||||||
origin: IrDeclarationOrigin,
|
|
||||||
descriptor: VariableDescriptorWithAccessors,
|
|
||||||
name: Name,
|
|
||||||
type: IrType,
|
|
||||||
isVar: Boolean
|
|
||||||
) : this(
|
|
||||||
startOffset, endOffset, origin,
|
|
||||||
IrLocalDelegatedPropertySymbolImpl(descriptor),
|
|
||||||
name, type, isVar
|
|
||||||
)
|
|
||||||
|
|
||||||
@Deprecated("Creates unbound symbol")
|
|
||||||
constructor(
|
|
||||||
startOffset: Int,
|
|
||||||
endOffset: Int,
|
|
||||||
origin: IrDeclarationOrigin,
|
|
||||||
descriptor: VariableDescriptorWithAccessors,
|
|
||||||
type: IrType
|
|
||||||
) : this(
|
|
||||||
startOffset, endOffset, origin,
|
|
||||||
IrLocalDelegatedPropertySymbolImpl(descriptor),
|
|
||||||
descriptor.name, type, descriptor.isVar
|
|
||||||
)
|
|
||||||
|
|
||||||
@Deprecated("Creates unbound symbol")
|
|
||||||
constructor(
|
|
||||||
startOffset: Int,
|
|
||||||
endOffset: Int,
|
|
||||||
origin: IrDeclarationOrigin,
|
|
||||||
descriptor: VariableDescriptorWithAccessors,
|
|
||||||
type: IrType,
|
|
||||||
delegate: IrVariable,
|
|
||||||
getter: IrFunction,
|
|
||||||
setter: IrFunction?
|
|
||||||
) : this(startOffset, endOffset, origin, descriptor, type) {
|
|
||||||
this.delegate = delegate
|
|
||||||
this.getter = getter
|
|
||||||
this.setter = setter
|
|
||||||
}
|
|
||||||
|
|
||||||
override val descriptor: VariableDescriptorWithAccessors
|
override val descriptor: VariableDescriptorWithAccessors
|
||||||
get() = symbol.descriptor
|
get() = symbol.descriptor
|
||||||
|
|
||||||
|
|||||||
@@ -257,7 +257,9 @@ open class DeepCopyIrTreeWithSymbols(
|
|||||||
declaration.startOffset, declaration.endOffset,
|
declaration.startOffset, declaration.endOffset,
|
||||||
mapDeclarationOrigin(declaration.origin),
|
mapDeclarationOrigin(declaration.origin),
|
||||||
symbolRemapper.getDeclaredLocalDelegatedProperty(declaration.symbol),
|
symbolRemapper.getDeclaredLocalDelegatedProperty(declaration.symbol),
|
||||||
declaration.type.remapType()
|
declaration.name,
|
||||||
|
declaration.type.remapType(),
|
||||||
|
declaration.isVar
|
||||||
).apply {
|
).apply {
|
||||||
transformAnnotations(declaration)
|
transformAnnotations(declaration)
|
||||||
delegate = declaration.delegate.transform()
|
delegate = declaration.delegate.transform()
|
||||||
|
|||||||
@@ -875,8 +875,11 @@ open class SymbolTable(
|
|||||||
localDelegatedPropertySymbolTable.declareLocal(
|
localDelegatedPropertySymbolTable.declareLocal(
|
||||||
descriptor,
|
descriptor,
|
||||||
{ IrLocalDelegatedPropertySymbolImpl(descriptor) },
|
{ IrLocalDelegatedPropertySymbolImpl(descriptor) },
|
||||||
{ IrLocalDelegatedPropertyImpl(startOffset, endOffset, origin, it, nameProvider.nameForDeclaration(descriptor), type) }
|
) {
|
||||||
)
|
IrLocalDelegatedPropertyImpl(
|
||||||
|
startOffset, endOffset, origin, it, nameProvider.nameForDeclaration(descriptor), type, descriptor.isVar
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
fun referenceLocalDelegatedProperty(descriptor: VariableDescriptorWithAccessors) =
|
fun referenceLocalDelegatedProperty(descriptor: VariableDescriptorWithAccessors) =
|
||||||
localDelegatedPropertySymbolTable.referenced(descriptor) {
|
localDelegatedPropertySymbolTable.referenced(descriptor) {
|
||||||
|
|||||||
Reference in New Issue
Block a user