| Package | Description |
|---|---|
| com.ibm.wala.cfg.exc.inter | |
| com.ibm.wala.cfg.exc.intra | |
| com.ibm.wala.demandpa.flowgraph | |
| com.ibm.wala.ipa.callgraph |
This package provides basic interfaces and functions for call graph
construction.
|
| 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.slicer | |
| com.ibm.wala.ssa |
This package provides the WALA SSA IR.
|
| Modifier and Type | Method and Description |
|---|---|
static int[] |
AnalysisUtil.getParameterNumbers(SSAAbstractInvokeInstruction invokeInstruction)
Returns an array of
int with the parameter's var nums of the
invoked method in invokeInstruction. |
| Modifier and Type | Method and Description |
|---|---|
abstract boolean |
MethodState.throwsException(SSAAbstractInvokeInstruction node) |
| Modifier and Type | Field and Description |
|---|---|
protected Map<PointerKey,SSAAbstractInvokeInstruction> |
AbstractFlowGraph.callDefs
Map: LocalPointerKey -> SSAInvokeInstruction.
|
protected Map<PointerKey,Set<SSAAbstractInvokeInstruction>> |
AbstractFlowGraph.callParams
Map:
LocalPointerKey -> Set<SSAInvokeInstruction>. |
| Modifier and Type | Method and Description |
|---|---|
SSAAbstractInvokeInstruction |
IFlowGraph.getInstrReturningTo(LocalPointerKey pk)
get the
SSAInvokeInstruction whose return value is assigned to a pointer key. |
SSAAbstractInvokeInstruction |
AbstractFlowGraph.getInstrReturningTo(LocalPointerKey pk) |
| Modifier and Type | Method and Description |
|---|---|
Iterator<SSAAbstractInvokeInstruction> |
IFlowGraph.getInstrsPassingParam(LocalPointerKey pk) |
Iterator<SSAAbstractInvokeInstruction> |
AbstractFlowGraph.getInstrsPassingParam(LocalPointerKey pk) |
| Modifier and Type | Method and Description |
|---|---|
SSAAbstractInvokeInstruction |
Entrypoint.addCall(AbstractRootMethod m)
Add a call to this entrypoint from the fake root method
|
| Modifier and Type | Method and Description |
|---|---|
InstanceKey[][] |
SSAPropagationCallGraphBuilder.ConstraintVisitor.InvariantComputer.computeInvariantParameters(SSAAbstractInvokeInstruction call) |
InstanceKey[][] |
SSAPropagationCallGraphBuilder.ConstraintVisitor.DefaultInvariantComputer.computeInvariantParameters(SSAAbstractInvokeInstruction call)
Side effect: records invariant parameters as implicit points-to-sets.
|
protected Set<CGNode> |
SSAPropagationCallGraphBuilder.getTargetsForCall(CGNode caller,
SSAAbstractInvokeInstruction instruction,
InstanceKey[][] invs) |
PointerKey |
SSAPropagationCallGraphBuilder.getUniqueCatchKey(SSAAbstractInvokeInstruction call,
IR ir,
CGNode node)
precondition: hasUniqueCatchBlock(call,node,cg)
|
protected static boolean |
SSAPropagationCallGraphBuilder.hasUniqueCatchBlock(SSAAbstractInvokeInstruction call,
IR ir) |
protected void |
SSAPropagationCallGraphBuilder.iterateCrossProduct(CGNode caller,
SSAAbstractInvokeInstruction call,
com.ibm.wala.util.intset.IntSet parameters,
InstanceKey[][] invariants,
com.ibm.wala.util.functions.VoidFunction<InstanceKey[]> f) |
protected void |
SSAPropagationCallGraphBuilder.processCallingConstraints(CGNode caller,
SSAAbstractInvokeInstruction instruction,
CGNode target,
InstanceKey[][] constParams,
PointerKey uniqueCatchKey) |
protected void |
SSAPropagationCallGraphBuilder.ConstraintVisitor.visitInvokeInternal(SSAAbstractInvokeInstruction instruction,
SSAPropagationCallGraphBuilder.ConstraintVisitor.InvariantComputer invs) |
| Modifier and Type | Method and Description |
|---|---|
SSAAbstractInvokeInstruction |
HeapStatement.HeapParamCaller.getCall() |
SSAAbstractInvokeInstruction |
HeapStatement.HeapReturnCaller.getCall() |
SSAAbstractInvokeInstruction |
ParamCaller.getInstruction() |
SSAAbstractInvokeInstruction |
NormalReturnCaller.getInstruction() |
SSAAbstractInvokeInstruction |
ExceptionalReturnCaller.getInstruction() |
| Modifier and Type | Method and Description |
|---|---|
Set<Statement> |
PDG.getCallerParamStatements(SSAAbstractInvokeInstruction call)
return the set of all PARAM_CALLER and HEAP_PARAM_CALLER statements associated with a given call
|
Set<Statement> |
PDG.getCallerReturnStatements(SSAAbstractInvokeInstruction call)
return the set of all NORMAL_RETURN_CALLER and HEAP_RETURN_CALLER statements associated with a given call.
|
Set<Statement> |
PDG.getCallStatements(SSAAbstractInvokeInstruction call)
return the set of all PARAM_CALLER, HEAP_PARAM_CALLER, and NORMAL statements (i.e., the actual call statement) associated with
a given call
|
| Modifier and Type | Class and Description |
|---|---|
class |
SSAInvokeDynamicInstruction |
class |
SSAInvokeInstruction |
| Modifier and Type | Method and Description |
|---|---|
SSAAbstractInvokeInstruction[] |
IR.getCalls(CallSiteReference site)
Return the invoke instructions corresponding to a call site
Note that Shrike may inline JSRS.
|
| Modifier and Type | Method and Description |
|---|---|
com.ibm.wala.util.collections.Pair<Integer,SSAInstruction> |
SSAPiNodePolicy.getPi(SSAAbstractInvokeInstruction call,
SymbolTable symbolTable)
Do we need to introduce a new name for some value immediately after a call?
If so, returns a pair consisting of the value number needing renaming, and the instruction which should be recorded as the
cause of the pi instruction
|
com.ibm.wala.util.collections.Pair<Integer,SSAInstruction> |
NullTestPiPolicy.getPi(SSAAbstractInvokeInstruction call,
SymbolTable symbolTable) |
com.ibm.wala.util.collections.Pair<Integer,SSAInstruction> |
InstanceOfPiPolicy.getPi(SSAAbstractInvokeInstruction call,
SymbolTable symbolTable) |
com.ibm.wala.util.collections.Pair<Integer,SSAInstruction> |
CompoundPiPolicy.getPi(SSAAbstractInvokeInstruction call,
SymbolTable symbolTable) |
Copyright © 2015. All rights reserved.