| Package | Description |
|---|---|
| com.ibm.wala.analysis.reflection |
This package provides functions to deal with reflection.
|
| com.ibm.wala.analysis.reflection.java7 | |
| com.ibm.wala.cfg |
This package provides control-flow graph utilities.
|
| com.ibm.wala.cfg.exc | |
| com.ibm.wala.cfg.exc.intra | |
| com.ibm.wala.demandpa.flowgraph | |
| com.ibm.wala.ipa.callgraph.impl |
This package provides some implementations of basic functions needed for
various call graph construction algorithms.
|
| com.ibm.wala.ipa.callgraph.propagation |
This package provides the base layer for propagation-based call graph
construction and pointer analysis.
|
| com.ibm.wala.ipa.callgraph.propagation.cfa |
This package provides RTA call graph
construction.
|
| com.ibm.wala.ipa.cfg |
This package supports interprocedural control-flow graphs, and control-flow
graphs specialized for context.
|
| com.ibm.wala.ssa |
This package provides the WALA SSA IR.
|
| com.ibm.wala.ssa.analysis |
This package provides analyses over the WALA SSA IR.
|
| com.ibm.wala.viz |
| Modifier and Type | Method and Description |
|---|---|
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
ReflectiveInvocationInterpreter.getCFG(CGNode N) |
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
JavaLangClassContextInterpreter.getCFG(CGNode N) |
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
GetMethodContextInterpreter.getCFG(CGNode N) |
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
GetClassContextInterpeter.getCFG(CGNode N) |
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
FactoryBypassInterpreter.getCFG(CGNode N) |
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
CloneInterpreter.getCFG(CGNode N) |
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
ClassNewInstanceContextInterpreter.getCFG(CGNode N) |
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
ClassFactoryContextInterpreter.getCFG(CGNode N) |
| Modifier and Type | Method and Description |
|---|---|
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
MethodHandles.ContextInterpreterImpl.getCFG(CGNode n) |
| Modifier and Type | Method and Description |
|---|---|
static com.ibm.wala.util.graph.Graph<ISSABasicBlock> |
CFGSanitizer.sanitize(IR ir,
IClassHierarchy cha)
Return a view of the
ControlFlowGraph for an IR, which elides all exceptional exits from PEIs in the IR. |
| Modifier and Type | Method and Description |
|---|---|
static ExceptionPruningAnalysis<SSAInstruction,ISSABasicBlock> |
NullPointerAnalysis.createIntraproceduralSSACFGAnalyis(IR ir) |
static ExceptionPruningAnalysis<SSAInstruction,ISSABasicBlock> |
NullPointerAnalysis.createIntraproceduralSSACFGAnalyis(TypeReference[] ignoredExceptions,
IR ir) |
static ExceptionPruningAnalysis<SSAInstruction,ISSABasicBlock> |
NullPointerAnalysis.createIntraproceduralSSACFGAnalyis(TypeReference[] ignoredExceptions,
IR ir,
ParameterState paramState,
MethodState mState) |
| Modifier and Type | Class and Description |
|---|---|
class |
IntraprocNullPointerAnalysis<T extends ISSABasicBlock>
Intraprocedural dataflow analysis to detect impossible NullPointerExceptions.
|
| Modifier and Type | Method and Description |
|---|---|
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
SSACFGNullPointerAnalysis.getCFG() |
| Modifier and Type | Method and Description |
|---|---|
NullPointerState |
SSACFGNullPointerAnalysis.getState(ISSABasicBlock bb) |
| Modifier and Type | Method and Description |
|---|---|
ISSABasicBlock |
SimpleDemandPointerFlowGraph.StatementVisitor.getBasicBlock() |
ISSABasicBlock |
DemandPointerFlowGraph.StatementVisitor.getBasicBlock() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
AbstractDemandFlowGraph.addBlockInstructionConstraints(CGNode node,
ControlFlowGraph<SSAInstruction,ISSABasicBlock> cfg,
ISSABasicBlock b,
AbstractDemandFlowGraph.FlowStatementVisitor v)
Add constraints for a particular basic block.
|
protected void |
SimpleDemandPointerFlowGraph.addBlockInstructionConstraints(CGNode node,
ControlFlowGraph<SSAInstruction,ISSABasicBlock> cfg,
ISSABasicBlock b,
SimpleDemandPointerFlowGraph.StatementVisitor v)
Add constraints for a particular basic block.
|
void |
SimpleDemandPointerFlowGraph.StatementVisitor.setBasicBlock(ISSABasicBlock block)
The calling loop must call this in each iteration!
|
void |
DemandPointerFlowGraph.StatementVisitor.setBasicBlock(ISSABasicBlock block)
The calling loop must call this in each iteration!
|
void |
AbstractDemandFlowGraph.FlowStatementVisitor.setBasicBlock(ISSABasicBlock b) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
AbstractDemandFlowGraph.addBlockInstructionConstraints(CGNode node,
ControlFlowGraph<SSAInstruction,ISSABasicBlock> cfg,
ISSABasicBlock b,
AbstractDemandFlowGraph.FlowStatementVisitor v)
Add constraints for a particular basic block.
|
protected void |
SimpleDemandPointerFlowGraph.addBlockInstructionConstraints(CGNode node,
ControlFlowGraph<SSAInstruction,ISSABasicBlock> cfg,
ISSABasicBlock b,
SimpleDemandPointerFlowGraph.StatementVisitor v)
Add constraints for a particular basic block.
|
| Modifier and Type | Method and Description |
|---|---|
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
ExplicitCallGraph.ExplicitNode.getCFG() |
| Modifier and Type | Field and Description |
|---|---|
protected ISSABasicBlock |
SSAPropagationCallGraphBuilder.ConstraintVisitor.basicBlock
The basic block currently being processed
|
| Modifier and Type | Method and Description |
|---|---|
ISSABasicBlock |
SSAPropagationCallGraphBuilder.ConstraintVisitor.getBasicBlock() |
| Modifier and Type | Method and Description |
|---|---|
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
SSAContextInterpreter.getCFG(CGNode n) |
| Modifier and Type | Method and Description |
|---|---|
static List<ProgramCounter> |
SSAPropagationCallGraphBuilder.getIncomingPEIs(IR ir,
ISSABasicBlock bb) |
void |
SSAPropagationCallGraphBuilder.ConstraintVisitor.setBasicBlock(ISSABasicBlock block)
The calling loop must call this in each iteration!
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
SSAPropagationCallGraphBuilder.addBlockInstructionConstraints(CGNode node,
ControlFlowGraph<SSAInstruction,ISSABasicBlock> cfg,
SSACFG.BasicBlock b,
SSAPropagationCallGraphBuilder.ConstraintVisitor v,
com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor)
Add constraints for a particular basic block.
|
| Modifier and Type | Method and Description |
|---|---|
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
FallbackContextInterpreter.getCFG(CGNode n) |
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
DelegatingSSAContextInterpreter.getCFG(CGNode node) |
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
DefaultSSAInterpreter.getCFG(CGNode N) |
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
ContextInsensitiveSSAInterpreter.getCFG(CGNode N) |
| Modifier and Type | Class and Description |
|---|---|
class |
AbstractInterproceduralCFG<T extends ISSABasicBlock>
Interprocedural control-flow graph, constructed lazily.
|
class |
BasicBlockInContext<T extends ISSABasicBlock>
A helper class to make the ipcfg work correctly with context-sensitive call graphs.
|
| Modifier and Type | Class and Description |
|---|---|
class |
BasicBlockInContext<T extends ISSABasicBlock>
A helper class to make the ipcfg work correctly with context-sensitive call graphs.
|
| Modifier and Type | Method and Description |
|---|---|
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
InterproceduralCFG.getCFG(CGNode n) |
| Modifier and Type | Class and Description |
|---|---|
class |
SSACFG.BasicBlock
A Basic Block in an SSA IR
|
class |
SSACFG.ExceptionHandlerBasicBlock |
| Modifier and Type | Method and Description |
|---|---|
ISSABasicBlock |
IR.getBasicBlockForCatch(SSAGetCaughtExceptionInstruction instruction)
Return the
ISSABasicBlock corresponding to a particular catch instruction |
ISSABasicBlock |
IR.getBasicBlockForInstruction(SSAInstruction s)
This is space-inefficient.
|
ISSABasicBlock[] |
IR.getBasicBlocksForCall(CallSiteReference site) |
| Modifier and Type | Method and Description |
|---|---|
Collection<ISSABasicBlock> |
SSACFG.getExceptionalPredecessors(ISSABasicBlock b) |
List<ISSABasicBlock> |
SSACFG.getExceptionalSuccessors(ISSABasicBlock b) |
Collection<ISSABasicBlock> |
SSACFG.getNormalPredecessors(ISSABasicBlock b) |
Collection<ISSABasicBlock> |
SSACFG.getNormalSuccessors(ISSABasicBlock b) |
Iterator<ISSABasicBlock> |
SSACFG.getPredNodes(ISSABasicBlock b) |
Iterator<ISSABasicBlock> |
SSACFG.getSuccNodes(ISSABasicBlock b) |
Iterator<ISSABasicBlock> |
SSACFG.iterateNodes(com.ibm.wala.util.intset.IntSet s) |
Iterator<ISSABasicBlock> |
SSACFG.iterator() |
| Modifier and Type | Interface and Description |
|---|---|
interface |
IExplodedBasicBlock
A basic block with exactly one normal instruction (which may be null), corresponding to a single instruction index in the SSA
instruction array.
|
| Modifier and Type | Method and Description |
|---|---|
static com.ibm.wala.viz.NodeDecorator<ISSABasicBlock> |
PDFViewUtil.makeIRDecorator(IR ir) |
| Modifier and Type | Method and Description |
|---|---|
static Process |
PDFViewUtil.ghostviewIR(IClassHierarchy cha,
IR ir,
String pdfFile,
String dotFile,
String dotExe,
String pdfViewExe,
com.ibm.wala.viz.NodeDecorator<ISSABasicBlock> annotations)
spawn a process to view a WALA IR
|
Copyright © 2015. All rights reserved.