Package proguard.dexfile.ir.ts.an
Class BaseAnalyze<T extends AnalyzeValue>
- java.lang.Object
-
- proguard.dexfile.ir.ts.an.BaseAnalyze<T>
-
- All Implemented Interfaces:
Cfg.FrameVisitor<T[]>
,Cfg.OnAssignCallBack
,Cfg.OnUseCallBack
,Cfg.TravelCallBack
- Direct Known Subclasses:
SimpleLiveAnalyze
,UnSSATransformer.LiveA
public abstract class BaseAnalyze<T extends AnalyzeValue> extends java.lang.Object implements Cfg.FrameVisitor<T[]>, Cfg.TravelCallBack
-
-
Constructor Summary
Constructors Constructor Description BaseAnalyze(IrMethod method)
BaseAnalyze(IrMethod method, boolean reindexLocal)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method 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()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface proguard.dexfile.ir.ts.Cfg.FrameVisitor
merge
-
-
-
-
Field Detail
-
DEBUG
protected static final boolean DEBUG
- See Also:
- Constant Field Values
-
aValues
public java.util.List<T extends AnalyzeValue> aValues
-
localSize
protected int localSize
-
method
protected IrMethod method
-
-
Method Detail
-
analyze
public void analyze()
-
analyze0
protected void analyze0()
-
analyzeValue
protected void analyzeValue()
-
exec
public T[] exec(T[] frame, Stmt stmt)
- Specified by:
exec
in interfaceCfg.FrameVisitor<T extends AnalyzeValue>
-
getFromFrame
protected T getFromFrame(int idx)
-
init
protected void init()
-
initCFG
protected void initCFG()
-
newFrame
protected T[] newFrame()
-
initFirstFrame
public T[] initFirstFrame(Stmt first)
- Specified by:
initFirstFrame
in interfaceCfg.FrameVisitor<T extends AnalyzeValue>
-
newFrame
protected abstract T[] newFrame(int size)
-
newValue
protected abstract T newValue()
-
onAssign
public Local onAssign(Local local, AssignStmt as)
- Specified by:
onAssign
in interfaceCfg.OnAssignCallBack
-
onUse
public Local onUse(Local local)
- Specified by:
onUse
in interfaceCfg.OnUseCallBack
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-