Package jadx.core.dex.nodes
Class BlockNode
java.lang.Object
jadx.core.dex.attributes.AttrNode
jadx.core.dex.nodes.BlockNode
- All Implemented Interfaces:
IAttributeNode,IBlock,IContainer,Comparable<BlockNode>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final intConst IDprivate BitSetDominance frontierBlocks on which dominates this blockprivate BitSetAll dominators, excluding selfprivate BlockNodeImmediate dominatorprivate BlockNodeImmediate post dominatorprivate intPosition in blocks list (easier to use BitSet)private BitSetPost dominators, excluding selfprivate final intOffset in methods bytecode -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddDominatesOn(BlockNode block) Unique id for use in 'toString()' methodcleanSuccessors(BlockNode block) Return all successor which are not exception handler or followed by loop back edgeintbooleanintgetCId()getDoms()Dominators of this node (exclude itself)intgetId()Deprecated.getIDom()Immediate dominatorintgetPos()intinthashCode()booleanisDominator(BlockNode block) Check if 'block' dominated on this nodebooleanisEmpty()booleanbooleanbooleanvoidlock()voidsetDomFrontier(BitSet domFrontier) voidvoidvoidsetIPostDom(BlockNode iPostDom) (package private) voidsetPos(int id) voidsetPostDoms(BitSet postDoms) toString()static voidupdateBlockPositions(List<BlockNode> blocks) voidMethods inherited from class jadx.core.dex.attributes.AttrNode
add, addAttr, addAttr, addAttr, addAttrs, clearAttributes, contains, contains, copyAttributeFrom, copyAttributesFrom, get, getAll, getAnnotation, getAttributesString, getAttributesStringsList, isAttrStorageEmpty, remove, remove, removeAttr, rewriteAttributeFrom, unloadAttributesMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface jadx.core.dex.attributes.IAttributeNode
add, addAttr, addAttr, addAttrs, clearAttributes, contains, contains, copyAttributeFrom, copyAttributesFrom, get, getAll, getAnnotation, getAttributesString, getAttributesStringsList, isAttrStorageEmpty, remove, remove, removeAttr, rewriteAttributeFrom
-
Field Details
-
cid
private final int cidConst ID -
pos
private int posPosition in blocks list (easier to use BitSet) -
startOffset
private final int startOffsetOffset in methods bytecode -
instructions
-
predecessors
-
successors
-
cleanSuccessors
-
doms
All dominators, excluding self -
postDoms
Post dominators, excluding self -
domFrontier
Dominance frontier -
idom
Immediate dominator -
iPostDom
Immediate post dominator -
dominatesOn
Blocks on which dominates this block
-
-
Constructor Details
-
BlockNode
public BlockNode(int cid, int pos, int offset)
-
-
Method Details
-
getCId
public int getCId() -
setPos
void setPos(int id) -
getId
Deprecated.Deprecated. UsegetPos(). -
getPos
public int getPos() -
getPredecessors
-
getSuccessors
-
getCleanSuccessors
-
updateCleanSuccessors
public void updateCleanSuccessors() -
updateBlockPositions
-
lock
public void lock() -
cleanSuccessors
Return all successor which are not exception handler or followed by loop back edge -
getInstructions
- Specified by:
getInstructionsin interfaceIBlock
-
getStartOffset
public int getStartOffset() -
isDominator
Check if 'block' dominated on this node -
getDoms
Dominators of this node (exclude itself) -
setDoms
-
getPostDoms
-
setPostDoms
-
getDomFrontier
-
setDomFrontier
-
getIDom
Immediate dominator -
setIDom
-
getIPostDom
-
setIPostDom
-
getDominatesOn
-
addDominatesOn
-
isSynthetic
public boolean isSynthetic() -
isReturnBlock
public boolean isReturnBlock() -
isMthExitBlock
public boolean isMthExitBlock() -
isEmpty
public boolean isEmpty() -
hashCode
public int hashCode() -
equals
-
compareTo
- Specified by:
compareToin interfaceComparable<BlockNode>
-
baseString
Description copied from interface:IContainerUnique id for use in 'toString()' method- Specified by:
baseStringin interfaceIContainer
-
toString
-