Package jadx.core.dex.instructions
Class PhiInsn
- java.lang.Object
-
- jadx.core.dex.attributes.AttrNode
-
- jadx.core.dex.attributes.nodes.LineAttrNode
-
- jadx.core.dex.nodes.InsnNode
-
- jadx.core.dex.instructions.PhiInsn
-
- All Implemented Interfaces:
IAttributeNode,ILineAttributeNode
public final class PhiInsn extends InsnNode
-
-
Constructor Summary
Constructors Constructor Description PhiInsn(int regNum, int predecessors)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddArg(InsnArg arg)voidbindArg(RegisterArg arg, BlockNode pred)RegisterArgbindArg(BlockNode pred)InsnNodecopy()Make copy of InsnNode object.@NotNull RegisterArggetArg(int n)@Nullable RegisterArggetArgBySsaVar(SSAVar ssaVar)@Nullable BlockNodegetBlockByArg(RegisterArg arg)BlockNodegetBlockByArgIndex(int argIndex)RegisterArgremoveArg(int index)booleanremoveArg(InsnArg arg)booleanreplaceArg(InsnArg from, InsnArg to)Replace instruction arg with another using recursive search.voidsetArg(int n, InsnArg arg)java.lang.StringtoString()-
Methods inherited from class jadx.core.dex.nodes.InsnNode
addLit, addLit, addReg, addReg, appendArgs, appendAttributes, attachArg, attributesString, baseString, canRemoveResult, canReorder, canThrowException, containsArg, containsVar, containsWrappedInsn, copy, copyAttributesFrom, copyCommonParams, copyWithNewSsaVar, copyWithoutResult, copyWithoutSsa, equals, getArgIndex, getArgList, getArgsCount, getArguments, getOffset, getRegisterArgs, getResult, getType, hashCode, inheritMetadata, isConstInsn, isDeepEquals, isSame, rebindArgs, setOffset, setResult, visitArgs, visitArgs, visitInsns, 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
-
-
-
-
Method Detail
-
bindArg
public RegisterArg bindArg(BlockNode pred)
-
bindArg
public void bindArg(RegisterArg arg, BlockNode pred)
-
getBlockByArg
@Nullable public @Nullable BlockNode getBlockByArg(RegisterArg arg)
-
getBlockByArgIndex
public BlockNode getBlockByArgIndex(int argIndex)
-
getArg
@NotNull public @NotNull RegisterArg getArg(int n)
-
removeArg
public RegisterArg removeArg(int index)
-
getArgBySsaVar
@Nullable public @Nullable RegisterArg getArgBySsaVar(SSAVar ssaVar)
-
replaceArg
public boolean replaceArg(InsnArg from, InsnArg to)
Description copied from class:InsnNodeReplace instruction arg with another using recursive search.- Overrides:
replaceArgin classInsnNode
-
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
-
-