edu.mit.ai.psg.jeva
Class JNSIfStatement
java.lang.Object
|
+--edu.mit.ai.psg.jeva.SimpleNode
|
+--edu.mit.ai.psg.jeva.JevaNode
|
+--edu.mit.ai.psg.jeva.JNSIfStatement
- public class JNSIfStatement
- extends JevaNode
- implements IStatementNode
Jeva parse Node for if Statements.
| Methods inherited from class edu.mit.ai.psg.jeva.JevaNode |
checkInsertionPoint,
find2ndTokenBeforeEndBody,
findChildIndex,
findPrecedingToken,
findTokenBeforeChild,
findTokenBeforeChild,
findTokenBeforeEnd,
getBeginToken,
getEndToken,
insertChildTokens,
insertNewChildAfter,
insertNewChildAt,
insertNewChildBefore,
jnGetChild,
jnGetParent,
notVerified,
print,
print,
printSpecialTokens,
printToken,
printToString,
printToString,
removeChild,
removeChildTokens,
replaceChild,
replaceChild,
setBeginToken,
setEndToken,
shouldNotHappen,
shouldNotHappen,
shouldNotHappen,
updateEndTokens,
updateEndTokensPriorChild,
updateEndTokensPriorNode,
updateEndTokensPriorNode |
jjtAccept
public Object jjtAccept(IJevaVisitor visitor,
Object data)
- Description copied from interface: IJevaNode
- Accept a visitor. For visitor design pattern: jjtAccept must simply
return visitor.visit(this, data);
which dispatches on the type of this to appropriate method of visitor
- Overrides:
- jjtAccept in class JevaNode
getTestExpressionNode
public IExpressionNode getTestExpressionNode()
getThenStatementNode
public IStatementNode getThenStatementNode()
getElseStatementNode
public IStatementNode getElseStatementNode()
verifyTypes
public IEnv verifyTypes(IEnv env)
throws VerifyingException
- Description copied from interface: IStatementNode
- Verify types within this statement; don't call this directly,
use
EvalMethods.verifyTypes(IStatementNode, IEnv).
Builds env without evaluating anything with side effects, for the
purpose of verifying types of later statements. May be used by
preprocessors which must find the type of an expression in order
to assign it to a new variable.
- Specified by:
- verifyTypes in interface IStatementNode
- Tags copied from interface: IStatementNode
- Parameters:
env - environment of names bindings.- Returns:
- env or possibly extended env
- Throws:
- VerifyingException - if statement is illegal
- See Also:
EvalMethods.verifyTypes(IStatementNode, IEnv)
eval
public IEnv eval(IEnv env)
throws AbruptCompletionException
- Description copied from interface: IStatementNode
- Evaluate this Statement; don't call this directly, use
EvalMethods.eval(IStatementNode, IEnv)
Every statement needs to implement an eval method.
- Specified by:
- eval in interface IStatementNode
- Tags copied from interface: IStatementNode
- Parameters:
env - environment of names bindings.- Returns:
- env or possibly extended env
- Throws:
- AbruptCompletionException - if abruptly completed with
return, throw, break, or continue.
- See Also:
EvalMethods.eval(IStatementNode, IEnv)