Interface ICSwitchStm
- All Superinterfaces:
ICCompound
,ICConditionalStatement
,ICElement
,ICGenericBreakable
,ICStatement
C AST interface to represent
switch
statements.-
Method Summary
Modifier and TypeMethodDescriptiondefault void
default void
default void
default void
addCase
(BigInteger key, ICBlock b) void
addCase
(Collection<BigInteger> keys, ICBlock b) Deep duplication of the element.getCaseBody
(BigInteger key) removeCasesFromBlock
(ICBlock b, Collection<BigInteger> keys) Remove cases from a specified case-block.void
Methods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICCompound
generateFlatList, insertAt, reset
Methods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICConditionalStatement
getBlocks, getConditionalBlocks, getDefaultBlock, hasDefaultBlock, setDefaultBlock, size, sizeWithoutDefault
Methods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICElement
addPhysicalOffset, addPhysicalOffsets, evaluate, format, generate, getData, getElementType, getPhysicalOffset, getPhysicalOffsets, getSubElements, replaceSubElement, setData, setPhysicalOffsets, toString, visitDepthPost, visitDepthPost, visitDepthPost, visitDepthPre, visitDepthPre, visitDepthPre
Methods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICStatement
getIntermediateOffset, setIntermediateOffset
-
Method Details
-
getSwitchedExpression
ICExpression getSwitchedExpression() -
setSwitchedExpression
-
getCaseKeys
Set<BigInteger> getCaseKeys() -
getCaseBodies
-
getCaseBody
-
getKeysForBlock
-
addCase
-
addCase
-
addCase
-
addCase
-
addCase
-
removeCasesFromBlock
Remove cases from a specified case-block.- Parameters:
b
- case-blockkeys
- a collection of keys; null means remove all the keys (as well as the case-block)- Returns:
- the list of cases actually removed; null if the case-block does not exist
-
duplicate
ICSwitchStm duplicate()Description copied from interface:ICElement
Deep duplication of the element. Sub-elements are duplicated.Note:
ICClass
,ICMethod
,ICField
,ICIdentifier
,ICConstant
,ICType
andICLabel
are not duplicated.- Specified by:
duplicate
in interfaceICCompound
- Specified by:
duplicate
in interfaceICConditionalStatement
- Specified by:
duplicate
in interfaceICElement
- Specified by:
duplicate
in interfaceICGenericBreakable
- Specified by:
duplicate
in interfaceICStatement
-