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 }