edu.mit.ai.psg.jeva
Class JNSReturnStatement
java.lang.Object
|
+--edu.mit.ai.psg.jeva.SimpleNode
|
+--edu.mit.ai.psg.jeva.JevaNode
|
+--edu.mit.ai.psg.jeva.JNSReturnStatement
- public class JNSReturnStatement
- extends JevaNode
- implements IStatementNode
Jeva parse Node for return 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
getExpression
public IExpressionNode getExpression()
verifyTypes
public IEnv verifyTypes(IEnv env)
throws VerifyingException
- Checks expr assignable to env.lookupReturnType()
[JavaLangSpec1.0 sec 14.15]
- 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 ReturnException,
ThrowException
- 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)