diff --git a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrDeclarationBase.kt b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrDeclarationBase.kt index ee6c3eea510..c9b93bc9073 100644 --- a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrDeclarationBase.kt +++ b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrDeclarationBase.kt @@ -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 diff --git a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrErrorDeclaration.kt b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrErrorDeclaration.kt index e474cc26e43..949698978fd 100644 --- a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrErrorDeclaration.kt +++ b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrErrorDeclaration.kt @@ -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, IrErrorDeclaration(), ErrorCarrier { +) : PersistentIrDeclarationBase, IrErrorDeclaration(), ErrorDeclarationCarrier { override val descriptor: DeclarationDescriptor get() = _descriptor ?: this.toIrBasedDescriptor() diff --git a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunction.kt b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunction.kt index e75fef79067..9cf6f61b6ab 100644 --- a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunction.kt +++ b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunction.kt @@ -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 { - - override var lastModified: Int = stageController.currentStage - override var loweredUpTo: Int = stageController.currentStage - override var values: Array? = 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 = 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 = emptyList() - - override var typeParameters: List - 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 = emptyList() - - override var valueParameters: List - 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 = emptyList() - - override var overriddenSymbols: List - 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, diff --git a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunctionCommon.kt b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunctionCommon.kt new file mode 100644 index 00000000000..56a5a612bec --- /dev/null +++ b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunctionCommon.kt @@ -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 { + + override var lastModified: Int = stageController.currentStage + override var loweredUpTo: Int = stageController.currentStage + override var values: Array? = 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 = 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 = emptyList() + + override var typeParameters: List + 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 = emptyList() + + override var valueParameters: List + 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 = emptyList() + + override var overriddenSymbols: List + 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 + } + } +} diff --git a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrProperty.kt b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrProperty.kt index c9383041931..eba7bdafa13 100644 --- a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrProperty.kt +++ b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrProperty.kt @@ -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 { - - override var lastModified: Int = stageController.currentStage - override var loweredUpTo: Int = stageController.currentStage - override var values: Array? = 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 = 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, diff --git a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrPropertyCommon.kt b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrPropertyCommon.kt new file mode 100644 index 00000000000..d43fe79bf49 --- /dev/null +++ b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrPropertyCommon.kt @@ -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 { + + override var lastModified: Int = stageController.currentStage + override var loweredUpTo: Int = stageController.currentStage + override var values: Array? = 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 = 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 + } + } +} diff --git a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/carriers/ErrorCarrier.kt b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/carriers/ErrorDeclarationCarrier.kt similarity index 68% rename from compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/carriers/ErrorCarrier.kt rename to compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/carriers/ErrorDeclarationCarrier.kt index 936c123b002..94a251b04f4 100644 --- a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/carriers/ErrorCarrier.kt +++ b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/carriers/ErrorDeclarationCarrier.kt @@ -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 -) : ErrorCarrier +) : ErrorDeclarationCarrier