|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.millscript.millscript.expr.Expr<Action>
org.millscript.millscript.expr.Block
public final class Block
This class implements a block expression. A block is a simple wrapper for its body expression, except that it introduces a new scope to the compiler.
BlockAction| Constructor Summary | |
|---|---|
Block(Expr<?> e)
Creates a new block expression with the specified body. |
|
| Method Summary | |
|---|---|
Action |
compileIt()
Compiles this expression into an action. |
void |
resolve(CompilerState state)
Resolves any NameExpr in the tree so that they refer to the
correct ident. |
void |
setIsUsed()
Marks this block as used. |
| Methods inherited from class org.millscript.millscript.expr.Expr |
|---|
arity, compile, isIntegerExpr, resolveList, setLineNumber, setOrigin, show, show |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Block(Expr<?> e)
e - the body expression for this block| Method Detail |
|---|
public Action compileIt()
Expr
compileIt in class Expr<Action>Action for this expressionExpr.compileIt()public void resolve(CompilerState state)
ExprNameExpr in the tree so that they refer to the
correct ident. e.g. This method is responsible for ensuring that
references to a function argument in the body of a function actually
refer to the correct value.
resolve in class Expr<Action>state - the compiler state we are resolving inExpr.resolve(org.millscript.millscript.vm.CompilerState)public void setIsUsed()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||