1 cananian 1.1.2.2 // InstrDIRECTIVE.java, created Mon May 17 16:08:00 1999 by andyb
 2 andyb    1.1.2.1 // Copyright (C) 1999 Andrew Berkheimer <andyb@mit.edu>
 3 andyb    1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details.
 4 andyb    1.1.2.1 package harpoon.IR.Assem;
 5 andyb    1.1.2.1 
 6 andyb    1.1.2.1 import harpoon.ClassFile.HCodeElement;
 7 andyb    1.1.2.1 import harpoon.Temp.Label;
 8 cananian 1.1.2.4 import harpoon.Temp.TempMap;
 9 andyb    1.1.2.1 
10 andyb    1.1.2.1 /**
11 andyb    1.1.2.1  * <code>InstrDIRECTIVE</code> is used to represents assembler
12 andyb    1.1.2.1  * directives.
13 andyb    1.1.2.1  *
14 andyb    1.1.2.1  * @author  Andrew Berkheimer <andyb@mit.edu>
15 cananian 1.2      * @version $Id: InstrDIRECTIVE.java,v 1.2 2002/02/25 21:04:11 cananian Exp $
16 andyb    1.1.2.1  */
17 andyb    1.1.2.1 public class InstrDIRECTIVE extends Instr {
18 andyb    1.1.2.1 
19 andyb    1.1.2.1     public InstrDIRECTIVE(InstrFactory inf, HCodeElement src, String a) {
20 pnkfelix 1.1.2.5         this(inf, src, a, true);
21 andyb    1.1.2.1     } 
22 pnkfelix 1.1.2.5 
23 pnkfelix 1.1.2.5     private InstrDIRECTIVE(InstrFactory inf, HCodeElement src,
24 pnkfelix 1.1.2.5                            String a, boolean falls) {
25 pnkfelix 1.1.2.5         super(inf, src, a, null, null, falls, null);
26 pnkfelix 1.1.2.5     }
27 pnkfelix 1.1.2.5 
28 pnkfelix 1.1.2.5     public static InstrDIRECTIVE makeNoFall
29 pnkfelix 1.1.2.5         (InstrFactory inf, HCodeElement src, String a) {
30 pnkfelix 1.1.2.5         return new InstrDIRECTIVE(inf, src, a, false);
31 pnkfelix 1.1.2.5     }
32 cananian 1.1.2.4 
33 cananian 1.1.2.4     public Instr rename(InstrFactory inf, TempMap defMap, TempMap useMap) {
34 cananian 1.1.2.4         return new InstrDIRECTIVE(inf, this, getAssem());
35 pnkfelix 1.1.2.6     }
36 pnkfelix 1.1.2.6 
37 pnkfelix 1.1.2.6     public Instr cloneMutateAssem(InstrFactory inf, String newAssem) {
38 pnkfelix 1.1.2.6         return new InstrDIRECTIVE(inf, this, newAssem);
39 cananian 1.1.2.4     }
40 andyb    1.1.2.1 
41 pnkfelix 1.1.2.3     public void accept(InstrVisitor v) { v.visit(this); }
42 pnkfelix 1.1.2.7 
43 pnkfelix 1.1.2.7     public boolean isDirective() { return true; }
44 cananian 1.2     }