1 cananian 1.1.2.1 // NOP.java, created Tue Aug 25 03:01:12 1998 by cananian 2 cananian 1.1.2.1 // Copyright (C) 1998 C. Scott Ananian <cananian@alumni.princeton.edu> 3 cananian 1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details. 4 cananian 1.1.2.1 package harpoon.IR.Quads; 5 cananian 1.1.2.1 6 cananian 1.1.2.5 import harpoon.ClassFile.HCodeElement; 7 cananian 1.1.2.1 import harpoon.Temp.TempMap; 8 cananian 1.1.2.4 9 cananian 1.1.2.1 /** 10 cananian 1.1.2.1 * <code>NOP</code> nodes do nothing. 11 cananian 1.1.2.1 * 12 cananian 1.1.2.1 * @author C. Scott Ananian <cananian@alumni.princeton.edu> 13 cananian 1.3 * @version $Id: NOP.java,v 1.3 2002/04/11 04:00:34 cananian Exp $ 14 cananian 1.1.2.1 */ 15 cananian 1.1.2.1 public class NOP extends Quad { 16 cananian 1.1.2.1 17 cananian 1.1.2.1 /** Creates a <code>NOP</code>. */ 18 cananian 1.1.2.3 public NOP(QuadFactory qf, HCodeElement source) { 19 cananian 1.1.2.3 super(qf, source); 20 cananian 1.1.2.1 } 21 cananian 1.1.2.1 22 cananian 1.1.2.2 public int kind() { return QuadKind.NOP; } 23 cananian 1.1.2.2 24 cananian 1.1.2.4 public Quad rename(QuadFactory qqf, TempMap defMap, TempMap useMap) { 25 cananian 1.1.2.3 return new NOP(qqf, this); 26 cananian 1.1.2.2 } 27 cananian 1.1.2.4 /** Rename all used variables in this Quad according to a mapping. 28 cananian 1.1.2.4 * @deprecated does not preserve immutability. */ 29 cananian 1.1.2.2 void renameUses(TempMap tm) { } 30 cananian 1.1.2.4 /** Rename all defined variables in this Quad according to a mapping. 31 cananian 1.1.2.4 * @deprecated does not preserve immutability. */ 32 cananian 1.1.2.2 void renameDefs(TempMap tm) { } 33 cananian 1.1.2.1 34 cananian 1.1.2.6 public void accept(QuadVisitor v) { v.visit(this); } 35 cananian 1.3 public <T> T accept(QuadValueVisitor<T> v) { return v.visit(this); } 36 cananian 1.1.2.1 37 cananian 1.1.2.1 /** Returns human-readable representation. */ 38 cananian 1.1.2.1 public String toString() { return "NOP"; } 39 cananian 1.2 }