Package sootup.core.util.printer
Class LabeledStmtPrinter
java.lang.Object
sootup.core.util.printer.StmtPrinter
sootup.core.util.printer.AbstractStmtPrinter
sootup.core.util.printer.LabeledStmtPrinter
- Direct Known Subclasses:
BriefStmtPrinter,NormalStmtPrinter
-
Field Summary
FieldsModifier and TypeFieldDescriptionbranch targets *for stmt references in Phi nodes (ms: and other occurences TODO: check and improve comment) *Fields inherited from class sootup.core.util.printer.AbstractStmtPrinter
indent, indentChar, indentStep, output, startOfLineFields inherited from class sootup.core.util.printer.StmtPrinter
graph -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuildTraps(StmtGraph stmtGraph) hint: little expensive getter - its more of a build/create - currently no overlapsabstract voidvoidfieldSignature(FieldSignature fieldSig) @NonNull Collection<Stmt>getLabeledStmts(StmtGraph<?> stmtGraph, List<Trap> traps) Returns the result of iterating through all Stmts in this body.getTrapComparator(@NonNull Map<Stmt, Integer> stmtsBlockIdx) Comparator which sorts the trap output in getTraps()getTraps()abstract voidinitializeSootMethod(@NonNull StmtGraph<?> stmtGraph) createLabelMapsabstract voidabstract voidmethod(SootMethod m) voidmethodSignature(MethodSignature methodSig) voidMethods inherited from class sootup.core.util.printer.AbstractStmtPrinter
addImport, constant, decIndent, endStmt, getImports, handleIndent, incIndent, local, modifier, newline, noIndent, setIndent, startStmt, stmt, toString, typeSignatureMethods inherited from class sootup.core.util.printer.StmtPrinter
getGraph
-
Field Details
-
labels
branch targets * -
references
for stmt references in Phi nodes (ms: and other occurences TODO: check and improve comment) *
-
-
Constructor Details
-
LabeledStmtPrinter
public LabeledStmtPrinter()
-
-
Method Details
-
getLabels
-
getReferences
-
literal
- Specified by:
literalin classStmtPrinter
-
method
- Specified by:
methodin classStmtPrinter
-
field
- Specified by:
fieldin classStmtPrinter
-
identityRef
- Specified by:
identityRefin classStmtPrinter
-
stmtRef
- Specified by:
stmtRefin classStmtPrinter
-
initializeSootMethod
createLabelMaps- Returns:
- the linearized StmtGraph
-
methodSignature
- Specified by:
methodSignaturein classStmtPrinter
-
fieldSignature
- Specified by:
fieldSignaturein classStmtPrinter
-
buildTraps
hint: little expensive getter - its more of a build/create - currently no overlaps -
getTrapComparator
Comparator which sorts the trap output in getTraps() -
getLabeledStmts
Returns the result of iterating through all Stmts in this body. All Stmts thus found are returned. Branching Stmts and statements which use PhiExpr will have Stmts; a Stmt contains a Stmt that is either a target of a branch or is being used as a pointer to the end of a CFG block.This method was typically used for pointer patching, e.g. when the unit chain is cloned.
- Returns:
- A collection of all the Stmts that are targets of a BranchingStmt
-
getTraps
-