public interface IAnalysisLatticeElement<BlockStateType extends IBlockState<BlockStateType,?,CallEdgeType>,CallContextType extends ICallContext<?>,CallEdgeType extends ICallEdge<BlockStateType>>
| Modifier and Type | Interface and Description |
|---|---|
static class |
IAnalysisLatticeElement.MergeResult
|
| Modifier and Type | Method and Description |
|---|---|
void |
check()
Checks that all states are consistent.
|
CallGraph<BlockStateType,CallContextType,CallEdgeType> |
getCallGraph()
Returns the call graph.
|
int |
getSize(BasicBlock block)
Returns the number of states stored for the given basic block.
|
BlockStateType |
getState(BasicBlock block,
CallContextType context)
Returns the abstract state for entry of the given basic block and call context,
where null represents none.
|
Map<CallContextType,BlockStateType> |
getStates(BasicBlock block)
Returns the contexts and abstract states for the entry of the given basic block.
|
IAnalysisLatticeElement.MergeResult |
propagate(BlockStateType s,
BasicBlock b,
CallContextType c,
boolean trim,
boolean overwrite)
Propagates s into the entry state of b in call context c.
|
void check()
CallGraph<BlockStateType,CallContextType,CallEdgeType> getCallGraph()
int getSize(BasicBlock block)
BlockStateType getState(BasicBlock block, CallContextType context)
Map<CallContextType,BlockStateType> getStates(BasicBlock block)
IAnalysisLatticeElement.MergeResult propagate(BlockStateType s, BasicBlock b, CallContextType c, boolean trim, boolean overwrite)
trim - if set, trim the state while joiningoverwrite - if set, overwrite the existing stateCopyright © 2012 Aarhus University