1 bdemsky 1.1.2.1 // ContCode.java, created Wed Nov 3 21:43:30 1999 by kkz 2 cananian 1.1.2.6 // Copyright (C) 1999 Karen K. Zee <kkz@alum.mit.edu> 3 bdemsky 1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details. 4 bdemsky 1.1.2.1 package harpoon.Analysis.EventDriven; 5 bdemsky 1.1.2.1 6 bdemsky 1.1.2.1 import harpoon.ClassFile.HClass; 7 bdemsky 1.1.2.1 import harpoon.ClassFile.HCode; 8 bdemsky 1.1.2.1 import harpoon.ClassFile.HField; 9 bdemsky 1.1.2.1 import harpoon.ClassFile.HMethod; 10 bdemsky 1.1.2.1 import harpoon.IR.Quads.Quad; 11 bdemsky 1.1.2.1 import harpoon.IR.Quads.QuadFactory; 12 bdemsky 1.1.2.1 import harpoon.Temp.Temp; 13 bdemsky 1.1.2.1 import harpoon.Temp.TempFactory; 14 bdemsky 1.1.2.1 import harpoon.Util.Util; 15 bdemsky 1.1.2.1 16 bdemsky 1.1.2.1 import java.util.Iterator; 17 bdemsky 1.1.2.1 import java.util.Map; 18 bdemsky 1.1.2.1 19 bdemsky 1.1.2.1 /** 20 bdemsky 1.1.2.1 * <code>ContCode</code> builds the code for a <code>Continuation</code> 21 bdemsky 1.1.2.1 * using <code>quad-no-ssa</code> <code>HCode</code>. 22 bdemsky 1.1.2.1 * 23 cananian 1.1.2.6 * @author Karen K. Zee <kkz@alum.mit.edu> 24 cananian 1.2 * @version $Id: ContCode.java,v 1.2 2002/02/25 20:57:01 cananian Exp $ 25 bdemsky 1.1.2.1 */ 26 cananian 1.1.2.5 public class ContCode extends harpoon.IR.Quads.QuadRSSx { 27 bdemsky 1.1.2.1 28 bdemsky 1.1.2.1 /** Creates a <code>ContCode</code> for an <code>HMethod</code> using 29 bdemsky 1.1.2.1 * the <code>HCode</code> from which we want to build the continuation 30 bdemsky 1.1.2.1 * and the <code>CALL</code> at which we want the continuation built. 31 bdemsky 1.1.2.1 * The <code>HCode</code> must be <code>quad-no-ssa</code>. 32 bdemsky 1.1.2.1 * 33 bdemsky 1.1.2.1 */ 34 bdemsky 1.1.2.1 public ContCode(HMethod parent) { 35 bdemsky 1.1.2.1 super(parent, null); 36 bdemsky 1.1.2.1 } 37 bdemsky 1.1.2.1 38 bdemsky 1.1.2.1 /** 39 bdemsky 1.1.2.1 * Return the name of this code view. 40 bdemsky 1.1.2.1 * @return the name of the <code>parent</code>'s code view. 41 bdemsky 1.1.2.1 */ 42 bdemsky 1.1.2.1 public String getName() { 43 cananian 1.1.2.5 return harpoon.IR.Quads.QuadRSSx.codename; 44 bdemsky 1.1.2.1 } 45 bdemsky 1.1.2.1 46 bdemsky 1.1.2.1 public void quadSet(Quad q) { 47 bdemsky 1.1.2.1 this.quads=q; 48 bdemsky 1.1.2.1 } 49 bdemsky 1.1.2.1 50 bdemsky 1.1.2.1 public QuadFactory getFactory() { 51 bdemsky 1.1.2.1 return qf; 52 bdemsky 1.1.2.1 } 53 cananian 1.2 }