IR: make IrComposite.isTransparentScope an extension
This commit is contained in:
committed by
Space Team
parent
63025030e3
commit
d286409b76
@@ -15,9 +15,6 @@ import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
||||
* @sample org.jetbrains.kotlin.ir.generator.IrTree.block
|
||||
*/
|
||||
abstract class IrBlock : IrContainerExpression() {
|
||||
override val isTransparentScope: Boolean
|
||||
get() = false
|
||||
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||
visitor.visitBlock(this, data)
|
||||
}
|
||||
|
||||
@@ -15,9 +15,6 @@ import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
||||
* @sample org.jetbrains.kotlin.ir.generator.IrTree.composite
|
||||
*/
|
||||
abstract class IrComposite : IrContainerExpression() {
|
||||
override val isTransparentScope: Boolean
|
||||
get() = true
|
||||
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||
visitor.visitComposite(this, data)
|
||||
}
|
||||
|
||||
@@ -20,8 +20,6 @@ import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
||||
abstract class IrContainerExpression : IrExpression(), IrStatementContainer {
|
||||
abstract val origin: IrStatementOrigin?
|
||||
|
||||
abstract val isTransparentScope: Boolean
|
||||
|
||||
override val statements: MutableList<IrStatement> = ArrayList(2)
|
||||
|
||||
override fun <D> acceptChildren(visitor: IrElementVisitor<Unit, D>, data: D) {
|
||||
|
||||
@@ -48,3 +48,6 @@ fun IrVararg.addElement(varargElement: IrVarargElement) {
|
||||
fun IrStringConcatenation.addArgument(argument: IrExpression) {
|
||||
arguments.add(argument)
|
||||
}
|
||||
|
||||
val IrContainerExpression.isTransparentScope: Boolean
|
||||
get() = this is IrComposite
|
||||
|
||||
@@ -618,7 +618,6 @@ object IrTree : AbstractTreeBuilder() {
|
||||
parent(statementContainer)
|
||||
|
||||
+field("origin", statementOriginType, nullable = true)
|
||||
+field("isTransparentScope", boolean)
|
||||
+listField("statements", statement, mutability = List, isChild = true) {
|
||||
generationCallback = {
|
||||
addModifiers(KModifier.OVERRIDE)
|
||||
@@ -631,19 +630,11 @@ object IrTree : AbstractTreeBuilder() {
|
||||
accept = true
|
||||
|
||||
parent(containerExpression)
|
||||
|
||||
+field("isTransparentScope", boolean) {
|
||||
baseGetter = code("false")
|
||||
}
|
||||
}
|
||||
val composite: ElementConfig by element(Expression) {
|
||||
visitorParent = containerExpression
|
||||
|
||||
parent(containerExpression)
|
||||
|
||||
+field("isTransparentScope", boolean) {
|
||||
baseGetter = code("true")
|
||||
}
|
||||
}
|
||||
val returnableBlock: ElementConfig by element(Expression) {
|
||||
parent(block)
|
||||
|
||||
Reference in New Issue
Block a user