public abstract class BaseAnalyze<T extends AnalyzeValue> extends java.lang.Object implements Cfg.FrameVisitor<T[]>, Cfg.TravelCallBack
Modifier and Type | Field and Description |
---|---|
java.util.List<T> |
aValues |
protected static boolean |
DEBUG |
protected int |
localSize |
protected IrMethod |
method |
Constructor and Description |
---|
BaseAnalyze(IrMethod method) |
BaseAnalyze(IrMethod method,
boolean reindexLocal) |
Modifier and Type | Method and Description |
---|---|
protected void |
afterExec(T[] frame,
Stmt stmt) |
void |
analyze() |
protected void |
analyze0() |
protected void |
analyzeValue() |
T[] |
exec(T[] frame,
Stmt stmt) |
protected T[] |
getFrame(Stmt stmt) |
protected T |
getFromFrame(int idx) |
protected void |
init() |
protected void |
initCFG() |
T[] |
initFirstFrame(Stmt first) |
protected T[] |
newFrame() |
protected abstract T[] |
newFrame(int size) |
protected abstract T |
newValue() |
Local |
onAssign(Local local,
AssignStmt as) |
protected T |
onAssignLocal(Local local,
Value value) |
Local |
onUse(Local local) |
protected void |
onUseLocal(T aValue,
Local local) |
protected void |
setFrame(Stmt stmt,
T[] frame) |
java.lang.String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
merge
protected static final boolean DEBUG
public java.util.List<T extends AnalyzeValue> aValues
protected int localSize
protected IrMethod method
public BaseAnalyze(IrMethod method)
public BaseAnalyze(IrMethod method, boolean reindexLocal)
public void analyze()
protected void analyze0()
protected void analyzeValue()
public T[] exec(T[] frame, Stmt stmt)
exec
in interface Cfg.FrameVisitor<T extends AnalyzeValue[]>
protected T getFromFrame(int idx)
protected void init()
protected void initCFG()
protected T[] newFrame()
public T[] initFirstFrame(Stmt first)
initFirstFrame
in interface Cfg.FrameVisitor<T extends AnalyzeValue[]>
protected abstract T[] newFrame(int size)
protected abstract T newValue()
public Local onAssign(Local local, AssignStmt as)
onAssign
in interface Cfg.OnAssignCallBack
public Local onUse(Local local)
onUse
in interface Cfg.OnUseCallBack
public java.lang.String toString()
toString
in class java.lang.Object