cs132.vapor.ast
Class VInstr

java.lang.Object
  extended by cs132.vapor.ast.Node
      extended by cs132.vapor.ast.VInstr
Direct Known Subclasses:
VAssign, VBranch, VBuiltIn, VCall, VGoto, VMemRead, VMemWrite, VReturn

public abstract class VInstr
extends Node

The base class for all AST instruction nodes.


Nested Class Summary
static class VInstr.Visitor<E extends Throwable>
          Visitor for instruction nodes.
static class VInstr.VisitorP<P,E extends Throwable>
          Visitor for instruction nodes, where each visitor function takes a parameter.
static class VInstr.VisitorPR<P,R,E extends Throwable>
          Visitor for instruction nodes, where each visitor function takes a parameter and returns a value.
static class VInstr.VisitorR<R,E extends Throwable>
          Visitor for instruction nodes, where each visitor function returns a value.
 
Field Summary
 
Fields inherited from class cs132.vapor.ast.Node
sourcePos
 
Constructor Summary
protected VInstr(SourcePos sourcePos)
           
 
Method Summary
abstract
<P,E extends Throwable>
void
accept(P p, VInstr.VisitorP<P,E> v)
          Relay for VInstr.VisitorP
abstract
<P,R,E extends Throwable>
R
accept(P p, VInstr.VisitorPR<P,R,E> v)
          Relay for VInstr.VisitorPR
abstract
<E extends Throwable>
void
accept(VInstr.Visitor<E> v)
          Relay for VInstr.Visitor
abstract
<R,E extends Throwable>
R
accept(VInstr.VisitorR<R,E> v)
          Relay for VInstr.VisitorR
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VInstr

protected VInstr(SourcePos sourcePos)
Method Detail

accept

public abstract <E extends Throwable> void accept(VInstr.Visitor<E> v)
                     throws E extends Throwable
Relay for VInstr.Visitor

Throws:
E extends Throwable

accept

public abstract <R,E extends Throwable> R accept(VInstr.VisitorR<R,E> v)
                  throws E extends Throwable
Relay for VInstr.VisitorR

Throws:
E extends Throwable

accept

public abstract <P,E extends Throwable> void accept(P p,
                                                    VInstr.VisitorP<P,E> v)
                     throws E extends Throwable
Relay for VInstr.VisitorP

Throws:
E extends Throwable

accept

public abstract <P,R,E extends Throwable> R accept(P p,
                                                   VInstr.VisitorPR<P,R,E> v)
                  throws E extends Throwable
Relay for VInstr.VisitorPR

Throws:
E extends Throwable