Package jadx.core.dex.instructions
Class InvokeCustomRawNode
- java.lang.Object
-
- jadx.core.dex.attributes.AttrNode
-
- jadx.core.dex.attributes.nodes.LineAttrNode
-
- jadx.core.dex.nodes.InsnNode
-
- jadx.core.dex.instructions.BaseInvokeNode
-
- jadx.core.dex.instructions.InvokeNode
-
- jadx.core.dex.instructions.InvokeCustomRawNode
-
- All Implemented Interfaces:
IAttributeNode,ILineAttributeNode
public class InvokeCustomRawNode extends InvokeNode
Information for raw invoke-custom instruction.
Output will be formatted as polymorphic call with equivalent semantic Contains two parts: - resolve: treated as additional invoke insn (uses only constant args) - invoke: call of resolved method (base for this invoke)
SeeCustomRawCallclass for build details
-
-
Constructor Summary
Constructors Constructor Description InvokeCustomRawNode(InvokeNode resolve, MethodInfo mthInfo, jadx.api.plugins.input.insns.InsnData insn, boolean isRange)InvokeCustomRawNode(InvokeNode resolve, MethodInfo mthInfo, InvokeType invokeType, int argsCount)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description InsnNodecopy()Make copy of InsnNode object.java.util.List<jadx.api.plugins.input.data.annotations.EncodedValue>getCallSiteValues()intgetFirstArgOffset()Return offset to match method args fromBaseInvokeNode.getCallMth()@Nullable InsnArggetInstanceArg()InvokeNodegetResolveInvoke()booleanisSame(InsnNode obj)'Soft' equals, don't compare arguments, only instruction specific parameters.booleanisStaticCall()voidsetCallSiteValues(java.util.List<jadx.api.plugins.input.data.annotations.EncodedValue> callSiteValues)java.lang.StringtoString()-
Methods inherited from class jadx.core.dex.instructions.InvokeNode
getCallMth, getInvokeType, isPolymorphicCall
-
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, getRegisterArgs, getResult, getType, hashCode, inheritMetadata, isConstInsn, isDeepEquals, rebindArgs, removeArg, removeArg, replaceArg, setArg, 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
-
-
-
-
Constructor Detail
-
InvokeCustomRawNode
public InvokeCustomRawNode(InvokeNode resolve, MethodInfo mthInfo, jadx.api.plugins.input.insns.InsnData insn, boolean isRange)
-
InvokeCustomRawNode
public InvokeCustomRawNode(InvokeNode resolve, MethodInfo mthInfo, InvokeType invokeType, int argsCount)
-
-
Method Detail
-
getResolveInvoke
public InvokeNode getResolveInvoke()
-
setCallSiteValues
public void setCallSiteValues(java.util.List<jadx.api.plugins.input.data.annotations.EncodedValue> callSiteValues)
-
getCallSiteValues
public java.util.List<jadx.api.plugins.input.data.annotations.EncodedValue> getCallSiteValues()
-
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
- Overrides:
copyin classInvokeNode
-
isStaticCall
public boolean isStaticCall()
- Overrides:
isStaticCallin classInvokeNode
-
getFirstArgOffset
public int getFirstArgOffset()
Description copied from class:BaseInvokeNodeReturn offset to match method args fromBaseInvokeNode.getCallMth()- Overrides:
getFirstArgOffsetin classInvokeNode
-
getInstanceArg
@Nullable public @Nullable InsnArg getInstanceArg()
- Overrides:
getInstanceArgin classInvokeNode
-
isSame
public boolean isSame(InsnNode obj)
Description copied from class:InsnNode'Soft' equals, don't compare arguments, only instruction specific parameters.- Overrides:
isSamein classInvokeNode
-
toString
public java.lang.String toString()
- Overrides:
toStringin classInvokeNode
-
-