[IR] Add IR support for setting parameters.

Use it in the JVM_IR backend for default values code. The parameter
local has to be overwritten for the inliner to work.
This commit is contained in:
Mads Ager
2020-09-01 14:28:07 +02:00
committed by Alexander Udalov
parent db23460fd5
commit 9a93bb3f09
46 changed files with 107 additions and 144 deletions
@@ -299,7 +299,7 @@ class IrSparseArrayParcelSerializer(
}
val dec = context.irBuiltIns.intClass.getSimpleFunction("dec")!!
+irSetVar(remainingSizeTemporary.symbol, irCall(dec).apply {
+irSet(remainingSizeTemporary.symbol, irCall(dec).apply {
dispatchReceiver = irGet(remainingSizeTemporary)
})
}
@@ -131,7 +131,7 @@ inline fun IrBlockBuilder.forUntil(upperBound: IrExpression, loopBody: IrBlockBu
body = irBlock {
loopBody(indexTemporary)
val inc = context.irBuiltIns.intClass.getSimpleFunction("inc")!!
+irSetVar(indexTemporary.symbol, irCall(inc).apply {
+irSet(indexTemporary.symbol, irCall(inc).apply {
dispatchReceiver = irGet(indexTemporary)
})
}