Package soot
Class PackManager
- java.lang.Object
-
- soot.PackManager
-
public class PackManager extends Object
Manages the Packs containing the various phases and their options.
-
-
Field Summary
Fields Modifier and Type Field Description static booleanDEBUGprotected DexPrinterdexPrinter
-
Constructor Summary
Constructors Constructor Description PackManager(Singletons.Global g)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Collection<Pack>allPacks()BafBodyconvertJimpleBodyToBaf(SootMethod m)protected BafASMBackendcreateASMBackend(SootClass c)Factory method for creating a new backend on top of ASM.JarOutputStreamgetJarFile()PackgetPack(String phaseName)HasPhaseOptionsgetPhase(String phaseName)TransformgetTransform(String phaseName)booleanhasPack(String phaseName)booleanhasPhase(String phaseName)booleanonlyStandardPacks()voidrunBodyPacks()voidrunPacks()static PackManagerv()protected voidwriteClass(SootClass c)protected voidwriteDexOutput()voidwriteOutput()protected voidwriteOutput(Iterator<SootClass> classes)
-
-
-
Field Detail
-
DEBUG
public static boolean DEBUG
-
dexPrinter
protected DexPrinter dexPrinter
-
-
Constructor Detail
-
PackManager
public PackManager(Singletons.Global g)
-
-
Method Detail
-
v
public static PackManager v()
-
onlyStandardPacks
public boolean onlyStandardPacks()
-
hasPack
public boolean hasPack(String phaseName)
-
hasPhase
public boolean hasPhase(String phaseName)
-
getPhase
public HasPhaseOptions getPhase(String phaseName)
-
allPacks
public Collection<Pack> allPacks()
-
runPacks
public void runPacks()
-
runBodyPacks
public void runBodyPacks()
-
getJarFile
public JarOutputStream getJarFile()
-
writeOutput
public void writeOutput()
-
writeDexOutput
protected void writeDexOutput()
-
convertJimpleBodyToBaf
public BafBody convertJimpleBodyToBaf(SootMethod m)
-
writeClass
protected void writeClass(SootClass c)
-
createASMBackend
protected BafASMBackend createASMBackend(SootClass c)
Factory method for creating a new backend on top of ASM. At the moment, we always start from BAF. Custom implementations can use other techniques.- Parameters:
c- The class for which to create the ASM backend- Returns:
- The ASM backend for writing the class into bytecode
-
-