Review fix: unify irTemporary variants

This commit is contained in:
Georgy Bronnikov
2020-10-21 13:24:23 +03:00
parent 8e331c8afe
commit b7a07fdf03
7 changed files with 14 additions and 41 deletions
@@ -271,7 +271,7 @@ class IrSparseArrayParcelSerializer(
) : IrParcelSerializer {
override fun AndroidIrBuilder.readParcel(parcel: IrValueDeclaration): IrExpression =
irBlock {
val remainingSizeTemporary = irTemporaryVar(parcelReadInt(irGet(parcel)))
val remainingSizeTemporary = irTemporary(parcelReadInt(irGet(parcel)), isMutable = true)
val sparseArrayConstructor = sparseArrayClass.constructors.first { irConstructor ->
irConstructor.valueParameters.size == 1 && irConstructor.valueParameters.single().type.isInt()
@@ -125,7 +125,7 @@ fun IrClass.isSubclassOfFqName(fqName: String): Boolean =
fqNameWhenAvailable?.asString() == fqName || superTypes.any { it.erasedUpperBound.isSubclassOfFqName(fqName) }
inline fun IrBlockBuilder.forUntil(upperBound: IrExpression, loopBody: IrBlockBuilder.(IrValueDeclaration) -> Unit) {
val indexTemporary = irTemporaryVar(irInt(0))
val indexTemporary = irTemporary(irInt(0), isMutable = true)
+irWhile().apply {
condition = irNotEquals(irGet(indexTemporary), upperBound)
body = irBlock {