public interface

ICConditionalStatement

implements ICCompound
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICConditionalStatement
Known Indirect Subclasses

Class Overview

Base class for CAST conditional statements (if, switch).

Summary

Public Methods
abstract ICConditionalStatement duplicate()
Deep duplication of the element.
abstract List<ICBlock> getBlocks()
Return a copy of the CBlock conditional blocks with default block (if it exists).
abstract List<ICBlock> getConditionalBlocks()
Return a copy of the CBlock conditional blocks.
abstract ICBlock getDefaultBlock()
Return the default block, or null if no default block is defined
abstract boolean hasDefaultBlock()
Determine whether the conditional statement has a default block.
abstract void setDefaultBlock(ICBlock b)
Set the default block of code.
abstract int size()
Return the number of blocks (including default block).
abstract int sizeWithoutDefault()
Return the number of blocks, NOT counting the default block if there is one.
[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.ICElement
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICStatement

Public Methods

public abstract ICConditionalStatement 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> getBlocks ()

Return a copy of the CBlock conditional blocks with default block (if it exists).

public abstract List<ICBlock> getConditionalBlocks ()

Return a copy of the CBlock conditional blocks. The default block is not included.

public abstract ICBlock getDefaultBlock ()

Return the default block, or null if no default block is defined

public abstract boolean hasDefaultBlock ()

Determine whether the conditional statement has a default block.

Returns
  • true if the conditional statement has an else block

public abstract void setDefaultBlock (ICBlock b)

Set the default block of code.

Parameters
b optional block, set to null to remove the default block

public abstract int size ()

Return the number of blocks (including default block).

Returns
  • the number of blocks

public abstract int sizeWithoutDefault ()

Return the number of blocks, NOT counting the default block if there is one.