Uses of Interface
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICBlock
Packages that use ICBlock
Package
Description
C AST types, used in AST documents provided by the
source units
generated by gendec
.Types specific to
gendec
's AST optimizers.-
Uses of ICBlock in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast that return ICBlockModifier and TypeMethodDescriptionICBlock.add
(ICStatement stm) ICBlock.addAll
(ICStatement... stms) ICElementFactory.createBlock()
ICElementFactory.createBlock
(ICStatement stm) ICElementFactory.createBlock
(ICStatement... stms) ICBlock.duplicate()
ICGenericLoop.getBody()
ICMethod.getBody()
ICIfStm.getBranchBody
(int index) ICSwitchStm.getCaseBody
(BigInteger key) ICConditionalStatement.getDefaultBlock()
Return the default block, or null if no default block is defineddefault ICBlock
ICIfStm.removeDefaultBlock()
Remove the default block, if there one, and return it.Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast that return types with arguments of type ICBlockModifier and TypeMethodDescriptionICCompound.getBlocks()
Retrieve the list of blocks (not elements) that are used to define that compound element.ICConditionalStatement.getBlocks()
Return a copy of theCBlock
conditional blocks with default block (if it exists).ICSwitchStm.getCaseBodies()
ICConditionalStatement.getConditionalBlocks()
Return a copy of theCBlock
conditional blocks.Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast with parameters of type ICBlockModifier and TypeMethodDescriptionvoid
ICIfStm.addBranch
(ICPredicate p, ICBlock b) Add an alternative block (if or else-if) to this element.default void
default void
default void
default void
ICSwitchStm.addCase
(BigInteger key, ICBlock b) void
ICSwitchStm.addCase
(Collection<BigInteger> keys, ICBlock b) ICElementFactory.createDoWhileStm
(ICBlock b, ICPredicate p) ICElementFactory.createForLoop
(ICStatement pre, ICPredicate p, ICStatement post, ICBlock b) ICElementFactory.createIfStm
(ICPredicate p, ICBlock b) ICElementFactory.createWhileStm
(ICPredicate p, ICBlock b) static ICStatement
CUtil.getFirstRealStatement
(ICBlock b, int i) Get the next "real" statement to be executed in the block, starting at the given index inclusively.ICSwitchStm.getKeysForBlock
(ICBlock b) void
Insert all statements of a source block into this block.void
ICIfStm.insertBranch
(int index, ICPredicate p, ICBlock b) ICSwitchStm.removeCasesFromBlock
(ICBlock b, Collection<BigInteger> keys) Remove cases from a specified case-block.void
void
ICIfStm.setBranchBody
(int index, ICBlock b) void
ICConditionalStatement.setDefaultBlock
(ICBlock b) Set the default block of code.void
ICIfStm.setDefaultBlock
(ICBlock b) static boolean
CUtil.visitICStatementDepthPost
(ICVisitor visitor, ICBlock elt, int from, CVisitResults results) -
Uses of ICBlock in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt with parameters of type ICBlockModifier and TypeMethodDescriptionprotected ICStatement
AbstractCBlockOptimizer.getNextSiblingStatement
(int statementIndex, ICBlock block, ICStatement blockNextSiblingStm) protected abstract int
AbstractCBlockOptimizer.optimizeBlock
(ICBlock b) Attempt to optimize CBlock.protected int
AbstractCBlockOptimizer.optimizeBlock
(ICBlock b, ICCompound parent, ICStatement blockNextStm) Attempt to optimize CBlock, with some contextual information provided.protected final int
AbstractCElementOptimizer.optimizeBlock
(ICBlock b) Process the block.protected int
AbstractCStatementOptimizer.optimizeBlock
(ICBlock b) The default implementation iterates over each statement of the block and callsAbstractCStatementOptimizer.optimizeStatement(ICStatement)
.