edu.mit.ai.psg.jeva
Class JNSSynchronizedStatement
java.lang.Object
|
+--edu.mit.ai.psg.jeva.SimpleNode
|
+--edu.mit.ai.psg.jeva.JevaNode
|
+--edu.mit.ai.psg.jeva.JNSSynchronizedStatement
- public class JNSSynchronizedStatement
- extends JevaNode
- implements IStatementNode
Jeva parse Node for synchronized(expr) {...} 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
getTargetExpressionNode
public IExpressionNode getTargetExpressionNode()
getBodyNode
public JNSBlock getBodyNode()
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)