diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt index bca4d4bdc20..908b8a7c018 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt @@ -338,7 +338,8 @@ internal fun IrDeclarationParent.declareThisReceiverParameter( symbolTable.irFactory.createValueParameter( startOffset, endOffset, thisOrigin, symbol, Name.special(""), UNDEFINED_PARAMETER_INDEX, thisType, - varargElementType = null, isCrossinline = false, isNoinline = false, isAssignable = false + varargElementType = null, isCrossinline = false, isNoinline = false, + isHidden = false, isAssignable = false ).apply { this.parent = this@declareThisReceiverParameter receiverDescriptor.bind(this) 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 3f99bf128a7..1b2734c6a2b 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 @@ -269,7 +269,8 @@ class Fir2IrDeclarationStorage( startOffset, endOffset, IrDeclarationOrigin.DEFINED, symbol, Name.special(""), 0, type, varargElementType = null, - isCrossinline = false, isNoinline = false, isAssignable = false + isCrossinline = false, isNoinline = false, + isHidden = false, isAssignable = false ).apply { this.parent = parent descriptor.bind(this) @@ -895,7 +896,8 @@ class Fir2IrDeclarationStorage( valueParameter.name, index, type, if (!valueParameter.isVararg) null else valueParameter.returnTypeRef.coneType.arrayElementType()?.toIrType(typeContext), - valueParameter.isCrossinline, valueParameter.isNoinline + isCrossinline = valueParameter.isCrossinline, isNoinline = valueParameter.isNoinline, + isHidden = false, isAssignable = false ).apply { descriptor.bind(this) if (valueParameter.defaultValue.let { diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/AdapterGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/AdapterGenerator.kt index cb59bea9a29..8a545df2e03 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/AdapterGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/AdapterGenerator.kt @@ -266,6 +266,7 @@ internal class AdapterGenerator( varargElementType = null, isCrossinline = false, isNoinline = false, + isHidden = false, isAssignable = false ).also { irAdapterValueParameter -> descriptor.bind(irAdapterValueParameter) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt index c5e3a584bc6..7e0ecbf63dd 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt @@ -295,7 +295,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) { ) { symbol -> components.irFactory.createValueParameter( UNDEFINED_OFFSET, UNDEFINED_OFFSET, origin, symbol, name, index, type, null, - isCrossinline = false, isNoinline = false, isAssignable = false + isCrossinline = false, isNoinline = false, isHidden = false, isAssignable = false ) }.apply { parent = irFunction diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt index 4f1ac7a583e..ea220ef45aa 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt @@ -144,7 +144,8 @@ fun IrValueParameter.copyTo( } return factory.createValueParameter( startOffset, endOffset, origin, symbol, - name, index, type, varargElementType, isCrossinline, isNoinline, isAssignable = isAssignable + name, index, type, varargElementType, isCrossinline = isCrossinline, + isNoinline = isNoinline, isHidden = false, isAssignable = isAssignable ).also { descriptor.bind(it) it.parent = irFunction @@ -173,7 +174,8 @@ fun IrFunction.copyReceiverParametersFrom(from: IrFunction, substitutionMap: Map name, index, type.substitute(substitutionMap), varargElementType?.substitute(substitutionMap), - isCrossinline, isNoinline + isCrossinline, isNoinline, + isHidden, isAssignable ).also { parameter -> parameter.parent = this@copyReceiverParametersFrom newDescriptor.bind(this) @@ -428,7 +430,9 @@ fun IrFunction.createDispatchReceiverParameter(origin: IrDeclarationOrigin? = nu parentAsClass.defaultType, null, isCrossinline = false, - isNoinline = false + isNoinline = false, + isHidden = false, + isAssignable = false ).apply { parent = this@createDispatchReceiverParameter newDescriptor.bind(this) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/ir/builders/declarations/declarationBuilders.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/ir/builders/declarations/declarationBuilders.kt index 82081ca4438..4314229c78f 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/ir/builders/declarations/declarationBuilders.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/ir/builders/declarations/declarationBuilders.kt @@ -211,7 +211,8 @@ fun buildReceiverParameter( parent.factory.createValueParameter( startOffset, endOffset, origin, IrValueParameterSymbolImpl(wrappedDescriptor), - RECEIVER_PARAMETER_NAME, -1, type, null, isCrossinline = false, isNoinline = false, isAssignable = false + RECEIVER_PARAMETER_NAME, -1, type, null, isCrossinline = false, isNoinline = false, + isHidden = false, isAssignable = false ).also { wrappedDescriptor.bind(it) it.parent = parent diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ArgumentsGenerationUtils.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ArgumentsGenerationUtils.kt index 5fa26c4a8fb..ce574d96186 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ArgumentsGenerationUtils.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ArgumentsGenerationUtils.kt @@ -386,7 +386,8 @@ private fun StatementGenerator.createFunctionForSuspendConversion( ) { context.irFactory.createValueParameter( startOffset, endOffset, IrDeclarationOrigin.ADAPTER_PARAMETER_FOR_SUSPEND_CONVERSION, - it, Name.identifier(name), index, type, varargElementType = null, isCrossinline = false, isNoinline = false + it, Name.identifier(name), index, type, varargElementType = null, isCrossinline = false, isNoinline = false, + isHidden = false, isAssignable = false ) }.also { descriptor.bind(it) diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ReflectionReferencesGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ReflectionReferencesGenerator.kt index afb24766516..62c8337ccc2 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ReflectionReferencesGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ReflectionReferencesGenerator.kt @@ -383,7 +383,7 @@ class ReflectionReferencesGenerator(statementGenerator: StatementGenerator) : St name, index, type.toIrType(), - varargElementType = null, isCrossinline = false, isNoinline = false, isAssignable = false + varargElementType = null, isCrossinline = false, isNoinline = false, isHidden = false, isAssignable = false ).also { irAdapterValueParameter -> descriptor.bind(irAdapterValueParameter) } diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ScriptGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ScriptGenerator.kt index 44aa66e2264..40537f04296 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ScriptGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ScriptGenerator.kt @@ -74,7 +74,8 @@ class ScriptGenerator(declarationGenerator: DeclarationGenerator) : DeclarationG origin, symbol, context.symbolTable.nameProvider.nameForDeclaration(descriptor), if (index != -1) index else descriptor.indexOrMinusOne, type, varargElementType, - descriptor.isCrossinline, descriptor.isNoinline, false + descriptor.isCrossinline, descriptor.isNoinline, + isHidden = false, isAssignable = false ) } .also { it.parent = irScript } } diff --git a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrValueParameterImpl.kt b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrValueParameterImpl.kt index 1e92a75769b..5e8e09a877e 100644 --- a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrValueParameterImpl.kt +++ b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrValueParameterImpl.kt @@ -39,8 +39,8 @@ class IrValueParameterImpl( override var varargElementType: IrType?, override val isCrossinline: Boolean, override val isNoinline: Boolean, - override val isHidden: Boolean = false, - override val isAssignable: Boolean = false + override val isHidden: Boolean, + override val isAssignable: Boolean ) : IrValueParameter() { @ObsoleteDescriptorBasedAPI override val descriptor: ParameterDescriptor diff --git a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrValueParameter.kt b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrValueParameter.kt index a7e6212d0da..84a10bee4c8 100644 --- a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrValueParameter.kt +++ b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrValueParameter.kt @@ -41,7 +41,7 @@ internal class PersistentIrValueParameter( varargElementType: IrType?, override val isCrossinline: Boolean, override val isNoinline: Boolean, - override val isHidden: Boolean = false, + override val isHidden: Boolean, override val isAssignable: Boolean ) : IrValueParameter(), PersistentIrDeclarationBase, diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFactory.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFactory.kt index 6ad4e6cfcda..89e67e51841 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFactory.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFactory.kt @@ -199,8 +199,8 @@ interface IrFactory { varargElementType: IrType?, isCrossinline: Boolean, isNoinline: Boolean, - isHidden: Boolean = false, - isAssignable: Boolean = false + isHidden: Boolean, + isAssignable: Boolean ): IrValueParameter // Bodies diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyDeclarationBase.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyDeclarationBase.kt index 3a8829bc43f..0bd01779c6a 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyDeclarationBase.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyDeclarationBase.kt @@ -32,7 +32,8 @@ interface IrLazyDeclarationBase : IrDeclaration { fun ReceiverParameterDescriptor.generateReceiverParameterStub(): IrValueParameter = factory.createValueParameter( UNDEFINED_OFFSET, UNDEFINED_OFFSET, origin, IrValueParameterSymbolImpl(this), - name, -1, type.toIrType(), null, isCrossinline = false, isNoinline = false, isAssignable = false + name, -1, type.toIrType(), null, isCrossinline = false, isNoinline = false, + isHidden = false, isAssignable = false ) fun generateMemberStubs(memberScope: MemberScope, container: MutableList) { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrBuiltIns.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrBuiltIns.kt index 4b47ecf8410..a499065b010 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrBuiltIns.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrBuiltIns.kt @@ -80,7 +80,7 @@ class IrBuiltIns( val valueParameterSymbol = IrValueParameterSymbolImpl(valueParameterDescriptor) irFactory.createValueParameter( UNDEFINED_OFFSET, UNDEFINED_OFFSET, BUILTIN_OPERATOR, valueParameterSymbol, Name.identifier("arg$i"), i, - valueParameterType, null, isCrossinline = false, isNoinline = false, isAssignable = false + valueParameterType, null, isCrossinline = false, isNoinline = false, isHidden = false, isAssignable = false ).apply { parent = operator } @@ -165,7 +165,7 @@ class IrBuiltIns( val valueParameterSymbol = IrValueParameterSymbolImpl(valueParameterDescriptor) val valueParameter = irFactory.createValueParameter( UNDEFINED_OFFSET, UNDEFINED_OFFSET, BUILTIN_OPERATOR, valueParameterSymbol, Name.identifier("arg0"), 0, - valueIrType, null, isCrossinline = false, isNoinline = false, isAssignable = false + valueIrType, null, isCrossinline = false, isNoinline = false, isHidden = false, isAssignable = false ) valueParameter.parent = operator diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrFunctionFactory.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrFunctionFactory.kt index e66d28dfba4..bc2dd3b00db 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrFunctionFactory.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrFunctionFactory.kt @@ -269,6 +269,7 @@ class IrFunctionFactory(private val irBuiltIns: IrBuiltIns, private val symbolTa offset, offset, classOrigin, vSymbol, Name.special(""), -1, type, null, isCrossinline = false, isNoinline = false, + isHidden = false, isAssignable = false ) @@ -334,6 +335,7 @@ class IrFunctionFactory(private val irBuiltIns: IrBuiltIns, private val symbolTa offset, offset, memberOrigin, vSymbol, Name.identifier("p$i"), i - 1, vType, null, isCrossinline = false, isNoinline = false, + isHidden = false, isAssignable = false ) vDeclaration.parent = fDeclaration @@ -366,7 +368,7 @@ class IrFunctionFactory(private val irBuiltIns: IrBuiltIns, private val symbolTa private fun IrFunction.createValueParameter(descriptor: ParameterDescriptor): IrValueParameter = with(descriptor) { irFactory.createValueParameter( offset, offset, memberOrigin, IrValueParameterSymbolImpl(this), name, indexOrMinusOne, toIrType(type), - (this as? ValueParameterDescriptor)?.varargElementType?.let(::toIrType), isCrossinline, isNoinline + (this as? ValueParameterDescriptor)?.varargElementType?.let(::toIrType), isCrossinline, isNoinline, false, false ).also { it.parent = this@createValueParameter } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/FakeOverrideCopier.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/FakeOverrideCopier.kt index 4bfb6faeeb1..6805b771f1b 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/FakeOverrideCopier.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/FakeOverrideCopier.kt @@ -96,7 +96,8 @@ class FakeOverrideCopier( declaration.varargElementType?.remapType(), declaration.isCrossinline, declaration.isNoinline, - false + declaration.isHidden, + declaration.isAssignable ).apply { transformAnnotations(declaration) // Don't set the default value for fake overrides. diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeclarationStubGenerator.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeclarationStubGenerator.kt index 0ffed6b9f03..7287ed068a8 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeclarationStubGenerator.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeclarationStubGenerator.kt @@ -246,7 +246,7 @@ class DeclarationStubGenerator( internal fun generateValueParameterStub(descriptor: ValueParameterDescriptor): IrValueParameter = with(descriptor) { symbolTable.irFactory.createValueParameter( UNDEFINED_OFFSET, UNDEFINED_OFFSET, computeOrigin(this), IrValueParameterSymbolImpl(this), name, index, type.toIrType(), - varargElementType?.toIrType(), isCrossinline, isNoinline, false + varargElementType?.toIrType(), isCrossinline, isNoinline, isHidden = false, isAssignable = false ).also { irValueParameter -> if (descriptor.declaresDefaultValue()) { irValueParameter.defaultValue = diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt index 70b5b5214d3..9fb87ab940b 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt @@ -351,6 +351,7 @@ open class DeepCopyIrTreeWithSymbols( declaration.varargElementType?.remapType(), declaration.isCrossinline, declaration.isNoinline, + declaration.isHidden, declaration.isAssignable ).apply { transformAnnotations(declaration) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt index 28a46025702..6200f564dba 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt @@ -901,7 +901,8 @@ class SymbolTable( valueParameterFactory: (IrValueParameterSymbol) -> IrValueParameter = { irFactory.createValueParameter( startOffset, endOffset, origin, it, name ?: nameProvider.nameForDeclaration(descriptor), - descriptor.indexOrMinusOne, type, varargElementType, descriptor.isCrossinline, descriptor.isNoinline, false + descriptor.indexOrMinusOne, type, varargElementType, descriptor.isCrossinline, descriptor.isNoinline, + isHidden = false, isAssignable = false ) } ): IrValueParameter = diff --git a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/codegen/AndroidIrExtension.kt b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/codegen/AndroidIrExtension.kt index 7b6ee95706b..42667cb55a5 100644 --- a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/codegen/AndroidIrExtension.kt +++ b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/codegen/AndroidIrExtension.kt @@ -244,7 +244,8 @@ private fun TranslationPluginContext.declareParameterStub(parameterDescriptor: P val varargElementType = parameterDescriptor.varargElementType?.let { typeTranslator.translateType(it) } return irFactory.createValueParameter( UNDEFINED_OFFSET, UNDEFINED_OFFSET, IrDeclarationOrigin.DEFINED, symbol, parameterDescriptor.name, - parameterDescriptor.indexOrMinusOne, type, varargElementType, parameterDescriptor.isCrossinline, parameterDescriptor.isNoinline + parameterDescriptor.indexOrMinusOne, type, varargElementType, parameterDescriptor.isCrossinline, + parameterDescriptor.isNoinline, isHidden = false, isAssignable = false ) } diff --git a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt index 42a41eb3847..9f8c2ec00c1 100644 --- a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt +++ b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt @@ -418,7 +418,8 @@ interface IrBuilderExtension { fun irValueParameter(descriptor: ParameterDescriptor): IrValueParameter = with(descriptor) { factory.createValueParameter( function.startOffset, function.endOffset, SERIALIZABLE_PLUGIN_ORIGIN, IrValueParameterSymbolImpl(this), - name, indexOrMinusOne, type.toIrType(), varargElementType?.toIrType(), isCrossinline, isNoinline, false + name, indexOrMinusOne, type.toIrType(), varargElementType?.toIrType(), isCrossinline, isNoinline, + isHidden = false, isAssignable = false ).also { it.parent = function }