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

java.lang.Object
  extended by cs132.vapor.ast.VInstr.VisitorP<P,E>
Type Parameters:
P - The type of the extra parameter taken 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.VisitorP<P,E extends Throwable>
extends Object

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


Constructor Summary
VInstr.VisitorP()
           
 
Method Summary
abstract  void visit(P p, VAssign a)
           
abstract  void visit(P p, VBranch b)
           
abstract  void visit(P p, VBuiltIn c)
           
abstract  void visit(P p, VCall c)
           
abstract  void visit(P p, VGoto g)
           
abstract  void visit(P p, VMemRead r)
           
abstract  void visit(P p, VMemWrite w)
           
abstract  void 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.VisitorP

public VInstr.VisitorP()
Method Detail

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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