public interface

ICSwitchStm

implements ICConditionalStatement ICGenericBreakable
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICSwitchStm

Class Overview

C AST interface to represent switch statements.

Summary

Public Methods
abstract void addCase(long key1, long key2, ICBlock b)
abstract void addCase(long key, ICBlock b)
abstract void addCase(long key1, long key2, long key3, ICBlock b)
abstract void addCase(BigInteger key, ICBlock b)
abstract void addCase(Collection<BigInteger> keys, ICBlock b)
abstract ICSwitchStm duplicate()
Deep duplication of the element.
abstract List<ICBlock> getCaseBodies()
abstract ICBlock getCaseBody(BigInteger key)
abstract Set<BigInteger> getCaseKeys()
abstract List<BigInteger> getKeysForBlock(ICBlock b)
abstract ICExpression getSwitchedExpression()
abstract Collection<BigInteger> removeCasesFromBlock(ICBlock b, Collection<BigInteger> keys)
Remove cases from a specified case-block.
abstract void setSwitchedExpression(ICExpression value)
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICCompound
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICConditionalStatement
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICElement
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICGenericBreakable
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICStatement

Public Methods

public abstract void addCase (long key1, long key2, ICBlock b)

public abstract void addCase (long key, ICBlock b)

public abstract void addCase (long key1, long key2, long key3, ICBlock b)

public abstract void addCase (BigInteger key, ICBlock b)

public abstract void addCase (Collection<BigInteger> keys, ICBlock b)

public abstract ICSwitchStm duplicate ()

Deep duplication of the element. Sub-elements are duplicated.

Note: ICClass, ICMethod, ICField, ICIdentifier, ICConstant, ICType and ICLabel are not duplicated.

public abstract List<ICBlock> getCaseBodies ()

public abstract ICBlock getCaseBody (BigInteger key)

public abstract Set<BigInteger> getCaseKeys ()

public abstract List<BigInteger> getKeysForBlock (ICBlock b)

public abstract ICExpression getSwitchedExpression ()

public abstract Collection<BigInteger> removeCasesFromBlock (ICBlock b, Collection<BigInteger> keys)

Remove cases from a specified case-block.

Parameters
b case-block
keys 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

public abstract void setSwitchedExpression (ICExpression value)