logo

class

compiler::WithBlockExpr

sys::Obj
  compiler::Node
    compiler::Expr
      compiler::WithBlockExpr

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

base

Expr base

Source

isCtorWithBlock

Bool isCtorWithBlock()

Source

isStmt

override Bool 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.

Source

make

new make(Expr base)

Source

serialize

override Str serialize()

Return this expression as serialization text or throw exception if not serializable.

Source

subs

WithSubExpr[] subs

Source

toStr

override Str toStr()

Return a string representation of this object.

Source

walkChildren

override Void walkChildren(Visitor v)

Source