Package jadx.core.dex.instructions.mods
Class TernaryInsn
- java.lang.Object
-
- jadx.core.dex.attributes.AttrNode
-
- jadx.core.dex.attributes.nodes.LineAttrNode
-
- jadx.core.dex.nodes.InsnNode
-
- jadx.core.dex.instructions.mods.TernaryInsn
-
- All Implemented Interfaces:
IAttributeNode,ILineAttributeNode
public final class TernaryInsn extends InsnNode
-
-
Constructor Summary
Constructors Constructor Description TernaryInsn(IfCondition condition, RegisterArg result, InsnArg th, InsnArg els)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description InsnNodecopy()Make copy of InsnNode object.IfConditiongetCondition()voidgetRegisterArgs(java.util.Collection<RegisterArg> list)booleanisSame(InsnNode obj)'Soft' equals, don't compare arguments, only instruction specific parameters.voidrebindArgs()Fix SSAVar info in register arguments.booleanreplaceArg(InsnArg from, InsnArg to)Replace instruction arg with another using recursive search.voidsimplifyCondition()java.lang.StringtoString()voidvisitInsns(java.util.function.Consumer<InsnNode> visitor)Visit this instruction and all inner (wrapped) instructions-
Methods inherited from class jadx.core.dex.nodes.InsnNode
addArg, addLit, addLit, addReg, addReg, appendArgs, appendAttributes, attachArg, attributesString, baseString, canRemoveResult, canReorder, canThrowException, containsArg, containsVar, containsWrappedInsn, copy, copyAttributesFrom, copyCommonParams, copyWithNewSsaVar, copyWithoutResult, copyWithoutSsa, equals, getArg, getArgIndex, getArgList, getArgsCount, getArguments, getOffset, getResult, getType, hashCode, inheritMetadata, isConstInsn, isDeepEquals, removeArg, removeArg, setArg, setOffset, setResult, visitArgs, visitArgs, visitInsns, wrapArg
-
Methods inherited from class jadx.core.dex.attributes.nodes.LineAttrNode
addSourceLineFrom, copyLines, getDefPosition, getSourceLine, setDefPosition, setSourceLine
-
Methods 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, unloadAttributes
-
-
-
-
Constructor Detail
-
TernaryInsn
public TernaryInsn(IfCondition condition, RegisterArg result, InsnArg th, InsnArg els)
-
-
Method Detail
-
getCondition
public IfCondition getCondition()
-
simplifyCondition
public void simplifyCondition()
-
getRegisterArgs
public void getRegisterArgs(java.util.Collection<RegisterArg> list)
- Overrides:
getRegisterArgsin classInsnNode
-
replaceArg
public boolean replaceArg(InsnArg from, InsnArg to)
Description copied from class:InsnNodeReplace instruction arg with another using recursive search.- Overrides:
replaceArgin classInsnNode
-
visitInsns
public void visitInsns(java.util.function.Consumer<InsnNode> visitor)
Description copied from class:InsnNodeVisit this instruction and all inner (wrapped) instructions- Overrides:
visitInsnsin classInsnNode
-
isSame
public boolean isSame(InsnNode obj)
Description copied from class:InsnNode'Soft' equals, don't compare arguments, only instruction specific parameters.
-
copy
public InsnNode copy()
Description copied from class:InsnNodeMake copy of InsnNode object.
NOTE: can't copy instruction with result argument (SSA variable can't be used in two different assigns).
Prefer use next methods:InsnNode.copyWithoutResult()to explicitly state that result not neededInsnNode.copy(RegisterArg)to provide new result argInsnNode.copyWithNewSsaVar(MethodNode)to make new SSA variable for result arg
-
rebindArgs
public void rebindArgs()
Description copied from class:InsnNodeFix SSAVar info in register arguments. Must be used after altering instructions.- Overrides:
rebindArgsin classInsnNode
-
-