Package jadx.core.dex.instructions
Class SwitchInsn
java.lang.Object
jadx.core.dex.attributes.AttrNode
jadx.core.dex.attributes.nodes.LineAttrNode
jadx.core.dex.nodes.InsnNode
jadx.core.dex.instructions.TargetInsnNode
jadx.core.dex.instructions.SwitchInsn
- All Implemented Interfaces:
IAttributeNode,ILineAttributeNode
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final intprivate intprivate BlockNodeprivate Object[]private final booleanprivate @Nullable SwitchDataprivate BlockNode[] -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidattachSwitchData(SwitchData data, int def) copy()Make copy of InsnNode object.intintgetKey(int i) int[]getKeys()private @NotNull SwitchDataint[]voidinitBlocks(BlockNode curBlock) booleanisPacked()boolean'Soft' equals, don't compare arguments, only instruction specific parameters.voidbooleanneedData()booleanreplaceTargetBlock(BlockNode origin, BlockNode replace) toString()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, duplicateArg, equals, getArg, getArgIndex, getArgList, getArgsCount, getArguments, getOffset, getRegisterArgs, getResult, getType, hashCode, inheritMetadata, isConstInsn, isDeepEquals, isExitEdgeInsn, rebindArgs, removeArg, removeArg, replaceArg, setArg, setOffset, setResult, visitArgs, visitArgs, visitInsns, 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
-
dataTarget
private final int dataTarget -
packed
private final boolean packed -
switchData
-
def
private int def -
modifiedKeys
-
targetBlocks
-
defTargetBlock
-
-
Constructor Details
-
SwitchInsn
-
-
Method Details
-
needData
public boolean needData() -
attachSwitchData
-
initBlocks
- Overrides:
initBlocksin classTargetInsnNode
-
replaceTargetBlock
- Overrides:
replaceTargetBlockin classTargetInsnNode
-
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
-
toString
-
getDataTarget
public int getDataTarget() -
isPacked
public boolean isPacked() -
getDefaultCaseOffset
public int getDefaultCaseOffset() -
getSwitchData
-
getTargets
public int[] getTargets() -
getKeys
public int[] getKeys() -
getKey
-
modifyKey
-
getTargetBlocks
-
getDefTargetBlock
-