1 bdemsky 1.1.2.1 // ContCodeSSI.java, created Wed Nov 3 21:43:30 1999 by kkz 2 cananian 1.1.2.4 // 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.QuadNoSSA; 12 bdemsky 1.1.2.1 import harpoon.IR.Quads.QuadFactory; 13 bdemsky 1.1.2.1 import harpoon.Temp.Temp; 14 bdemsky 1.1.2.1 import harpoon.Temp.TempFactory; 15 bdemsky 1.1.2.1 import harpoon.Util.Util; 16 bdemsky 1.1.2.1 17 bdemsky 1.1.2.1 18 bdemsky 1.1.2.1 import java.util.Iterator; 19 bdemsky 1.1.2.1 import java.util.Map; 20 bdemsky 1.1.2.1 21 bdemsky 1.1.2.1 /** 22 bdemsky 1.1.2.1 * <code>ContCodeSSI</code> builds the code for a <code>Continuation</code> 23 bdemsky 1.1.2.1 * using <code>quad-no-ssa</code> <code>HCode</code>. 24 bdemsky 1.1.2.1 * 25 cananian 1.1.2.4 * @author Karen K. Zee <kkz@alum.mit.edu> 26 cananian 1.2 * @version $Id: ContCodeSSI.java,v 1.2 2002/02/25 20:57:01 cananian Exp $ 27 bdemsky 1.1.2.1 */ 28 bdemsky 1.1.2.1 public class ContCodeSSI extends harpoon.IR.Quads.QuadSSI { 29 bdemsky 1.1.2.1 30 bdemsky 1.1.2.1 /** Creates a <code>ContCodeSSI</code> for an <code>HMethod</code> using 31 bdemsky 1.1.2.1 * the <code>HCode</code> from which we want to build the continuation 32 bdemsky 1.1.2.1 * and the <code>CALL</code> at which we want the continuation built. 33 bdemsky 1.1.2.1 * The <code>HCode</code> must be <code>quad-no-ssa</code>. 34 bdemsky 1.1.2.1 * 35 bdemsky 1.1.2.1 */ 36 bdemsky 1.1.2.1 public ContCodeSSI(HMethod parent) { 37 bdemsky 1.1.2.1 super(parent, null); 38 bdemsky 1.1.2.1 } 39 bdemsky 1.1.2.1 public ContCodeSSI(QuadNoSSA qns) { 40 bdemsky 1.1.2.1 super((QuadNoSSA)qns); 41 bdemsky 1.1.2.1 } 42 bdemsky 1.1.2.1 43 bdemsky 1.1.2.1 /** 44 bdemsky 1.1.2.1 * Return the name of this code view. 45 bdemsky 1.1.2.1 * @return the name of the <code>parent</code>'s code view. 46 bdemsky 1.1.2.1 */ 47 bdemsky 1.1.2.1 public String getName() { 48 bdemsky 1.1.2.1 return harpoon.IR.Quads.QuadSSI.codename; 49 bdemsky 1.1.2.1 } 50 bdemsky 1.1.2.1 51 bdemsky 1.1.2.1 public void quadSet(Quad q) { 52 bdemsky 1.1.2.1 this.quads=q; 53 bdemsky 1.1.2.1 } 54 bdemsky 1.1.2.1 55 bdemsky 1.1.2.1 public QuadFactory getFactory() { 56 bdemsky 1.1.2.1 return qf; 57 bdemsky 1.1.2.1 } 58 bdemsky 1.1.2.1 } 59 bdemsky 1.1.2.2 60 bdemsky 1.1.2.2 61 cananian 1.2