WithBlockExpr is used enclose a series of sub-expressions against a base expression:
base { a = b; c() }
Translates to:
temp := base temp.a = b temp.c()
Slots
- baseSource
-
Expr base
- isCtorWithBlockSource
-
Bool isCtorWithBlock()
- isStmtSource
-
override Bool isStmt()
Overrides compiler::Expr.isStmt
Doc inherited from compiler::Expr.isStmt
Does this expression make up a complete statement. If you override this to true, then you must make sure the expr is popped in CodeAsm.
- makeSource
-
new make(Expr base)
- serializeSource
-
override Str serialize()
Overrides compiler::Expr.serialize
Doc inherited from compiler::Expr.serialize
Return this expression as serialization text or throw exception if not serializable.
- subsSource
-
WithSubExpr[] subs
- toStrSource
-
override Str toStr()
Overrides compiler::Expr.toStr
Doc inherited from sys::Obj.toStr
Return a string representation of this object.
- walkChildrenSource
-
override Void walkChildren(Visitor v)
Overrides compiler::Expr.walkChildren