1 salcianu 1.1.2.1 // PAWorkset.java, created Mon Jan 10 20:11:23 2000 by salcianu 2 cananian 1.1.2.2 // Copyright (C) 2000 Alexandru SALCIANU <salcianu@retezat.lcs.mit.edu> 3 salcianu 1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details. 4 salcianu 1.1.2.1 package harpoon.Analysis.PointerAnalysis; 5 salcianu 1.1.2.1 6 salcianu 1.1.2.1 7 salcianu 1.1.2.1 import java.util.Iterator; 8 salcianu 1.1.2.1 import java.util.Collection; 9 salcianu 1.1.2.1 10 salcianu 1.1.2.1 /** 11 salcianu 1.1.2.1 * The <code>PAWorkset</code> class tries to formalize the concept 12 salcianu 1.1.2.1 * of a workset used in many dataflow analysis. There is some workset 13 salcianu 1.1.2.1 * interface in the harpoon.Util package but I didn't like it and I 14 salcianu 1.1.2.1 * decided to implement my own one. 15 salcianu 1.1.2.1 * 16 salcianu 1.1.2.1 * @author Alexandru SALCIANU <salcianu@retezat.lcs.mit.edu> 17 cananian 1.2 * @version $Id: PAWorkSet.java,v 1.2 2002/02/25 20:58:40 cananian Exp $ 18 salcianu 1.1.2.1 */ 19 salcianu 1.1.2.4 public abstract class PAWorkSet implements java.io.Serializable { 20 salcianu 1.1.2.1 // add an object to the workset 21 salcianu 1.1.2.3 public abstract boolean add(Object o); 22 salcianu 1.1.2.1 // take an object from the workset 23 salcianu 1.1.2.1 public abstract Object remove(); 24 salcianu 1.1.2.1 // test the presence of an object into the workset 25 salcianu 1.1.2.1 public abstract boolean contains(Object o); 26 salcianu 1.1.2.1 // check whether the workset is empty or not 27 salcianu 1.1.2.1 public abstract boolean isEmpty(); 28 salcianu 1.1.2.1 29 salcianu 1.1.2.1 /** Adds all the elements of a <code>Collection</code> */ 30 salcianu 1.1.2.1 public void addAll(Collection c){ 31 salcianu 1.1.2.1 for(Iterator it=c.iterator();it.hasNext();) 32 salcianu 1.1.2.1 add(it.next()); 33 salcianu 1.1.2.1 } 34 cananian 1.2 }