# Interface: com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICSwitchStm

C AST interface to represent `switch` statements.

## Method: addCase
- parameter: `key1`, type: `long`
- parameter: `key2`, type: `long`
- parameter: `key3`, type: `long`
- parameter: `b`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICBlock`


## Method: addCase
- parameter: `key1`, type: `long`
- parameter: `key2`, type: `long`
- parameter: `b`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICBlock`


## Method: addCase
- parameter: `key`, type: `long`
- parameter: `b`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICBlock`


## Method: addCase
- parameter: `key`, type: `java.math.BigInteger`
- parameter: `b`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICBlock`


## Method: addCase
- parameter: `keys`, type: `java.util.Collection<java.math.BigInteger>`
- parameter: `b`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICBlock`


## Method: duplicate
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICSwitchStm`


## Method: getCaseBodies
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICBlock>`


## Method: getCaseBody
- parameter: `key`, type: `java.math.BigInteger`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICBlock`


## Method: getCaseKeys
- return type: `java.util.Set<java.math.BigInteger>`


## Method: getKeysForBlock
- parameter: `b`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICBlock`
- return type: `java.util.List<java.math.BigInteger>`


## Method: getSwitchedExpression
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICExpression`


## Method: removeCasesFromBlock
- parameter: `b`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICBlock`
- parameter: `keys`, type: `java.util.Collection<java.math.BigInteger>`
- return type: `java.util.Collection<java.math.BigInteger>`

Description: Remove cases from a specified case\-block.
parameter: b: case\-block
parameter: keys: a collection of keys; null means remove all the keys \(as well as the case\-block\)
return: the list of cases actually removed; null if the case\-block does not exist

## Method: setSwitchedExpression
- parameter: `value`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICExpression`


