Package sootup.core.graph
Interface MutableBasicBlock
- All Superinterfaces:
BasicBlock<MutableBasicBlock>
- All Known Implementing Classes:
MutableBasicBlockImpl
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addPredecessorBlock
(@NonNull MutableBasicBlock block) void
void
void
void
collectExceptionalSuccessorBlocks
(@NonNull MutableBasicBlock block) void
copyExceptionalFlowFrom
(MutableBasicBlock sourceBlock) @NonNull Map<ClassType,
MutableBasicBlock> @NonNull Stmt
getHead()
@NonNull List<MutableBasicBlock>
int
getStmts()
@NonNull List<MutableBasicBlock>
@NonNull Stmt
getTail()
void
linkExceptionalSuccessorBlock
(@NonNull ClassType exception, MutableBasicBlock b) void
linkSuccessor
(int successorIdx, MutableBasicBlock blockB) void
removeExceptionalSuccessorBlock
(@NonNull ClassType exception) void
removeFromSuccessorBlocks
(@NonNull MutableBasicBlock b) boolean
removePredecessorBlock
(@NonNull MutableBasicBlock b) void
removeStmt
(int idx) void
removeStmt
(@NonNull Stmt stmt) boolean
replacePredecessorBlock
(MutableBasicBlock oldBlock, MutableBasicBlock newBlock) void
replaceStmt
(int idx, Stmt newStmt) void
replaceStmt
(Stmt oldStmt, Stmt newStmt) replaceSuccessorBlock
(@NonNull MutableBasicBlock oldBlock, @Nullable MutableBasicBlock newBlock) void
setSuccessorBlock
(int successorIdx, @Nullable MutableBasicBlock block) @NonNull MutableBasicBlockImpl
splitBlockLinked
(int splitIdx) @NonNull MutableBasicBlock
splitBlockLinked
(@NonNull Stmt splitStmt, boolean shouldBeNewHead) splitBlockUnlinked
(int splitIdx) splitBlockUnlinked
(@NonNull Stmt newTail, @NonNull Stmt newHead) Methods inherited from interface sootup.core.graph.BasicBlock
equivTo, isEmpty
-
Method Details
-
addStmt
-
removeStmt
void removeStmt(int idx) -
removeStmt
-
replaceStmt
-
addPredecessorBlock
-
linkSuccessor
-
removePredecessorBlock
-
setSuccessorBlock
-
removeFromSuccessorBlocks
-
linkExceptionalSuccessorBlock
-
removeExceptionalSuccessorBlock
-
splitBlockLinked
-
copyExceptionalFlowFrom
-
splitBlockUnlinked
-
splitBlockUnlinked
-
splitBlockLinked
-
clearSuccessorBlocks
void clearSuccessorBlocks() -
clearExceptionalSuccessorBlocks
void clearExceptionalSuccessorBlocks() -
clearPredecessorBlocks
void clearPredecessorBlocks() -
replaceSuccessorBlock
List<Integer> replaceSuccessorBlock(@NonNull MutableBasicBlock oldBlock, @Nullable MutableBasicBlock newBlock) -
replacePredecessorBlock
-
collectExceptionalSuccessorBlocks
-
getPredecessors
@NonNull List<MutableBasicBlock> getPredecessors()- Specified by:
getPredecessors
in interfaceBasicBlock<MutableBasicBlock>
-
getSuccessors
@NonNull List<MutableBasicBlock> getSuccessors()- Specified by:
getSuccessors
in interfaceBasicBlock<MutableBasicBlock>
-
getExceptionalPredecessors
Map<ClassType,MutableBasicBlock> getExceptionalPredecessors()- Specified by:
getExceptionalPredecessors
in interfaceBasicBlock<MutableBasicBlock>
-
getExceptionalSuccessors
@NonNull Map<ClassType,MutableBasicBlock> getExceptionalSuccessors()- Specified by:
getExceptionalSuccessors
in interfaceBasicBlock<MutableBasicBlock>
-
getStmtCount
int getStmtCount()- Specified by:
getStmtCount
in interfaceBasicBlock<MutableBasicBlock>
-
getStmts
- Specified by:
getStmts
in interfaceBasicBlock<MutableBasicBlock>
-
getHead
@NonNull Stmt getHead()- Specified by:
getHead
in interfaceBasicBlock<MutableBasicBlock>
-
getTail
@NonNull Stmt getTail()- Specified by:
getTail
in interfaceBasicBlock<MutableBasicBlock>
-
replaceStmt
-