IR: remove cast to IrStatement in IrDeclarationBase.transform

(cherry picked from commit a8fbaf5896b7aecf99c865a28ecc8b86a582a05e)
This commit is contained in:
Alexander Udalov
2020-08-04 12:26:14 +02:00
committed by Vasily Levchenko
parent de33e1c81a
commit 5838720751
@@ -30,6 +30,7 @@ import org.jetbrains.kotlin.ir.symbols.*
import org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl
import org.jetbrains.kotlin.ir.symbols.impl.IrPropertySymbolImpl
import org.jetbrains.kotlin.ir.symbols.impl.IrSimpleFunctionSymbolImpl
import org.jetbrains.kotlin.ir.transformStatement
import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.ir.visitors.*
@@ -448,7 +449,7 @@ private class InlineClassTransformer(private val context: Context) : IrBuildingT
(irConstructor.body as IrBlockBody).statements.forEach { statement ->
statement.setDeclarationsParent(result)
+statement.transform(object : IrElementTransformerVoid() {
+statement.transformStatement(object : IrElementTransformerVoid() {
override fun visitDelegatingConstructorCall(expression: IrDelegatingConstructorCall): IrExpression {
expression.transformChildrenVoid()
@@ -479,8 +480,7 @@ private class InlineClassTransformer(private val context: Context) : IrBuildingT
return expression
}
}, null)
})
}
+irReturn(irGet(thisVar))
}