public abstract class InsnArg extends Typed
| Modifier and Type | Field and Description |
|---|---|
protected @Nullable(value="Null for method arguments") InsnNode |
parentInsn |
| Constructor and Description |
|---|
InsnArg() |
| Modifier and Type | Method and Description |
|---|---|
protected <T extends InsnArg> |
copyCommonParams(T copy) |
InsnArg |
duplicate() |
@Nullable InsnNode |
getParentInsn() |
boolean |
isAnyThis()
Return true for 'this' from other classes (often occur in anonymous classes)
|
boolean |
isConst() |
boolean |
isFalse() |
boolean |
isInsnWrap() |
boolean |
isLiteral() |
boolean |
isNamed() |
boolean |
isRegister() |
boolean |
isSameConst(InsnArg other) |
boolean |
isThis() |
boolean |
isTrue() |
boolean |
isZeroLiteral() |
static LiteralArg |
lit(jadx.api.plugins.input.insns.InsnData insn,
ArgType type) |
static LiteralArg |
lit(long literal,
ArgType type) |
static RegisterArg |
reg(jadx.api.plugins.input.insns.InsnData insn,
int argNum,
ArgType type) |
static RegisterArg |
reg(int regNum,
ArgType type) |
static RegisterArg |
reg(int regNum,
ArgType type,
boolean typeImmutable) |
void |
setParentInsn(@Nullable InsnNode parentInsn) |
static RegisterArg |
typeImmutableIfKnownReg(jadx.api.plugins.input.insns.InsnData insn,
int argNum,
ArgType type) |
static RegisterArg |
typeImmutableReg(jadx.api.plugins.input.insns.InsnData insn,
int argNum,
ArgType type) |
static RegisterArg |
typeImmutableReg(int regNum,
ArgType type) |
InsnNode |
unwrap() |
static InsnArg |
wrapArg(InsnNode insn)
Prefer
wrapInsnIntoArg(InsnNode). |
static @NotNull InsnArg |
wrapInsnIntoArg(InsnNode insn) |
@Nullable(value="if wrap failed") InsnArg |
wrapInstruction(MethodNode mth,
InsnNode insn) |
@Nullable(value="if wrap failed") InsnArg |
wrapInstruction(MethodNode mth,
InsnNode insn,
boolean unbind) |
getType, isTypeImmutable, setTypeadd, addAttr, addAttr, addAttr, addAttrs, clearAttributes, contains, contains, copyAttributeFrom, copyAttributesFrom, get, getAll, getAnnotation, getAttributesString, getAttributesStringsList, isAttrStorageEmpty, remove, remove, removeAttr, rewriteAttributeFrom, unloadAttributes@Nullable(value="Null for method arguments") protected @Nullable(value="Null for method arguments") InsnNode parentInsn
public static RegisterArg reg(int regNum, ArgType type)
public static RegisterArg reg(jadx.api.plugins.input.insns.InsnData insn, int argNum, ArgType type)
public static RegisterArg typeImmutableIfKnownReg(jadx.api.plugins.input.insns.InsnData insn, int argNum, ArgType type)
public static RegisterArg typeImmutableReg(jadx.api.plugins.input.insns.InsnData insn, int argNum, ArgType type)
public static RegisterArg typeImmutableReg(int regNum, ArgType type)
public static RegisterArg reg(int regNum, ArgType type, boolean typeImmutable)
public static LiteralArg lit(long literal, ArgType type)
public static LiteralArg lit(jadx.api.plugins.input.insns.InsnData insn, ArgType type)
public boolean isRegister()
public boolean isLiteral()
public boolean isInsnWrap()
public boolean isNamed()
@Nullable public @Nullable InsnNode getParentInsn()
public void setParentInsn(@Nullable
@Nullable InsnNode parentInsn)
@Nullable(value="if wrap failed") public @Nullable(value="if wrap failed") InsnArg wrapInstruction(MethodNode mth, InsnNode insn)
@Nullable(value="if wrap failed") public @Nullable(value="if wrap failed") InsnArg wrapInstruction(MethodNode mth, InsnNode insn, boolean unbind)
public static InsnArg wrapArg(InsnNode insn)
wrapInsnIntoArg(InsnNode).
This method don't support MOVE and CONST insns!
public boolean isZeroLiteral()
public boolean isFalse()
public boolean isTrue()
public boolean isThis()
public boolean isAnyThis()
public InsnNode unwrap()
public boolean isConst()
public boolean isSameConst(InsnArg other)
protected final <T extends InsnArg> T copyCommonParams(T copy)
public InsnArg duplicate()