1 19 20 27 28 package soot.jimple.toolkits.annotation.purity; 29 import soot.jimple.*; 30 import java.util.*; 31 32 39 public class PurityStmtNode implements PurityNode 40 { 41 42 private Stmt id; 43 44 45 private boolean inside; 46 47 48 private static Map nMap = new HashMap(); 49 private static int n = 0; 50 51 PurityStmtNode(Stmt id, boolean inside) 52 { 53 this.id = id; this.inside = inside; 54 if (!nMap.containsKey(id)) { nMap.put(id,new Integer (n)); n++; } 55 } 56 57 public String toString() 58 { 59 if (inside) return "I_"+nMap.get(id); else return "L_"+nMap.get(id); 60 } 62 63 public int hashCode() 64 { return id.hashCode(); } 65 66 public boolean equals(Object o) 67 { 68 if (o instanceof PurityStmtNode) { 69 PurityStmtNode oo = (PurityStmtNode)o; 70 return id.equals(oo.id) && oo.inside==inside; 71 } 72 else return false; 73 } 74 75 public boolean isInside() 76 { return inside; } 77 78 public boolean isLoad() 79 { return !inside; } 80 81 public boolean isParam() 82 { return false; } 83 } 84 | Popular Tags |