1 bdemsky  1.1.2.1 // ContCodeNoSSA.java, created Wed Nov  3 21:43:30 1999 by kkz
 2 cananian 1.1.2.5 // 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.QuadSSI;
12 bdemsky  1.1.2.1 import harpoon.IR.Quads.QuadFactory;
13 cananian 1.1.2.4 import harpoon.IR.Quads.RSSxToNoSSA;
14 bdemsky  1.1.2.1 import harpoon.Temp.Temp;
15 bdemsky  1.1.2.1 import harpoon.Temp.TempFactory;
16 bdemsky  1.1.2.1 import harpoon.Util.Util;
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>ContCodeNoSSA</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.5  * @author Karen K. Zee <kkz@alum.mit.edu>
26 cananian 1.2      * @version $Id: ContCodeNoSSA.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 ContCodeNoSSA extends harpoon.IR.Quads.QuadNoSSA {
29 bdemsky  1.1.2.1 
30 bdemsky  1.1.2.1     /** Creates a <code>ContCodeNoSSA</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 ContCodeNoSSA(HMethod parent) {
37 bdemsky  1.1.2.1         super(parent, null);
38 bdemsky  1.1.2.1     }
39 bdemsky  1.1.2.1 
40 bdemsky  1.1.2.1     public ContCodeNoSSA(QuadSSI qsa) { 
41 bdemsky  1.1.2.1         super(qsa.getMethod(),null);
42 cananian 1.1.2.4         RSSxToNoSSA translate = new RSSxToNoSSA(this.qf, qsa);
43 bdemsky  1.1.2.1         this.quads=translate.getQuads();
44 bdemsky  1.1.2.2         this.setAllocationInformation(translate.getAllocationInfo());
45 bdemsky  1.1.2.1     }
46 bdemsky  1.1.2.1     
47 bdemsky  1.1.2.1     /**
48 bdemsky  1.1.2.1      * Return the name of this code view.
49 bdemsky  1.1.2.1      * @return the name of the <code>parent</code>'s code view.
50 bdemsky  1.1.2.1      */
51 bdemsky  1.1.2.1     public String getName() {
52 cananian 1.1.2.6         return harpoon.IR.Quads.QuadNoSSA.codename;
53 bdemsky  1.1.2.1     }
54 bdemsky  1.1.2.1 
55 bdemsky  1.1.2.1     public void quadSet(Quad q) {
56 bdemsky  1.1.2.1         this.quads=q;
57 bdemsky  1.1.2.1     }
58 bdemsky  1.1.2.1 
59 bdemsky  1.1.2.1     public QuadFactory getFactory() {
60 bdemsky  1.1.2.1         return qf;
61 bdemsky  1.1.2.1     }
62 cananian 1.2     }