1 cananian 1.1.2.1  // QuadVisitor.java, created Fri Sep 11 12:59:44 1998 by cananian
 2 cananian 1.1.2.1  // Copyright (C) 1998 C. Scott Ananian <cananian@alumni.princeton.edu>
 3 cananian 1.1.2.1  // Licensed under the terms of the GNU GPL; see COPYING for details.
 4 cananian 1.1.2.1  package harpoon.IR.Quads;
 5 cananian 1.1.2.1  
 6 cananian 1.1.2.1  /**
 7 cananian 1.1.2.1   * <code>QuadVisitor</code> is a Design Pattern, courtesy of Martin.
 8 cananian 1.1.2.1   * 
 9 cananian 1.1.2.1   * @author  C. Scott Ananian <cananian@alumni.princeton.edu>
10 cananian 1.2       * @version $Id: QuadVisitor.java,v 1.2 2002/02/25 21:05:13 cananian Exp $
11 cananian 1.1.2.1   */
12 cananian 1.1.2.1  public abstract class QuadVisitor  {
13 cananian 1.1.2.1      protected QuadVisitor() { }
14 cananian 1.1.2.1  
15 cananian 1.1.2.1      /** Visit a quad q. */
16 cananian 1.1.2.1      public abstract void visit(Quad q);
17 cananian 1.1.2.1      public void visit(AGET q)           { visit((Quad)q); }
18 cananian 1.1.2.1      public void visit(ALENGTH q)        { visit((Quad)q); }
19 cananian 1.1.2.1      public void visit(ANEW q)           { visit((Quad)q); }
20 cananian 1.1.2.4      public void visit(ARRAYINIT q)      { visit((Quad)q); }
21 cananian 1.1.2.1      public void visit(ASET q)           { visit((Quad)q); }
22 cananian 1.1.2.9      public void visit(CALL q)           { visit((SIGMA)q); }
23 cananian 1.1.2.1      public void visit(CJMP q)           { visit((SIGMA)q); }
24 cananian 1.1.2.1      public void visit(COMPONENTOF q)    { visit((Quad)q); }
25 cananian 1.1.2.1      public void visit(CONST q)          { visit((Quad)q); }
26 cananian 1.1.2.1      public void visit(DEBUG q)          { visit((Quad)q); }
27 cananian 1.1.2.1      public void visit(FOOTER q)         { visit((Quad)q); }
28 cananian 1.1.2.1      public void visit(GET q)            { visit((Quad)q); }
29 cananian 1.1.2.1      public void visit(HEADER q)         { visit((Quad)q); }
30 cananian 1.1.2.1      public void visit(INSTANCEOF q)     { visit((Quad)q); }
31 cananian 1.1.2.3      public void visit(LABEL q)          { visit((PHI)q); }
32 cananian 1.1.2.5      public void visit(HANDLER q)        { visit((Quad)q); }
33 cananian 1.1.2.5      public void visit(METHOD q)         { visit((Quad)q); }
34 cananian 1.1.2.1      public void visit(MONITORENTER q)   { visit((Quad)q); }
35 cananian 1.1.2.1      public void visit(MONITOREXIT q)    { visit((Quad)q); }
36 cananian 1.1.2.1      public void visit(MOVE q)           { visit((Quad)q); }
37 cananian 1.1.2.1      public void visit(NEW q)            { visit((Quad)q); }
38 cananian 1.1.2.1      public void visit(NOP q)            { visit((Quad)q); }
39 cananian 1.1.2.1      public void visit(OPER q)           { visit((Quad)q); }
40 cananian 1.1.2.1      public void visit(PHI q)            { visit((Quad)q); }
41 cananian 1.1.2.1      public void visit(RETURN q)         { visit((Quad)q); }
42 cananian 1.1.2.1      public void visit(SET q)            { visit((Quad)q); }
43 cananian 1.1.2.3      public void visit(SIGMA q)          { visit((Quad)q); }
44 cananian 1.1.2.1      public void visit(SWITCH q)         { visit((SIGMA)q); }
45 cananian 1.1.2.1      public void visit(THROW q)          { visit((Quad)q); }
46 cananian 1.1.2.6      public void visit(TYPECAST q)       { visit((NOP)q); }
47 cananian 1.1.2.10     public void visit(TYPESWITCH q)     { visit((SIGMA)q); }
48 cananian 1.1.2.8      public void visit(XI q)             { visit((PHI)q); }
49 cananian 1.2      }