edu.rice.cs.drjava.model.repl
Class EvaluationVisitorExtension

java.lang.Object
  |
  +--koala.dynamicjava.tree.visitor.VisitorObject
        |
        +--koala.dynamicjava.interpreter.EvaluationVisitor
              |
              +--edu.rice.cs.drjava.model.repl.EvaluationVisitorExtension
All Implemented Interfaces:
Visitor

public class EvaluationVisitorExtension
extends EvaluationVisitor

A subclass of EvaluationVisitor to do two new things.

  1. Check thread interrupted status and throw InterruptedException if the thread was interrupted.
  2. Returns JavaInterpreter.NO_RESULT if the computation had no result. (This is instead of returning null, which DynamicJava does.

Version:
$Id: EvaluationVisitorExtension.java,v 1.5 2002/02/08 14:22:21 brianstoler Exp $

Fields inherited from class koala.dynamicjava.interpreter.EvaluationVisitor
context
 
Constructor Summary
EvaluationVisitorExtension(Context ctx)
           
 
Method Summary
private  void _checkInterrupted(Node node)
           
 Object visit(AddAssignExpression node)
           
 Object visit(AddExpression node)
           
 Object visit(AndExpression node)
           
 Object visit(ArrayAccess node)
           
 Object visit(ArrayAllocation node)
           
 Object visit(ArrayInitializer node)
           
 Object visit(BitAndAssignExpression node)
           
 Object visit(BitAndExpression node)
           
 Object visit(BitOrAssignExpression node)
           
 Object visit(BitOrExpression node)
           
 Object visit(BlockStatement node)
           
 Object visit(CastExpression node)
           
 Object visit(ClassAllocation node)
           
 Object visit(ComplementExpression node)
           
 Object visit(ConditionalExpression node)
           
 Object visit(DivideAssignExpression node)
           
 Object visit(DivideExpression node)
           
 Object visit(DoStatement node)
           
 Object visit(EmptyStatement node)
           
 Object visit(EqualExpression node)
           
 Object visit(ExclusiveOrAssignExpression node)
           
 Object visit(ExclusiveOrExpression node)
           
 Object visit(ForStatement node)
           
 Object visit(FunctionCall node)
           
 Object visit(GreaterExpression node)
           
 Object visit(GreaterOrEqualExpression node)
           
 Object visit(IfThenElseStatement node)
           
 Object visit(IfThenStatement node)
           
 Object visit(ImportDeclaration node)
           
 Object visit(InnerAllocation node)
           
 Object visit(InstanceOfExpression node)
           
 Object visit(LabeledStatement node)
           
 Object visit(LessExpression node)
           
 Object visit(LessOrEqualExpression node)
           
 Object visit(Literal node)
           
 Object visit(MinusExpression node)
           
 Object visit(MultiplyAssignExpression node)
           
 Object visit(MultiplyExpression node)
           
 Object visit(NotEqualExpression node)
           
 Object visit(NotExpression node)
           
 Object visit(ObjectFieldAccess node)
           
 Object visit(ObjectMethodCall node)
           
 Object visit(OrExpression node)
           
 Object visit(PackageDeclaration node)
           
 Object visit(PlusExpression node)
           
 Object visit(PostDecrement node)
           
 Object visit(PostIncrement node)
           
 Object visit(PreDecrement node)
           
 Object visit(PreIncrement node)
           
 Object visit(QualifiedName node)
           
 Object visit(RemainderAssignExpression node)
           
 Object visit(RemainderExpression node)
           
 Object visit(ShiftLeftAssignExpression node)
           
 Object visit(ShiftLeftExpression node)
           
 Object visit(ShiftRightAssignExpression node)
           
 Object visit(ShiftRightExpression node)
           
 Object visit(SimpleAllocation node)
           
 Object visit(SimpleAssignExpression node)
           
 Object visit(StaticFieldAccess node)
           
 Object visit(StaticMethodCall node)
           
 Object visit(SubtractAssignExpression node)
           
 Object visit(SubtractExpression node)
           
 Object visit(SuperFieldAccess node)
           
 Object visit(SuperMethodCall node)
           
 Object visit(SwitchStatement node)
           
 Object visit(SynchronizedStatement node)
           
 Object visit(TryStatement node)
           
 Object visit(TypeExpression node)
           
 Object visit(UnsignedShiftRightAssignExpression node)
           
 Object visit(UnsignedShiftRightExpression node)
           
 Object visit(VariableDeclaration node)
           
 Object visit(WhileStatement node)
           
 
Methods inherited from class koala.dynamicjava.interpreter.EvaluationVisitor
performCast, visit, visit, visit, visit
 
Methods inherited from class koala.dynamicjava.tree.visitor.VisitorObject
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Constructor Detail

EvaluationVisitorExtension

public EvaluationVisitorExtension(Context ctx)
Method Detail

_checkInterrupted

private void _checkInterrupted(Node node)

visit

public Object visit(WhileStatement node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(ForStatement node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(DoStatement node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(SwitchStatement node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(LabeledStatement node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(SynchronizedStatement node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(TryStatement node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(IfThenStatement node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(IfThenElseStatement node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(BlockStatement node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(Literal node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(VariableDeclaration node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(ObjectFieldAccess node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(ObjectMethodCall node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(StaticFieldAccess node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(SuperFieldAccess node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(SuperMethodCall node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(StaticMethodCall node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(SimpleAssignExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(QualifiedName node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(TypeExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(SimpleAllocation node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(ArrayAllocation node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(ArrayInitializer node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(ArrayAccess node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(InnerAllocation node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(ClassAllocation node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(NotExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(ComplementExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(PlusExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(MinusExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(AddExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(AddAssignExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(SubtractExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(SubtractAssignExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(MultiplyExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(MultiplyAssignExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(DivideExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(DivideAssignExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(RemainderExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(RemainderAssignExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(EqualExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(NotEqualExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(LessExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(LessOrEqualExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(GreaterExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(GreaterOrEqualExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(InstanceOfExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(ConditionalExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(PostIncrement node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(PreIncrement node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(PostDecrement node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(PreDecrement node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(CastExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(BitAndExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(BitAndAssignExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(ExclusiveOrExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(ExclusiveOrAssignExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(BitOrExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(BitOrAssignExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(ShiftLeftExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(ShiftLeftAssignExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(ShiftRightExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(ShiftRightAssignExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(UnsignedShiftRightExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(UnsignedShiftRightAssignExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(AndExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(OrExpression node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(FunctionCall node)
Overrides:
visit in class EvaluationVisitor

visit

public Object visit(PackageDeclaration node)
Overrides:
visit in class VisitorObject

visit

public Object visit(ImportDeclaration node)
Overrides:
visit in class VisitorObject

visit

public Object visit(EmptyStatement node)
Overrides:
visit in class VisitorObject