1 19 20 package soot.shimple; 21 22 import soot.*; 23 import soot.util.*; 24 import java.util.*; 25 import soot.jimple.*; 26 import soot.toolkits.scalar.*; 27 import soot.toolkits.graph.*; 28 29 58 public interface PhiExpr extends ShimpleExpr 59 { 60 66 public List getArgs(); 67 68 71 public List getValues(); 72 73 77 public List getPreds(); 78 79 82 public int getArgCount(); 83 84 88 public ValueUnitPair getArgBox(int index); 89 90 94 public Value getValue(int index); 95 96 100 public Unit getPred(int index); 101 102 106 public int getArgIndex(Unit predTailUnit); 107 108 112 public ValueUnitPair getArgBox(Unit predTailUnit); 113 114 118 public Value getValue(Unit predTailUnit); 119 120 124 public int getArgIndex(Block pred); 125 126 130 public ValueUnitPair getArgBox(Block pred); 131 132 136 public Value getValue(Block pred); 137 138 142 public boolean setArg(int index, Value arg, Unit predTailUnit); 143 144 148 public boolean setArg(int index, Value arg, Block pred); 149 150 154 public boolean setValue(int index, Value arg); 155 156 160 public boolean setValue(Unit predTailUnit, Value arg); 161 162 166 public boolean setValue(Block pred, Value arg); 167 168 172 public boolean setPred(int index, Unit predTailUnit); 173 174 178 public boolean setPred(int index, Block pred); 179 180 184 public boolean removeArg(int index); 185 186 190 public boolean removeArg(Unit predTailUnit); 191 192 196 public boolean removeArg(Block pred); 197 198 201 public boolean removeArg(ValueUnitPair arg); 202 203 207 public boolean addArg(Value arg, Block pred); 208 209 213 public boolean addArg(Value arg, Unit predTailUnit); 214 215 218 public void setBlockId(int blockId); 219 220 224 public int getBlockId(); 225 226 230 public Type getType(); 231 232 public void apply(Switch sw); 233 } 234 | Popular Tags |