public class IfNode extends GotoNode
| Constructor and Description |
|---|
IfNode(IfOp op,
int targetOffset,
InsnArg arg1,
InsnArg arg2) |
IfNode(jadx.api.plugins.input.insns.InsnData insn,
IfOp op) |
| Modifier and Type | Method and Description |
|---|---|
void |
changeCondition(IfOp op,
InsnArg arg1,
InsnArg arg2) |
InsnNode |
copy()
Make copy of InsnNode object.
|
BlockNode |
getElseBlock() |
IfOp |
getOp() |
int |
getTarget() |
BlockNode |
getThenBlock() |
void |
initBlocks(BlockNode curBlock) |
void |
invertCondition() |
boolean |
isSame(InsnNode obj)
'Soft' equals, don't compare arguments, only instruction specific parameters.
|
void |
normalize()
Change 'a != false' to 'a == true'
|
boolean |
replaceTargetBlock(BlockNode origin,
BlockNode replace) |
java.lang.String |
toString() |
addArg, addLit, addLit, addReg, addReg, appendArgs, attachArg, canRemoveResult, canReorder, canThrowException, containsArg, containsVar, containsWrappedInsn, copy, copyAttributesFrom, copyCommonParams, copyWithNewSsaVar, copyWithoutResult, copyWithoutSsa, equals, getArg, getArgIndex, getArgsCount, getArguments, getOffset, getRegisterArgs, getResult, getType, hashCode, inheritMetadata, isConstInsn, isDeepEquals, rebindArgs, removeArg, removeArg, replaceArg, setArg, setOffset, setResult, visitArgs, visitArgs, visitInsns, visitInsns, wrapArgaddSourceLineFrom, copyLines, getDefPosition, getSourceLine, setDefPosition, setSourceLineadd, addAttr, addAttr, addAttr, addAttrs, clearAttributes, contains, contains, copyAttributeFrom, copyAttributesFrom, get, getAll, getAnnotation, getAttributesString, getAttributesStringsList, isAttrStorageEmpty, remove, remove, removeAttr, rewriteAttributeFrom, unloadAttributesprotected IfOp op
public IfNode(jadx.api.plugins.input.insns.InsnData insn,
IfOp op)
public IfOp getOp()
public void invertCondition()
public void normalize()
public void initBlocks(BlockNode curBlock)
initBlocks in class TargetInsnNodepublic boolean replaceTargetBlock(BlockNode origin, BlockNode replace)
replaceTargetBlock in class TargetInsnNodepublic BlockNode getThenBlock()
public BlockNode getElseBlock()
public boolean isSame(InsnNode obj)
InsnNodepublic InsnNode copy()
InsnNodeInsnNode.copyWithoutResult() to explicitly state that result not needed
InsnNode.copy(RegisterArg) to provide new result arg
InsnNode.copyWithNewSsaVar(MethodNode) to make new SSA variable for result arg