IR impl: additional constructors for IrBody implementations

This commit is contained in:
Anton Bannykh
2020-01-14 18:23:44 +03:00
parent 20dc3ccdb8
commit b087d2d756
2 changed files with 8 additions and 0 deletions
@@ -34,6 +34,10 @@ class IrBlockBodyImpl(
this.statements.addAll(statements) this.statements.addAll(statements)
} }
constructor(startOffset: Int, endOffset: Int, fn: IrBlockBodyImpl.() -> Unit) : this(startOffset, endOffset) {
this.fn()
}
override val statements: MutableList<IrStatement> = ArrayList() override val statements: MutableList<IrStatement> = ArrayList()
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R { override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R {
@@ -35,6 +35,10 @@ class IrExpressionBodyImpl(
constructor(expression: IrExpression) : this(expression.startOffset, expression.endOffset, expression) constructor(expression: IrExpression) : this(expression.startOffset, expression.endOffset, expression)
constructor(startOffset: Int, endOffset: Int, initFn: IrExpressionBodyImpl.() -> Unit) : this(startOffset, endOffset) {
this.initFn()
}
override lateinit var expression: IrExpression override lateinit var expression: IrExpression
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R = override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =