Fan

 

class

compiler::Block

sys::Obj
  compiler::Node
    compiler::Block

Block is a list of zero or more Stmts

Slots

addSource

Void add(Stmt stmt)

Append a statement

addAllSource

Void addAll(Stmt[] stmts)

Append a list of statements

isDefiniteAssignSource

Bool isDefiniteAssign(|Expr -> Bool| f)

Return if any of the statements perform definite assignment.

isEmptySource

Bool isEmpty()

Return is there are no statements

isExitSource

Bool isExit()

Does this block always cause us to exit the method (does the last statement return true for Stmt.isExit)

makeSource

new make(Location location)

printSource

override Void print(AstWriter out)

Overrides compiler::Node.print

Doc inherited from compiler::Node.print

Pretty print this node and it's descendants.

printOptSource

Void printOpt(AstWriter out, Bool braces := true)

sizeSource

Int size()

Return number of statements

stmtsSource

Stmt[] stmts

walkSource

Void walk(Visitor v, VisitDepth depth)

walkExprSource

Void walkExpr(|Expr -> Expr| closure)