diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt index 0e99942cd63..f56fd4feeeb 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt @@ -296,9 +296,16 @@ class Fir2IrDeclarationStorage( name: Name, source: SourceElement, ) : IrClassImpl( - UNDEFINED_OFFSET, UNDEFINED_OFFSET, origin, IrClassSymbolImpl(), name, - ClassKind.CLASS, DescriptorVisibilities.PUBLIC, Modality.FINAL, - source, IrFactoryImpl, + startOffset = UNDEFINED_OFFSET, + endOffset = UNDEFINED_OFFSET, + origin = origin, + symbol = IrClassSymbolImpl(), + name = name, + kind = ClassKind.CLASS, + visibility = DescriptorVisibilities.PUBLIC, + modality = Modality.FINAL, + source = source, + factory = IrFactoryImpl, ) private class NonCachedSourceFacadeContainerSource( diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmFileFacadeClass.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmFileFacadeClass.kt index a43009bc091..e1d70677e8a 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmFileFacadeClass.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmFileFacadeClass.kt @@ -23,9 +23,16 @@ class JvmFileFacadeClass( source: SourceElement, private val deserializeIr: (IrClass) -> Boolean, ) : IrClassImpl( - UNDEFINED_OFFSET, UNDEFINED_OFFSET, origin, - IrClassSymbolImpl(), name, ClassKind.CLASS, DescriptorVisibilities.PUBLIC, Modality.FINAL, - source, IrFactoryImpl + startOffset = UNDEFINED_OFFSET, + endOffset = UNDEFINED_OFFSET, + origin = origin, + symbol = IrClassSymbolImpl(), + name = name, + kind = ClassKind.CLASS, + visibility = DescriptorVisibilities.PUBLIC, + modality = Modality.FINAL, + source = source, + factory = IrFactoryImpl ), DeserializableClass { private var irLoaded: Boolean? = null diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFactoryImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFactoryImpl.kt index 98419ac09f6..ff9be25f828 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFactoryImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFactoryImpl.kt @@ -34,7 +34,14 @@ abstract class AbstractIrFactoryImpl : IrFactory { symbol: IrAnonymousInitializerSymbol, isStatic: Boolean, ): IrAnonymousInitializer = - IrAnonymousInitializerImpl(startOffset, endOffset, origin, symbol, isStatic, factory = this) + IrAnonymousInitializerImpl( + startOffset = startOffset, + endOffset = endOffset, + origin = origin, + symbol = symbol, + isStatic = isStatic, + factory = this + ) override fun createClass( startOffset: Int, @@ -56,7 +63,15 @@ abstract class AbstractIrFactoryImpl : IrFactory { source: SourceElement, ): IrClass = IrClassImpl( - startOffset, endOffset, origin, symbol, name, kind, visibility, modality, source, + startOffset = startOffset, + endOffset = endOffset, + origin = origin, + symbol = symbol, + name = name, + kind = kind, + visibility = visibility, + modality = modality, + source = source, factory = this ).apply { this.isCompanion = isCompanion @@ -84,8 +99,18 @@ abstract class AbstractIrFactoryImpl : IrFactory { containerSource: DeserializedContainerSource?, ): IrConstructor = IrConstructorImpl( - startOffset, endOffset, origin, symbol, name, visibility, isInline, isExternal, isPrimary, isExpect, - containerSource, factory = this + startOffset = startOffset, + endOffset = endOffset, + origin = origin, + symbol = symbol, + name = name, + visibility = visibility, + isInline = isInline, + isExternal = isExternal, + isPrimary = isPrimary, + isExpect = isExpect, + containerSource = containerSource, + factory = this ).apply { if (returnType != IrUninitializedType) { this.returnType = returnType @@ -99,14 +124,26 @@ abstract class AbstractIrFactoryImpl : IrFactory { name: Name, symbol: IrEnumEntrySymbol, ): IrEnumEntry = - IrEnumEntryImpl(startOffset, endOffset, origin, symbol, name, factory = this) + IrEnumEntryImpl( + startOffset = startOffset, + endOffset = endOffset, + origin = origin, + symbol = symbol, + name = name, + factory = this + ) override fun createErrorDeclaration( startOffset: Int, endOffset: Int, descriptor: DeclarationDescriptor?, ): IrErrorDeclaration = - IrErrorDeclarationImpl(startOffset, endOffset, descriptor, factory = this) + IrErrorDeclarationImpl( + startOffset = startOffset, + endOffset = endOffset, + _descriptor = descriptor, + factory = this + ) override fun createField( startOffset: Int, @@ -120,7 +157,19 @@ abstract class AbstractIrFactoryImpl : IrFactory { isStatic: Boolean, isExternal: Boolean, ): IrField = - IrFieldImpl(startOffset, endOffset, origin, symbol, name, type, visibility, isFinal, isExternal, isStatic, factory = this) + IrFieldImpl( + startOffset = startOffset, + endOffset = endOffset, + origin = origin, + symbol = symbol, + name = name, + type = type, + visibility = visibility, + isFinal = isFinal, + isExternal = isExternal, + isStatic = isStatic, + factory = this + ) override fun createSimpleFunction( startOffset: Int, @@ -142,9 +191,23 @@ abstract class AbstractIrFactoryImpl : IrFactory { isFakeOverride: Boolean, ): IrSimpleFunction = IrFunctionImpl( - startOffset, endOffset, origin, symbol, name, visibility, modality, - isInline, isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect, isFakeOverride, - containerSource, factory = this + startOffset = startOffset, + endOffset = endOffset, + origin = origin, + symbol = symbol, + name = name, + visibility = visibility, + modality = modality, + isInline = isInline, + isExternal = isExternal, + isTailrec = isTailrec, + isSuspend = isSuspend, + isOperator = isOperator, + isInfix = isInfix, + isExpect = isExpect, + isFakeOverride = isFakeOverride, + containerSource = containerSource, + factory = this ).apply { if (returnType != IrUninitializedType) { this.returnType = returnType @@ -199,7 +262,16 @@ abstract class AbstractIrFactoryImpl : IrFactory { type: IrType, isVar: Boolean, ): IrLocalDelegatedProperty = - IrLocalDelegatedPropertyImpl(startOffset, endOffset, origin, symbol, name, type, isVar, factory = this) + IrLocalDelegatedPropertyImpl( + startOffset = startOffset, + endOffset = endOffset, + origin = origin, + symbol = symbol, + name = name, + type = type, + isVar = isVar, + factory = this + ) override fun createProperty( startOffset: Int, @@ -219,9 +291,22 @@ abstract class AbstractIrFactoryImpl : IrFactory { isFakeOverride: Boolean, ): IrProperty = IrPropertyImpl( - startOffset, endOffset, origin, symbol, name, visibility, modality, - isVar, isConst, isLateinit, isDelegated, isExternal, isExpect, isFakeOverride, - containerSource, factory = this + startOffset = startOffset, + endOffset = endOffset, + origin = origin, + symbol = symbol, + name = name, + visibility = visibility, + modality = modality, + isVar = isVar, + isConst = isConst, + isLateinit = isLateinit, + isDelegated = isDelegated, + isExternal = isExternal, + isExpect = isExpect, + isFakeOverride = isFakeOverride, + containerSource = containerSource, + factory = this ) override fun createPropertyWithLateBinding( @@ -266,7 +351,17 @@ abstract class AbstractIrFactoryImpl : IrFactory { isActual: Boolean, expandedType: IrType, ): IrTypeAlias = - IrTypeAliasImpl(startOffset, endOffset, symbol, name, visibility, expandedType, isActual, origin, factory = this) + IrTypeAliasImpl( + startOffset = startOffset, + endOffset = endOffset, + symbol = symbol, + name = name, + visibility = visibility, + expandedType = expandedType, + isActual = isActual, + origin = origin, + factory = this + ) override fun createTypeParameter( startOffset: Int, @@ -278,7 +373,17 @@ abstract class AbstractIrFactoryImpl : IrFactory { index: Int, isReified: Boolean, ): IrTypeParameter = - IrTypeParameterImpl(startOffset, endOffset, origin, symbol, name, index, isReified, variance, factory = this) + IrTypeParameterImpl( + startOffset = startOffset, + endOffset = endOffset, + origin = origin, + symbol = symbol, + name = name, + index = index, + isReified = isReified, + variance = variance, + factory = this + ) override fun createValueParameter( startOffset: Int, @@ -295,8 +400,19 @@ abstract class AbstractIrFactoryImpl : IrFactory { isHidden: Boolean, ): IrValueParameter = IrValueParameterImpl( - startOffset, endOffset, origin, symbol, name, index, type, varargElementType, - isCrossinline, isNoinline, isHidden, isAssignable, factory = this + startOffset = startOffset, + endOffset = endOffset, + origin = origin, + symbol = symbol, + name = name, + index = index, + type = type, + varargElementType = varargElementType, + isCrossinline = isCrossinline, + isNoinline = isNoinline, + isHidden = isHidden, + isAssignable = isAssignable, + factory = this ) override fun createExpressionBody( @@ -304,11 +420,18 @@ abstract class AbstractIrFactoryImpl : IrFactory { endOffset: Int, expression: IrExpression, ): IrExpressionBody = - IrExpressionBodyImpl(startOffset, endOffset, expression) + IrExpressionBodyImpl( + startOffset = startOffset, + endOffset = endOffset, + expression = expression + ) override fun createBlockBody( startOffset: Int, endOffset: Int, ): IrBlockBody = - IrBlockBodyImpl(startOffset, endOffset) + IrBlockBodyImpl( + startOffset = startOffset, + endOffset = endOffset + ) } \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrErrorClassImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrErrorClassImpl.kt index b1593c40847..182fe741041 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrErrorClassImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrErrorClassImpl.kt @@ -21,11 +21,16 @@ import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.utils.addToStdlib.shouldNotBeCalled -@OptIn(IrImplementationDetail::class) -val IrErrorClassImpl = IrClassImpl( - UNDEFINED_OFFSET, UNDEFINED_OFFSET, IrDeclarationOrigin.ERROR_CLASS, IrClassSymbolImpl(), - Name.special(""), ClassKind.CLASS, DescriptorVisibilities.DEFAULT_VISIBILITY, Modality.FINAL, - SourceElement.NO_SOURCE, IrFactoryImpl +val IrErrorClassImpl: IrClass = IrFactoryImpl.createClass( + startOffset = UNDEFINED_OFFSET, + endOffset = UNDEFINED_OFFSET, + origin = IrDeclarationOrigin.ERROR_CLASS, + symbol = IrClassSymbolImpl(), + name = Name.special(""), + kind = ClassKind.CLASS, + visibility = DescriptorVisibilities.DEFAULT_VISIBILITY, + modality = Modality.FINAL, + source = SourceElement.NO_SOURCE, ).apply { parent = ErrorFile }