Skip to content

Commit a5a62a7

Browse files
Aleksei.GlushkoSpace Team
Aleksei.Glushko
authored and
Space Team
committed
[K/N] New parameter API: misc 2 ^KT-73361
1 parent 17e7949 commit a5a62a7

File tree

6 files changed

+19
-23
lines changed

6 files changed

+19
-23
lines changed

kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CachesAbiLowering.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ internal class ExportCachesAbiVisitor(val context: Context) : IrVisitor<Unit, Mu
136136
context.createIrBuilder(function.symbol).apply {
137137
function.body = irBlockBody {
138138
+irReturn(irGetField(
139-
irGet(function.valueParameters[0]),
139+
irGet(function.parameters[0]),
140140
this@ExportCachesAbiVisitor.context.innerClassesSupport.getOuterThisField(declaration))
141141
)
142142
}
@@ -157,7 +157,7 @@ internal class ExportCachesAbiVisitor(val context: Context) : IrVisitor<Unit, Mu
157157
val function = cachesAbiSupport.getLateinitPropertyAccessor(declaration)
158158
context.createIrBuilder(function.symbol).apply {
159159
function.body = irBlockBody {
160-
+irReturn(irGetField(ownerClass?.let { irGet(function.valueParameters[0]) }, backingField))
160+
+irReturn(irGetField(ownerClass?.let { irGet(function.parameters[0]) }, backingField))
161161
}
162162
}
163163
data.add(function)
@@ -210,7 +210,7 @@ internal class ImportCachesAbiTransformer(val generationState: NativeGenerationS
210210
dependenciesTracker.add(irClass)
211211
createIrBuilder().run {
212212
irCall(accessor).apply {
213-
putValueArgument(0, expression.receiver)
213+
arguments[0] = expression.receiver
214214
}
215215
}
216216
}
@@ -221,7 +221,7 @@ internal class ImportCachesAbiTransformer(val generationState: NativeGenerationS
221221
createIrBuilder().run {
222222
irCall(accessor).apply {
223223
if (irClass != null)
224-
putValueArgument(0, expression.receiver)
224+
arguments[0] = expression.receiver
225225
}
226226
}
227227
}

kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/ExpectToActualDefaultValueCopier.kt

+6-10
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,15 @@ internal class ExpectToActualDefaultValueCopier(private val irModule: IrModuleFr
5757
val defaultValue = declaration.defaultValue ?: return
5858
val function = declaration.parent as IrFunction
5959

60-
val index = declaration.indexInOldValueParameters
61-
assert(function.valueParameters[index] == declaration)
60+
val index = declaration.indexInParameters
61+
assert(function.parameters[index] == declaration)
6262

6363
if (function is IrConstructor && OptionalAnnotationUtil.isOptionalAnnotationClass(function.descriptor.constructedClass)) {
6464
return
6565
}
6666

6767
val actualForExpected = function.findActualForExpected()
68-
actualForExpected.valueParameters[index].defaultValue =
68+
actualForExpected.parameters[index].defaultValue =
6969
irBuiltIns.irFactory.createExpressionBody(
7070
defaultValue.startOffset, defaultValue.endOffset,
7171
defaultValue.expression.remapExpectValueSymbols().patchDeclarationParents(actualForExpected)
@@ -188,13 +188,9 @@ internal class ExpectToActualDefaultValueCopier(private val irModule: IrModuleFr
188188
is IrFunction ->
189189
if (!parent.descriptor.isExpect)
190190
null
191-
else when (parameter) {
192-
parent.dispatchReceiverParameter -> parent.findActualForExpected().dispatchReceiverParameter!!
193-
parent.extensionReceiverParameter -> parent.findActualForExpected().extensionReceiverParameter!!
194-
else -> {
195-
assert(parent.valueParameters[parameter.indexInOldValueParameters] == parameter)
196-
parent.findActualForExpected().valueParameters[parameter.indexInOldValueParameters]
197-
}
191+
else {
192+
assert(parent.parameters[parameter.indexInParameters] == parameter)
193+
parent.findActualForExpected().parameters[parameter.indexInParameters]
198194
}
199195

200196
else -> error(parent)

kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeDefaultParameterInjector.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ internal class NativeDefaultParameterInjector(context: KonanBackendContext) : De
4949

5050
return with(createIrBuilder()) {
5151
irCallWithSubstitutedType(symbols.reinterpret, listOf(nullConstOfEquivalentType.type, type)).apply {
52-
extensionReceiver = nullConstOfEquivalentType
52+
arguments[0] = nullConstOfEquivalentType
5353
}
5454
}
5555
}

kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeReflectionIrBuilder.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -60,16 +60,16 @@ internal class NativeRuntimeReflectionIrBuilder(
6060
typeArguments: List<IrType>
6161
): IrExpression {
6262
val constructor = clazz.primaryConstructor!!.symbol.owner
63-
val arguments = constructor.valueParameters.also {
63+
val arguments = constructor.parameters.also {
6464
require(it.size == elements.size) {
6565
"Wrong number of values provided for ${clazz.name} construction: ${elements.size} instead of ${it.size}"
6666
}
6767
}.map {
6868
elements[it.name.asString()] ?: error("No value for field named ${it.name} provided")
6969
}
7070
return irCallConstructor(constructor.symbol, typeArguments).apply {
71-
for ((index, i) in arguments.withIndex()) {
72-
putValueArgument(index, i)
71+
for ((index, arg) in arguments.withIndex()) {
72+
this.arguments[index] = arg
7373
}
7474
}
7575
}

kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/RedundantCoercionsCleaner.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,15 @@ internal class RedundantCoercionsCleaner(val context: Context) : FileLoweringPas
7878
IrCallImpl(
7979
startOffset, endOffset, type, symbol, typeArguments.size, origin
8080
).apply {
81-
putValueArgument(0, result)
81+
arguments[0] = result
8282
}
8383
}
8484
}
8585
}
8686

8787
private fun IrFunction.getCoercedClass(): IrClass {
8888
if (name.asString().endsWith("-box>"))
89-
return valueParameters[0].type.classifierOrFail.owner as IrClass
89+
return parameters[0].type.classifierOrFail.owner as IrClass
9090
if (name.asString().endsWith("-unbox>"))
9191
return returnType.classifierOrFail.owner as IrClass
9292
error("Unexpected coercion: ${this.render()}")
@@ -109,7 +109,7 @@ internal class RedundantCoercionsCleaner(val context: Context) : FileLoweringPas
109109
if (!expression.isBoxOrUnboxCall())
110110
return super.visitCall(expression, null)
111111

112-
val argument = expression.getValueArgument(0)!!
112+
val argument = expression.arguments[0]!!
113113
return if (expression.symbol.owner.getCoercedClass() == data?.coercion?.symbol?.owner?.getCoercedClass()) {
114114
data.folded = true
115115
argument.transform(this, null)
@@ -119,7 +119,7 @@ internal class RedundantCoercionsCleaner(val context: Context) : FileLoweringPas
119119
if (state.folded)
120120
result
121121
else
122-
expression.also { it.putValueArgument(0, result) }
122+
expression.also { it.arguments[0] = result }
123123
}
124124
}
125125

kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/StaticCallableReferenceOptimization.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ internal class StaticCallableReferenceOptimization(val context: Context) : FileL
6262
val constructor = expression.symbol.owner
6363
val constructedClass = constructor.constructedClass
6464

65-
return if ((isLoweredFunctionReference(constructedClass) && constructor.valueParameters.isEmpty()) || expression.symbol in allPropertyReferenceSymbols) {
65+
return if ((isLoweredFunctionReference(constructedClass) && constructor.parameters.isEmpty()) || expression.symbol in allPropertyReferenceSymbols) {
6666
context.createIrBuilder(
6767
currentScope!!.scope.scopeOwnerSymbol,
6868
expression.startOffset,

0 commit comments

Comments
 (0)