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.IrFieldSymbolImpl
import org.jetbrains.kotlin.ir.symbols.impl.IrPropertySymbolImpl import org.jetbrains.kotlin.ir.symbols.impl.IrPropertySymbolImpl
import org.jetbrains.kotlin.ir.symbols.impl.IrSimpleFunctionSymbolImpl 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.types.IrType
import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.ir.visitors.* 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 -> (irConstructor.body as IrBlockBody).statements.forEach { statement ->
statement.setDeclarationsParent(result) statement.setDeclarationsParent(result)
+statement.transform(object : IrElementTransformerVoid() { +statement.transformStatement(object : IrElementTransformerVoid() {
override fun visitDelegatingConstructorCall(expression: IrDelegatingConstructorCall): IrExpression { override fun visitDelegatingConstructorCall(expression: IrDelegatingConstructorCall): IrExpression {
expression.transformChildrenVoid() expression.transformChildrenVoid()
@@ -479,8 +480,7 @@ private class InlineClassTransformer(private val context: Context) : IrBuildingT
return expression return expression
} }
})
}, null)
} }
+irReturn(irGet(thisVar)) +irReturn(irGet(thisVar))
} }