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
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateTernaryInsn(IfCondition condition, RegisterArg result, InsnArg th, InsnArg els) -
Method Summary
Modifier and TypeMethodDescriptioncopy()Make copy of InsnNode object.voidgetRegisterArgs(Collection<RegisterArg> list) private voidinvert()boolean'Soft' equals, don't compare arguments, only instruction specific parameters.voidFix SSAVar info in register arguments.booleanreplaceArg(InsnArg from, InsnArg to) Replace instruction arg with another using recursive search.voidtoString()voidvisitInsns(Consumer<InsnNode> visitor) Visit this instruction and all inner (wrapped) instructionsMethods 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, duplicateArg, equals, getArg, getArgIndex, getArgList, getArgsCount, getArguments, getOffset, getResult, getType, hashCode, inheritMetadata, isConstInsn, isDeepEquals, isExitEdgeInsn, removeArg, removeArg, setArg, setOffset, setResult, visitArgs, visitArgs, visitInsns, wrapArgMethods inherited from class jadx.core.dex.attributes.nodes.LineAttrNode
addSourceLineFrom, copyLines, getDefPosition, getSourceLine, setDefPosition, setSourceLineMethods 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
-
Field Details
-
condition
-
-
Constructor Details
-
TernaryInsn
-
TernaryInsn
private TernaryInsn()
-
-
Method Details
-
getCondition
-
simplifyCondition
public void simplifyCondition() -
invert
private void invert() -
getRegisterArgs
- Overrides:
getRegisterArgsin classInsnNode
-
replaceArg
Description copied from class:InsnNodeReplace instruction arg with another using recursive search.- Overrides:
replaceArgin classInsnNode
-
visitInsns
Description copied from class:InsnNodeVisit this instruction and all inner (wrapped) instructions- Overrides:
visitInsnsin classInsnNode
-
isSame
Description copied from class:InsnNode'Soft' equals, don't compare arguments, only instruction specific parameters. -
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
-
toString
-