PIR: minor restructuring
This commit is contained in:
+3
-13
@@ -1,19 +1,9 @@
|
||||
/*
|
||||
* Copyright 2010-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
|
||||
package org.jetbrains.kotlin.ir.declarations.persistent
|
||||
|
||||
import org.jetbrains.kotlin.ir.IrElement
|
||||
|
||||
+2
-2
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
|
||||
import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent
|
||||
import org.jetbrains.kotlin.ir.declarations.IrErrorDeclaration
|
||||
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.Carrier
|
||||
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.ErrorCarrier
|
||||
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.ErrorDeclarationCarrier
|
||||
import org.jetbrains.kotlin.ir.declarations.stageController
|
||||
import org.jetbrains.kotlin.ir.descriptors.toIrBasedDescriptor
|
||||
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
||||
@@ -32,7 +32,7 @@ internal class PersistentIrErrorDeclaration(
|
||||
override val startOffset: Int,
|
||||
override val endOffset: Int,
|
||||
private val _descriptor: DeclarationDescriptor?
|
||||
) : PersistentIrDeclarationBase<ErrorCarrier>, IrErrorDeclaration(), ErrorCarrier {
|
||||
) : PersistentIrDeclarationBase<ErrorDeclarationCarrier>, IrErrorDeclaration(), ErrorDeclarationCarrier {
|
||||
override val descriptor: DeclarationDescriptor
|
||||
get() = _descriptor ?: this.toIrBasedDescriptor()
|
||||
|
||||
|
||||
+1
-170
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@@ -10,181 +10,12 @@ import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.Carrier
|
||||
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.FunctionCarrier
|
||||
import org.jetbrains.kotlin.ir.descriptors.toIrBasedDescriptor
|
||||
import org.jetbrains.kotlin.ir.expressions.IrBody
|
||||
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
||||
import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
|
||||
import org.jetbrains.kotlin.ir.types.IrType
|
||||
import org.jetbrains.kotlin.ir.types.impl.IrUninitializedType
|
||||
import org.jetbrains.kotlin.ir.types.impl.ReturnTypeIsNotInitializedException
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
|
||||
internal abstract class PersistentIrFunctionCommon(
|
||||
override val startOffset: Int,
|
||||
override val endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
override val name: Name,
|
||||
visibility: DescriptorVisibility,
|
||||
returnType: IrType,
|
||||
override val isInline: Boolean,
|
||||
isExternal: Boolean,
|
||||
override val isTailrec: Boolean,
|
||||
override val isSuspend: Boolean,
|
||||
override val isOperator: Boolean,
|
||||
override val isInfix: Boolean,
|
||||
override val isExpect: Boolean,
|
||||
override val containerSource: DeserializedContainerSource? = null
|
||||
) : IrSimpleFunction(),
|
||||
PersistentIrDeclarationBase<FunctionCarrier>,
|
||||
FunctionCarrier {
|
||||
|
||||
override var lastModified: Int = stageController.currentStage
|
||||
override var loweredUpTo: Int = stageController.currentStage
|
||||
override var values: Array<Carrier>? = null
|
||||
override val createdOn: Int = stageController.currentStage
|
||||
|
||||
override var parentField: IrDeclarationParent? = null
|
||||
override var originField: IrDeclarationOrigin = origin
|
||||
override var removedOn: Int = Int.MAX_VALUE
|
||||
override var annotationsField: List<IrConstructorCall> = emptyList()
|
||||
|
||||
override var returnTypeFieldField: IrType = returnType
|
||||
|
||||
private var returnTypeField: IrType
|
||||
get() = getCarrier().returnTypeFieldField
|
||||
set(v) {
|
||||
if (returnTypeField !== v) {
|
||||
setCarrier().returnTypeFieldField = v
|
||||
}
|
||||
}
|
||||
|
||||
final override var returnType: IrType
|
||||
get() = returnTypeField.let {
|
||||
if (it !== IrUninitializedType) it else throw ReturnTypeIsNotInitializedException(this)
|
||||
}
|
||||
set(c) {
|
||||
returnTypeField = c
|
||||
}
|
||||
|
||||
override var typeParametersField: List<IrTypeParameter> = emptyList()
|
||||
|
||||
override var typeParameters: List<IrTypeParameter>
|
||||
get() = getCarrier().typeParametersField
|
||||
set(v) {
|
||||
if (typeParameters !== v) {
|
||||
setCarrier().typeParametersField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var dispatchReceiverParameterField: IrValueParameter? = null
|
||||
|
||||
override var dispatchReceiverParameter: IrValueParameter?
|
||||
get() = getCarrier().dispatchReceiverParameterField
|
||||
set(v) {
|
||||
if (dispatchReceiverParameter !== v) {
|
||||
setCarrier().dispatchReceiverParameterField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var extensionReceiverParameterField: IrValueParameter? = null
|
||||
|
||||
override var extensionReceiverParameter: IrValueParameter?
|
||||
get() = getCarrier().extensionReceiverParameterField
|
||||
set(v) {
|
||||
if (extensionReceiverParameter !== v) {
|
||||
setCarrier().extensionReceiverParameterField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var valueParametersField: List<IrValueParameter> = emptyList()
|
||||
|
||||
override var valueParameters: List<IrValueParameter>
|
||||
get() = getCarrier().valueParametersField
|
||||
set(v) {
|
||||
if (valueParameters !== v) {
|
||||
setCarrier().valueParametersField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var bodyField: IrBody? = null
|
||||
|
||||
final override var body: IrBody?
|
||||
get() = getCarrier().bodyField
|
||||
set(v) {
|
||||
if (body !== v) {
|
||||
if (v is PersistentIrBodyBase<*>) {
|
||||
v.container = this
|
||||
}
|
||||
setCarrier().bodyField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var metadataField: MetadataSource? = null
|
||||
|
||||
override var metadata: MetadataSource?
|
||||
get() = getCarrier().metadataField
|
||||
set(v) {
|
||||
if (metadata !== v) {
|
||||
setCarrier().metadataField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var visibilityField: DescriptorVisibility = visibility
|
||||
|
||||
override var visibility: DescriptorVisibility
|
||||
get() = getCarrier().visibilityField
|
||||
set(v) {
|
||||
if (visibility !== v) {
|
||||
setCarrier().visibilityField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var overriddenSymbolsField: List<IrSimpleFunctionSymbol> = emptyList()
|
||||
|
||||
override var overriddenSymbols: List<IrSimpleFunctionSymbol>
|
||||
get() = getCarrier().overriddenSymbolsField
|
||||
set(v) {
|
||||
if (overriddenSymbols !== v) {
|
||||
setCarrier().overriddenSymbolsField = v
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("LeakingThis")
|
||||
override var attributeOwnerIdField: IrAttributeContainer = this
|
||||
|
||||
override var attributeOwnerId: IrAttributeContainer
|
||||
get() = getCarrier().attributeOwnerIdField
|
||||
set(v) {
|
||||
if (attributeOwnerId !== v) {
|
||||
setCarrier().attributeOwnerIdField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var correspondingPropertySymbolField: IrPropertySymbol? = null
|
||||
|
||||
override var correspondingPropertySymbol: IrPropertySymbol?
|
||||
get() = getCarrier().correspondingPropertySymbolField
|
||||
set(v) {
|
||||
if (correspondingPropertySymbol !== v) {
|
||||
setCarrier().correspondingPropertySymbolField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var isExternalField: Boolean = isExternal
|
||||
|
||||
override var isExternal: Boolean
|
||||
get() = getCarrier().isExternalField
|
||||
set(v) {
|
||||
if (isExternal != v) {
|
||||
setCarrier().isExternalField = v
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal class PersistentIrFunction(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
|
||||
+182
@@ -0,0 +1,182 @@
|
||||
/*
|
||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.ir.declarations.persistent
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.Carrier
|
||||
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.FunctionCarrier
|
||||
import org.jetbrains.kotlin.ir.expressions.IrBody
|
||||
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
||||
import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
|
||||
import org.jetbrains.kotlin.ir.types.IrType
|
||||
import org.jetbrains.kotlin.ir.types.impl.IrUninitializedType
|
||||
import org.jetbrains.kotlin.ir.types.impl.ReturnTypeIsNotInitializedException
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
|
||||
internal abstract class PersistentIrFunctionCommon(
|
||||
override val startOffset: Int,
|
||||
override val endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
override val name: Name,
|
||||
visibility: DescriptorVisibility,
|
||||
returnType: IrType,
|
||||
override val isInline: Boolean,
|
||||
isExternal: Boolean,
|
||||
override val isTailrec: Boolean,
|
||||
override val isSuspend: Boolean,
|
||||
override val isOperator: Boolean,
|
||||
override val isInfix: Boolean,
|
||||
override val isExpect: Boolean,
|
||||
override val containerSource: DeserializedContainerSource? = null
|
||||
) : IrSimpleFunction(),
|
||||
PersistentIrDeclarationBase<FunctionCarrier>,
|
||||
FunctionCarrier {
|
||||
|
||||
override var lastModified: Int = stageController.currentStage
|
||||
override var loweredUpTo: Int = stageController.currentStage
|
||||
override var values: Array<Carrier>? = null
|
||||
override val createdOn: Int = stageController.currentStage
|
||||
|
||||
override var parentField: IrDeclarationParent? = null
|
||||
override var originField: IrDeclarationOrigin = origin
|
||||
override var removedOn: Int = Int.MAX_VALUE
|
||||
override var annotationsField: List<IrConstructorCall> = emptyList()
|
||||
|
||||
override var returnTypeFieldField: IrType = returnType
|
||||
|
||||
private var returnTypeField: IrType
|
||||
get() = getCarrier().returnTypeFieldField
|
||||
set(v) {
|
||||
if (returnTypeField !== v) {
|
||||
setCarrier().returnTypeFieldField = v
|
||||
}
|
||||
}
|
||||
|
||||
final override var returnType: IrType
|
||||
get() = returnTypeField.let {
|
||||
if (it !== IrUninitializedType) it else throw ReturnTypeIsNotInitializedException(this)
|
||||
}
|
||||
set(c) {
|
||||
returnTypeField = c
|
||||
}
|
||||
|
||||
override var typeParametersField: List<IrTypeParameter> = emptyList()
|
||||
|
||||
override var typeParameters: List<IrTypeParameter>
|
||||
get() = getCarrier().typeParametersField
|
||||
set(v) {
|
||||
if (typeParameters !== v) {
|
||||
setCarrier().typeParametersField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var dispatchReceiverParameterField: IrValueParameter? = null
|
||||
|
||||
override var dispatchReceiverParameter: IrValueParameter?
|
||||
get() = getCarrier().dispatchReceiverParameterField
|
||||
set(v) {
|
||||
if (dispatchReceiverParameter !== v) {
|
||||
setCarrier().dispatchReceiverParameterField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var extensionReceiverParameterField: IrValueParameter? = null
|
||||
|
||||
override var extensionReceiverParameter: IrValueParameter?
|
||||
get() = getCarrier().extensionReceiverParameterField
|
||||
set(v) {
|
||||
if (extensionReceiverParameter !== v) {
|
||||
setCarrier().extensionReceiverParameterField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var valueParametersField: List<IrValueParameter> = emptyList()
|
||||
|
||||
override var valueParameters: List<IrValueParameter>
|
||||
get() = getCarrier().valueParametersField
|
||||
set(v) {
|
||||
if (valueParameters !== v) {
|
||||
setCarrier().valueParametersField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var bodyField: IrBody? = null
|
||||
|
||||
final override var body: IrBody?
|
||||
get() = getCarrier().bodyField
|
||||
set(v) {
|
||||
if (body !== v) {
|
||||
if (v is PersistentIrBodyBase<*>) {
|
||||
v.container = this
|
||||
}
|
||||
setCarrier().bodyField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var metadataField: MetadataSource? = null
|
||||
|
||||
override var metadata: MetadataSource?
|
||||
get() = getCarrier().metadataField
|
||||
set(v) {
|
||||
if (metadata !== v) {
|
||||
setCarrier().metadataField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var visibilityField: DescriptorVisibility = visibility
|
||||
|
||||
override var visibility: DescriptorVisibility
|
||||
get() = getCarrier().visibilityField
|
||||
set(v) {
|
||||
if (visibility !== v) {
|
||||
setCarrier().visibilityField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var overriddenSymbolsField: List<IrSimpleFunctionSymbol> = emptyList()
|
||||
|
||||
override var overriddenSymbols: List<IrSimpleFunctionSymbol>
|
||||
get() = getCarrier().overriddenSymbolsField
|
||||
set(v) {
|
||||
if (overriddenSymbols !== v) {
|
||||
setCarrier().overriddenSymbolsField = v
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("LeakingThis")
|
||||
override var attributeOwnerIdField: IrAttributeContainer = this
|
||||
|
||||
override var attributeOwnerId: IrAttributeContainer
|
||||
get() = getCarrier().attributeOwnerIdField
|
||||
set(v) {
|
||||
if (attributeOwnerId !== v) {
|
||||
setCarrier().attributeOwnerIdField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var correspondingPropertySymbolField: IrPropertySymbol? = null
|
||||
|
||||
override var correspondingPropertySymbol: IrPropertySymbol?
|
||||
get() = getCarrier().correspondingPropertySymbolField
|
||||
set(v) {
|
||||
if (correspondingPropertySymbol !== v) {
|
||||
setCarrier().correspondingPropertySymbolField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var isExternalField: Boolean = isExternal
|
||||
|
||||
override var isExternal: Boolean
|
||||
get() = getCarrier().isExternalField
|
||||
set(v) {
|
||||
if (isExternal != v) {
|
||||
setCarrier().isExternalField = v
|
||||
}
|
||||
}
|
||||
}
|
||||
+3
-102
@@ -1,19 +1,9 @@
|
||||
/*
|
||||
* Copyright 2010-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
|
||||
package org.jetbrains.kotlin.ir.declarations.persistent
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
@@ -29,95 +19,6 @@ import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
|
||||
internal abstract class PersistentIrPropertyCommon(
|
||||
override val startOffset: Int,
|
||||
override val endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
override val name: Name,
|
||||
override var visibility: DescriptorVisibility,
|
||||
override val isVar: Boolean,
|
||||
override val isConst: Boolean,
|
||||
override val isLateinit: Boolean,
|
||||
override val isDelegated: Boolean,
|
||||
isExternal: Boolean,
|
||||
override val isExpect: Boolean,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
) : IrProperty(),
|
||||
PersistentIrDeclarationBase<PropertyCarrier>,
|
||||
PropertyCarrier {
|
||||
|
||||
override var lastModified: Int = stageController.currentStage
|
||||
override var loweredUpTo: Int = stageController.currentStage
|
||||
override var values: Array<Carrier>? = null
|
||||
override val createdOn: Int = stageController.currentStage
|
||||
|
||||
override var parentField: IrDeclarationParent? = null
|
||||
override var originField: IrDeclarationOrigin = origin
|
||||
override var removedOn: Int = Int.MAX_VALUE
|
||||
override var annotationsField: List<IrConstructorCall> = emptyList()
|
||||
|
||||
override var backingFieldField: IrField? = null
|
||||
|
||||
override var backingField: IrField?
|
||||
get() = getCarrier().backingFieldField
|
||||
set(v) {
|
||||
if (backingField !== v) {
|
||||
setCarrier().backingFieldField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var getterField: IrSimpleFunction? = null
|
||||
|
||||
override var getter: IrSimpleFunction?
|
||||
get() = getCarrier().getterField
|
||||
set(v) {
|
||||
if (getter !== v) {
|
||||
setCarrier().getterField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var setterField: IrSimpleFunction? = null
|
||||
|
||||
override var setter: IrSimpleFunction?
|
||||
get() = getCarrier().setterField
|
||||
set(v) {
|
||||
if (setter !== v) {
|
||||
setCarrier().setterField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var metadataField: MetadataSource? = null
|
||||
|
||||
override var metadata: MetadataSource?
|
||||
get() = getCarrier().metadataField
|
||||
set(v) {
|
||||
if (metadata !== v) {
|
||||
setCarrier().metadataField = v
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("LeakingThis")
|
||||
override var attributeOwnerIdField: IrAttributeContainer = this
|
||||
|
||||
override var attributeOwnerId: IrAttributeContainer
|
||||
get() = getCarrier().attributeOwnerIdField
|
||||
set(v) {
|
||||
if (attributeOwnerId !== v) {
|
||||
setCarrier().attributeOwnerIdField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var isExternalField: Boolean = isExternal
|
||||
|
||||
override var isExternal: Boolean
|
||||
get() = getCarrier().isExternalField
|
||||
set(v) {
|
||||
if (isExternal != v) {
|
||||
setCarrier().isExternalField = v
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal class PersistentIrProperty(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
|
||||
+103
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.ir.declarations.persistent
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.Carrier
|
||||
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.PropertyCarrier
|
||||
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
|
||||
internal abstract class PersistentIrPropertyCommon(
|
||||
override val startOffset: Int,
|
||||
override val endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
override val name: Name,
|
||||
override var visibility: DescriptorVisibility,
|
||||
override val isVar: Boolean,
|
||||
override val isConst: Boolean,
|
||||
override val isLateinit: Boolean,
|
||||
override val isDelegated: Boolean,
|
||||
isExternal: Boolean,
|
||||
override val isExpect: Boolean,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
) : IrProperty(),
|
||||
PersistentIrDeclarationBase<PropertyCarrier>,
|
||||
PropertyCarrier {
|
||||
|
||||
override var lastModified: Int = stageController.currentStage
|
||||
override var loweredUpTo: Int = stageController.currentStage
|
||||
override var values: Array<Carrier>? = null
|
||||
override val createdOn: Int = stageController.currentStage
|
||||
|
||||
override var parentField: IrDeclarationParent? = null
|
||||
override var originField: IrDeclarationOrigin = origin
|
||||
override var removedOn: Int = Int.MAX_VALUE
|
||||
override var annotationsField: List<IrConstructorCall> = emptyList()
|
||||
|
||||
override var backingFieldField: IrField? = null
|
||||
|
||||
override var backingField: IrField?
|
||||
get() = getCarrier().backingFieldField
|
||||
set(v) {
|
||||
if (backingField !== v) {
|
||||
setCarrier().backingFieldField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var getterField: IrSimpleFunction? = null
|
||||
|
||||
override var getter: IrSimpleFunction?
|
||||
get() = getCarrier().getterField
|
||||
set(v) {
|
||||
if (getter !== v) {
|
||||
setCarrier().getterField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var setterField: IrSimpleFunction? = null
|
||||
|
||||
override var setter: IrSimpleFunction?
|
||||
get() = getCarrier().setterField
|
||||
set(v) {
|
||||
if (setter !== v) {
|
||||
setCarrier().setterField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var metadataField: MetadataSource? = null
|
||||
|
||||
override var metadata: MetadataSource?
|
||||
get() = getCarrier().metadataField
|
||||
set(v) {
|
||||
if (metadata !== v) {
|
||||
setCarrier().metadataField = v
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("LeakingThis")
|
||||
override var attributeOwnerIdField: IrAttributeContainer = this
|
||||
|
||||
override var attributeOwnerId: IrAttributeContainer
|
||||
get() = getCarrier().attributeOwnerIdField
|
||||
set(v) {
|
||||
if (attributeOwnerId !== v) {
|
||||
setCarrier().attributeOwnerIdField = v
|
||||
}
|
||||
}
|
||||
|
||||
override var isExternalField: Boolean = isExternal
|
||||
|
||||
override var isExternal: Boolean
|
||||
get() = getCarrier().isExternalField
|
||||
set(v) {
|
||||
if (isExternal != v) {
|
||||
setCarrier().isExternalField = v
|
||||
}
|
||||
}
|
||||
}
|
||||
+5
-5
@@ -9,15 +9,15 @@ import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
|
||||
import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent
|
||||
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
||||
|
||||
internal interface ErrorCarrier : DeclarationCarrier {
|
||||
override fun clone(): ErrorCarrier {
|
||||
return ErrorCarrierImpl(lastModified, parentField, originField, annotationsField)
|
||||
internal interface ErrorDeclarationCarrier : DeclarationCarrier {
|
||||
override fun clone(): ErrorDeclarationCarrier {
|
||||
return ErrorDeclarationCarrierImpl(lastModified, parentField, originField, annotationsField)
|
||||
}
|
||||
}
|
||||
|
||||
internal class ErrorCarrierImpl(
|
||||
internal class ErrorDeclarationCarrierImpl(
|
||||
override val lastModified: Int,
|
||||
override var parentField: IrDeclarationParent?,
|
||||
override var originField: IrDeclarationOrigin,
|
||||
override var annotationsField: List<IrConstructorCall>
|
||||
) : ErrorCarrier
|
||||
) : ErrorDeclarationCarrier
|
||||
Reference in New Issue
Block a user