1 cananian 1.1.2.3 // DataFlowQuadVisitor.java, created Wed Mar 10  9:00:53 1999 by jwhaley
 2 cananian 1.1.2.5 // Copyright (C) 1998 John Whaley <jwhaley@alum.mit.edu>
 3 cananian 1.1.2.2 // Licensed under the terms of the GNU GPL; see COPYING for details.
 4 jwhaley  1.1.2.1 package harpoon.Analysis.DataFlow;
 5 jwhaley  1.1.2.1 
 6 jwhaley  1.1.2.1 import java.util.Enumeration;
 7 jwhaley  1.1.2.1 import harpoon.Util.Worklist;
 8 cananian 1.1.2.4 import harpoon.IR.Quads.Quad;
 9 cananian 1.1.2.4 import harpoon.IR.Quads.QuadVisitor;
10 jwhaley  1.1.2.1 /**
11 jwhaley  1.1.2.1  * DataFlowQuadVisitor
12 jwhaley  1.1.2.1  *
13 cananian 1.1.2.5  * @author  John Whaley <jwhaley@alum.mit.edu>
14 cananian 1.2      * @version $Id: DataFlowQuadVisitor.java,v 1.2 2002/02/25 20:56:39 cananian Exp $
15 jwhaley  1.1.2.1  */
16 jwhaley  1.1.2.1 
17 jwhaley  1.1.2.1 public abstract class DataFlowQuadVisitor extends QuadVisitor {
18 jwhaley  1.1.2.1 
19 jwhaley  1.1.2.1   public static boolean DEBUG = false;
20 jwhaley  1.1.2.1   public static void db(String s) { System.out.println(s); }
21 jwhaley  1.1.2.1 
22 jwhaley  1.1.2.1   /**
23 jwhaley  1.1.2.1    * This bit is set whenever something changes.  Used to check for
24 jwhaley  1.1.2.1    * termination.
25 jwhaley  1.1.2.1    */
26 jwhaley  1.1.2.1   boolean changed;
27 jwhaley  1.1.2.1 
28 jwhaley  1.1.2.1   /**
29 jwhaley  1.1.2.1    * Add the successors of the quad q to the worklist W, performing merge
30 jwhaley  1.1.2.1    * operations if necessary.
31 jwhaley  1.1.2.1    */
32 jwhaley  1.1.2.1   public abstract void addSuccessors(Worklist W, Quad q);
33 jwhaley  1.1.2.1 
34 jwhaley  1.1.2.1   /**
35 jwhaley  1.1.2.1    * Merge operation on the from and to quad.  Returns true if the to quad
36 jwhaley  1.1.2.1    * changes.
37 jwhaley  1.1.2.1    */
38 jwhaley  1.1.2.1   public abstract boolean merge(Quad from, Quad to);
39 jwhaley  1.1.2.1 
40 cananian 1.2     }