| Package | Description |
|---|---|
| com.ibm.wala.analysis.reflection |
This package provides functions to deal with reflection.
|
| com.ibm.wala.analysis.reflection.java7 | |
| com.ibm.wala.classLoader |
This package provides functionality related to class loading and
management of loaded classes.
|
| 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.cha | |
| 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.callgraph.propagation.rta |
This package provides CFA-style call graph
construction and pointer analysis.
|
| com.ibm.wala.ipa.callgraph.pruned | |
| com.ibm.wala.ipa.cfg |
This package supports interprocedural control-flow graphs, and control-flow
graphs specialized for context.
|
| com.ibm.wala.ipa.summaries |
This package provides class hierarchy analysis.
|
| com.ibm.wala.ssa |
This package provides the WALA SSA IR.
|
| com.ibm.wala.util.ssa |
A set of classes facilitating the construction of synthetic methods.
|
| Modifier and Type | Method and Description |
|---|---|
Iterator<CallSiteReference> |
ReflectiveInvocationInterpreter.iterateCallSites(CGNode node) |
Iterator<CallSiteReference> |
JavaLangClassContextInterpreter.iterateCallSites(CGNode node) |
Iterator<CallSiteReference> |
GetMethodContextInterpreter.iterateCallSites(CGNode node) |
Iterator<CallSiteReference> |
GetClassContextInterpeter.iterateCallSites(CGNode node) |
Iterator<CallSiteReference> |
FactoryBypassInterpreter.iterateCallSites(CGNode node) |
Iterator<CallSiteReference> |
CloneInterpreter.iterateCallSites(CGNode node) |
Iterator<CallSiteReference> |
ClassNewInstanceContextInterpreter.iterateCallSites(CGNode node) |
Iterator<CallSiteReference> |
ClassFactoryContextInterpreter.iterateCallSites(CGNode node) |
| Modifier and Type | Method and Description |
|---|---|
Context |
GetMethodContextSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IMethod callee,
InstanceKey[] receiver)
If
the
CallSiteReference invokes either Class.getMethod(java.lang.String, java.lang.Class<?>...) or Class.getDeclaredMethod(java.lang.String, java.lang.Class<?>...),
and the receiver is a type constant and
the first argument is a constant,
then return a GetMethodContextSelector. |
Context |
GetClassContextSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IMethod callee,
InstanceKey[] receiver) |
com.ibm.wala.util.intset.IntSet |
GetMethodContextSelector.getRelevantParameters(CGNode caller,
CallSiteReference site) |
com.ibm.wala.util.intset.IntSet |
GetClassContextSelector.getRelevantParameters(CGNode caller,
CallSiteReference site) |
| Modifier and Type | Method and Description |
|---|---|
Iterator<CallSiteReference> |
MethodHandles.ContextInterpreterImpl.iterateCallSites(CGNode node) |
| Modifier and Type | Method and Description |
|---|---|
Context |
MethodHandles.ContextSelectorImpl.getCalleeTarget(CGNode caller,
CallSiteReference site,
IMethod callee,
InstanceKey[] actualParameters) |
com.ibm.wala.util.intset.IntSet |
MethodHandles.ContextSelectorImpl.getRelevantParameters(CGNode caller,
CallSiteReference site) |
| Modifier and Type | Method and Description |
|---|---|
static CallSiteReference |
CallSiteReference.make(int programCounter,
MethodReference declaredTarget,
com.ibm.wala.shrikeBT.IInvokeInstruction.IDispatch invocationCode)
This factory method plays a little game to avoid storing the invocation code in the object; this saves a byte (probably
actually a whole word) in each created object.
|
| Modifier and Type | Method and Description |
|---|---|
Collection<CallSiteReference> |
ShrikeBTMethod.getCallSites() |
Collection<CallSiteReference> |
IBytecodeMethod.getCallSites() |
static Collection<CallSiteReference> |
CodeScanner.getCallSites(IMethod m) |
| Modifier and Type | Method and Description |
|---|---|
SSAInvokeInstruction |
JavaLanguage.JavaInstructionFactory.InvokeInstruction(int iindex,
int[] params,
int exception,
CallSiteReference site,
com.ibm.wala.shrikeCT.BootstrapMethodsReader.BootstrapMethod bootstrap) |
SSAInvokeInstruction |
JavaLanguage.JavaInstructionFactory.InvokeInstruction(int iindex,
int result,
int[] params,
int exception,
CallSiteReference site,
com.ibm.wala.shrikeCT.BootstrapMethodsReader.BootstrapMethod bootstrap) |
| Modifier and Type | Method and Description |
|---|---|
CallSiteReference |
PointerKeyAndCallSite.getCallSiteRef() |
| Modifier and Type | Method and Description |
|---|---|
Set<CGNode> |
IFlowGraph.getPossibleTargets(CGNode caller,
CallSiteReference site,
LocalPointerKey actualPk)
get the callees that should be considered at a particular call site
|
Set<CGNode> |
AbstractDemandFlowGraph.getPossibleTargets(CGNode node,
CallSiteReference site,
LocalPointerKey actualPk) |
| Constructor and Description |
|---|
PointerKeyAndCallSite(PointerKey key,
CallSiteReference callSiteRef) |
| Modifier and Type | Method and Description |
|---|---|
CallSiteReference |
Entrypoint.makeSite(int programCounter)
Create a call site reference representing a call to this entrypoint
|
| Modifier and Type | Method and Description |
|---|---|
Iterator<CallSiteReference> |
CallGraph.getPossibleSites(CGNode src,
CGNode target) |
Iterator<CallSiteReference> |
CGNode.iterateCallSites() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
CGNode.addTarget(CallSiteReference site,
CGNode target)
Deprecated.
|
IMethod |
MethodTargetSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IClass receiver)
Given a calling node, a call site and (optionally) a dispatch type, return the target method to be called.
|
Context |
ContextSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IMethod callee,
InstanceKey[] actualParameters)
Given a calling node and a call site, returns the Context in which the callee should be evaluated.
|
int |
CallGraph.getNumberOfTargets(CGNode node,
CallSiteReference site) |
Set<CGNode> |
CallGraph.getPossibleTargets(CGNode node,
CallSiteReference site)
Return the set of CGNodes that represent possible targets of a particular call site from a particular node
|
com.ibm.wala.util.intset.IntSet |
ContextSelector.getRelevantParameters(CGNode caller,
CallSiteReference site)
Given a calling node and a call site, return the set of parameters based
on which this selector may choose to specialize contexts.
|
| Modifier and Type | Method and Description |
|---|---|
Iterator<CallSiteReference> |
CHACallGraph.getPossibleSites(CGNode src,
CGNode target) |
Iterator<CallSiteReference> |
ContextInsensitiveCHAContextInterpreter.iterateCallSites(CGNode node) |
Iterator<CallSiteReference> |
CHAContextInterpreter.iterateCallSites(CGNode node) |
| Modifier and Type | Method and Description |
|---|---|
int |
CHACallGraph.getNumberOfTargets(CGNode node,
CallSiteReference site) |
Set<CGNode> |
CHACallGraph.getPossibleTargets(CGNode node,
CallSiteReference site) |
| Modifier and Type | Method and Description |
|---|---|
protected Iterator<CallSiteReference> |
ExplicitCallGraph.ExplicitNode.getPossibleSites(CGNode to) |
Iterator<CallSiteReference> |
PartialCallGraph.getPossibleSites(CGNode src,
CGNode target) |
Iterator<CallSiteReference> |
ExplicitCallGraph.getPossibleSites(CGNode src,
CGNode target) |
Iterator<CallSiteReference> |
ExplicitCallGraph.ExplicitNode.iterateCallSites() |
| Modifier and Type | Method and Description |
|---|---|
SSAInvokeInstruction |
AbstractRootMethod.addInvocation(int[] params,
CallSiteReference site) |
boolean |
ExplicitCallGraph.ExplicitNode.addTarget(CallSiteReference site,
CGNode tNode) |
abstract boolean |
BasicCallGraph.NodeImpl.addTarget(CallSiteReference reference,
CGNode target) |
IMethod |
ClassHierarchyMethodTargetSelector.getCalleeTarget(CGNode caller,
CallSiteReference call,
IClass receiver)
This target selector searches the class hierarchy for the method matching the signature of the call that is appropriate for the
receiver type.
|
Context |
UnionContextSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IMethod callee,
InstanceKey[] receiver)
If only one Context exists return it, else return a DelegatingContext.
|
Context |
DelegatingContextSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IMethod callee,
InstanceKey[] receiver) |
Context |
DefaultContextSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IMethod callee,
InstanceKey[] receiver) |
Context |
ContextInsensitiveSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IMethod callee,
InstanceKey[] receiver) |
protected int |
ExplicitCallGraph.ExplicitNode.getNumberOfTargets(CallSiteReference site) |
int |
PartialCallGraph.getNumberOfTargets(CGNode node,
CallSiteReference site) |
int |
ExplicitCallGraph.getNumberOfTargets(CGNode node,
CallSiteReference site) |
protected com.ibm.wala.util.intset.IntSet |
ExplicitCallGraph.ExplicitNode.getPossibleTargetNumbers(CallSiteReference site) |
com.ibm.wala.util.intset.IntSet |
ExplicitCallGraph.getPossibleTargetNumbers(CGNode node,
CallSiteReference site) |
protected Set<CGNode> |
ExplicitCallGraph.ExplicitNode.getPossibleTargets(CallSiteReference site) |
Set<CGNode> |
PartialCallGraph.getPossibleTargets(CGNode node,
CallSiteReference site) |
Set<CGNode> |
ExplicitCallGraph.getPossibleTargets(CGNode node,
CallSiteReference site) |
com.ibm.wala.util.intset.IntSet |
UnionContextSelector.getRelevantParameters(CGNode caller,
CallSiteReference site) |
com.ibm.wala.util.intset.IntSet |
DelegatingContextSelector.getRelevantParameters(CGNode caller,
CallSiteReference site) |
com.ibm.wala.util.intset.IntSet |
DefaultContextSelector.getRelevantParameters(CGNode caller,
CallSiteReference site) |
com.ibm.wala.util.intset.IntSet |
ContextInsensitiveSelector.getRelevantParameters(CGNode caller,
CallSiteReference site) |
boolean |
ClassHierarchyMethodTargetSelector.mightReturnSyntheticMethod(CGNode caller,
CallSiteReference site) |
| Modifier and Type | Field and Description |
|---|---|
protected Set<CallSiteReference> |
PropagationCallGraphBuilder.entrypointCallSites
Set of calls (CallSiteReferences) that are created by entrypoints
|
| Modifier and Type | Method and Description |
|---|---|
Context |
TargetMethodContextSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IMethod callee,
InstanceKey[] R) |
Context |
ReceiverTypeContextSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IMethod callee,
InstanceKey[] receiver) |
Context |
CloneContextSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IMethod callee,
InstanceKey[] receiver) |
com.ibm.wala.util.intset.IntSet |
TargetMethodContextSelector.getRelevantParameters(CGNode caller,
CallSiteReference site) |
com.ibm.wala.util.intset.IntSet |
ReceiverTypeContextSelector.getRelevantParameters(CGNode caller,
CallSiteReference site) |
com.ibm.wala.util.intset.IntSet |
CloneContextSelector.getRelevantParameters(CGNode caller,
CallSiteReference site) |
CGNode |
SSAPropagationCallGraphBuilder.ConstraintVisitor.getTargetForCall(CGNode caller,
CallSiteReference site,
IClass recv,
InstanceKey[] iKey) |
protected CGNode |
PropagationCallGraphBuilder.getTargetForCall(CGNode caller,
CallSiteReference site,
IClass recv,
InstanceKey[] iKey) |
| Modifier and Type | Method and Description |
|---|---|
CallSiteReference |
CallerSiteContext.getCallSite() |
CallSiteReference[] |
CallString.getCallSiteRefs() |
| Modifier and Type | Method and Description |
|---|---|
Iterator<CallSiteReference> |
FallbackContextInterpreter.iterateCallSites(CGNode node) |
Iterator<CallSiteReference> |
DefaultSSAInterpreter.iterateCallSites(CGNode node) |
| Modifier and Type | Method and Description |
|---|---|
Context |
OneLevelSiteContextSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IMethod callee,
InstanceKey[] receiver) |
Context |
ContainerContextSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IMethod callee,
InstanceKey[] keys) |
Context |
CallStringContextSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IMethod callee,
InstanceKey[] receiver) |
protected int |
nCFAContextSelector.getLength(CGNode caller,
CallSiteReference site,
IMethod target) |
protected abstract int |
CallStringContextSelector.getLength(CGNode caller,
CallSiteReference site,
IMethod target) |
com.ibm.wala.util.intset.IntSet |
OneLevelSiteContextSelector.getRelevantParameters(CGNode caller,
CallSiteReference site) |
com.ibm.wala.util.intset.IntSet |
ContainerContextSelector.getRelevantParameters(CGNode caller,
CallSiteReference site) |
com.ibm.wala.util.intset.IntSet |
CallStringContextSelector.getRelevantParameters(CGNode caller,
CallSiteReference site) |
boolean |
ContainerContextSelector.mayUnderstand(CGNode caller,
CallSiteReference site,
IMethod targetMethod,
InstanceKey receiver) |
| Constructor and Description |
|---|
CallerSiteContext(CGNode caller,
CallSiteReference callSite) |
CallerSiteContextPair(CGNode caller,
CallSiteReference callSite,
Context baseContext) |
CallString(CallSiteReference site,
IMethod method) |
| Modifier and Type | Method and Description |
|---|---|
CallSiteReference |
CallSite.getSite() |
| Modifier and Type | Method and Description |
|---|---|
Iterator<CallSiteReference> |
DelegatingRTAContextInterpreter.iterateCallSites(CGNode node) |
Iterator<CallSiteReference> |
DefaultRTAInterpreter.iterateCallSites(CGNode node) |
| Modifier and Type | Method and Description |
|---|---|
void |
DelegatingExplicitCallGraph.DelegatingCGNode.delegate(CallSiteReference site,
CGNode delegateNode,
CallSiteReference delegateSite) |
protected PointerKey |
BasicRTABuilder.getKeyForSite(CallSiteReference site) |
protected abstract PointerKey |
AbstractRTABuilder.getKeyForSite(CallSiteReference site) |
int |
DelegatingExplicitCallGraph.DelegatingCGNode.getNumberOfTargets(CallSiteReference site) |
com.ibm.wala.util.intset.IntSet |
DelegatingExplicitCallGraph.DelegatingCGNode.getPossibleTargetNumbers(CallSiteReference site) |
Set<CGNode> |
DelegatingExplicitCallGraph.DelegatingCGNode.getPossibleTargets(CallSiteReference site) |
protected com.ibm.wala.fixpoint.UnaryOperator<PointsToSetVariable> |
BasicRTABuilder.makeDispatchOperator(CallSiteReference site,
CGNode node) |
protected abstract com.ibm.wala.fixpoint.UnaryOperator<PointsToSetVariable> |
AbstractRTABuilder.makeDispatchOperator(CallSiteReference site,
CGNode node) |
void |
AbstractRTABuilder.visitInvoke(CGNode node,
CallSiteReference site)
Add a constraint for a call instruction
|
| Constructor and Description |
|---|
CallSite(CallSiteReference site,
CGNode node) |
| Modifier and Type | Method and Description |
|---|---|
Iterator<CallSiteReference> |
PrunedCallGraph.getPossibleSites(CGNode src,
CGNode target) |
| Modifier and Type | Method and Description |
|---|---|
int |
PrunedCallGraph.getNumberOfTargets(CGNode node,
CallSiteReference site) |
Set<CGNode> |
PrunedCallGraph.getPossibleTargets(CGNode node,
CallSiteReference site) |
| Modifier and Type | Method and Description |
|---|---|
protected CallSiteReference |
AbstractInterproceduralCFG.getCallSiteForCallBlock(IBasicBlock<SSAInstruction> B,
ControlFlowGraph<SSAInstruction,T> cfg)
get the
CallSiteReference corresponding to the last instruction in B (assumed to be a call) |
| Modifier and Type | Method and Description |
|---|---|
IMethod |
LambdaMethodTargetSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IClass receiver) |
IMethod |
BypassMethodTargetSelector.getCalleeTarget(CGNode caller,
CallSiteReference site,
IClass dispatchType)
Check to see if a particular call site should be bypassed, before checking normal resolution of the receiver.
|
| Modifier and Type | Field and Description |
|---|---|
protected CallSiteReference |
SSAAbstractInvokeInstruction.site
The call site, containing the program counter location and the method being called.
|
| Modifier and Type | Method and Description |
|---|---|
CallSiteReference |
SSAAbstractInvokeInstruction.getCallSite() |
| Modifier and Type | Method and Description |
|---|---|
Iterator<CallSiteReference> |
IR.iterateCallSites() |
| Modifier and Type | Method and Description |
|---|---|
static void |
SSAInvokeInstruction.assertParamsKosher(int result,
int[] params,
CallSiteReference site) |
ISSABasicBlock[] |
IR.getBasicBlocksForCall(CallSiteReference site) |
com.ibm.wala.util.intset.IntSet |
IR.getCallInstructionIndices(CallSiteReference site)
Return the instruction indices corresponding to a call site.
|
SSAAbstractInvokeInstruction[] |
IR.getCalls(CallSiteReference site)
Return the invoke instructions corresponding to a call site
Note that Shrike may inline JSRS.
|
SSAInvokeInstruction |
SSAInstructionFactory.InvokeInstruction(int iindex,
int[] params,
int exception,
CallSiteReference site,
com.ibm.wala.shrikeCT.BootstrapMethodsReader.BootstrapMethod bootstrap) |
SSAInvokeInstruction |
SSAInstructionFactory.InvokeInstruction(int iindex,
int result,
int[] params,
int exception,
CallSiteReference site,
com.ibm.wala.shrikeCT.BootstrapMethodsReader.BootstrapMethod bootstrap) |
| Constructor and Description |
|---|
SSAAbstractInvokeInstruction(int iindex,
int exception,
CallSiteReference site) |
SSAInvokeDynamicInstruction(int iindex,
int[] params,
int exception,
CallSiteReference site,
com.ibm.wala.shrikeCT.BootstrapMethodsReader.BootstrapMethod bootstrap) |
SSAInvokeDynamicInstruction(int iindex,
int result,
int[] params,
int exception,
CallSiteReference site,
com.ibm.wala.shrikeCT.BootstrapMethodsReader.BootstrapMethod bootstrap) |
SSAInvokeInstruction(int iindex,
int[] params,
int exception,
CallSiteReference site)
Constructor InvokeInstruction.
|
SSAInvokeInstruction(int iindex,
int result,
int[] params,
int exception,
CallSiteReference site) |
| Modifier and Type | Method and Description |
|---|---|
SSAInvokeInstruction |
TypeSafeInstructionFactory.InvokeInstruction(int iindex,
List<? extends SSAValue> params,
SSAValue exception,
CallSiteReference site)
Instruction that calls a void-method.
|
SSAInvokeInstruction |
TypeSafeInstructionFactory.InvokeInstruction(int iindex,
SSAValue result,
List<? extends SSAValue> params,
SSAValue exception,
CallSiteReference site)
result = site(params).
|
Copyright © 2015. All rights reserved.