cs132.vapor.ast
Class VInstr.VisitorPR<P,R,E extends Throwable>

java.lang.Object
  extended by cs132.vapor.ast.VInstr.VisitorPR<P,R,E>
Type Parameters:
P - The type of the extra parameter taken by each visitor function.
R - The type of the value returned by each visitor function.
E - The exception type that each node is allowed to throw. If you don't want checked exceptions here, use RuntimeException.
Enclosing class:
VInstr

public abstract static class VInstr.VisitorPR<P,R,E extends Throwable>
extends Object

Visitor for instruction nodes, where each visitor function takes a parameter and returns a value.


Constructor Summary
VInstr.VisitorPR()
           
 
Method Summary
abstract  R visit(P p, VAssign a)
           
abstract  R visit(P p, VBranch b)
           
abstract  R visit(P p, VBuiltIn c)
           
abstract  R visit(P p, VCall c)
           
abstract  R visit(P p, VGoto g)
           
abstract  R visit(P p, VMemRead r)
           
abstract  R visit(P p, VMemWrite w)
           
abstract  R visit(P p, VReturn r)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VInstr.VisitorPR

public VInstr.VisitorPR()
Method Detail

visit

public abstract R visit(P p,
                        VAssign a)
                 throws E extends Throwable
Throws:
E extends Throwable

visit

public abstract R visit(P p,
                        VCall c)
                 throws E extends Throwable
Throws:
E extends Throwable

visit

public abstract R visit(P p,
                        VBuiltIn c)
                 throws E extends Throwable
Throws:
E extends Throwable

visit

public abstract R visit(P p,
                        VMemWrite w)
                 throws E extends Throwable
Throws:
E extends Throwable

visit

public abstract R visit(P p,
                        VMemRead r)
                 throws E extends Throwable
Throws:
E extends Throwable

visit

public abstract R visit(P p,
                        VBranch b)
                 throws E extends Throwable
Throws:
E extends Throwable

visit

public abstract R visit(P p,
                        VGoto g)
                 throws E extends Throwable
Throws:
E extends Throwable

visit

public abstract R visit(P p,
                        VReturn r)
                 throws E extends Throwable
Throws:
E extends Throwable