| 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.escape | |
| com.ibm.wala.ipa.callgraph |
This package provides basic interfaces and functions for call graph
construction.
|
| 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.cfa |
This package provides RTA call graph
construction.
|
| com.ibm.wala.ipa.callgraph.pruned | |
| com.ibm.wala.ipa.cha |
This package provides functionality related to class hierarchies.
|
| 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.types |
This package provides abstractions for the Java type system.
|
| com.ibm.wala.util.ssa |
A set of classes facilitating the construction of synthetic methods.
|
| com.ibm.wala.util.strings |
| Modifier and Type | Field and Description |
|---|---|
static MethodReference |
ClassNewInstanceContextInterpreter.CLASS_NEW_INSTANCE_REF |
static MethodReference |
CloneInterpreter.CLONE
Comment for
CLONE |
static MethodReference |
ReflectiveInvocationInterpreter.CTOR_NEW_INSTANCE |
static MethodReference |
GetClassContextSelector.GET_CLASS |
static MethodReference |
JavaLangClassContextInterpreter.GET_CONSTRUCTOR |
static MethodReference |
JavaLangClassContextInterpreter.GET_CONSTRUCTORS |
static MethodReference |
JavaLangClassContextInterpreter.GET_DECLARED_CONSTRUCTOR |
static MethodReference |
JavaLangClassContextInterpreter.GET_DECLARED_CONSTRUCTORS |
static MethodReference |
JavaLangClassContextInterpreter.GET_DECLARED_METHOD |
static MethodReference |
GetMethodContextInterpreter.GET_DECLARED_METHOD
TODO
MH: Maybe hard-code those in
MethodReference? |
static MethodReference |
JavaLangClassContextInterpreter.GET_DECLARED_METHODS |
static MethodReference |
JavaLangClassContextInterpreter.GET_METHOD |
static MethodReference |
GetMethodContextInterpreter.GET_METHOD
TODO
MH: Maybe hard-code those in
MethodReference? |
static MethodReference |
JavaLangClassContextInterpreter.GET_METHODS |
static MethodReference |
ReflectiveInvocationInterpreter.METHOD_INVOKE |
| Constructor and Description |
|---|
AbstractReflectionInterpreter.SpecializedMethod(MethodReference method,
IClass declaringClass,
boolean isStatic,
boolean isFactory) |
| Modifier and Type | Method and Description |
|---|---|
MethodReference |
MethodHandles.MethodItem.getMethod() |
| Constructor and Description |
|---|
MethodHandles.MethodContext(Context base,
MethodReference method) |
MethodHandles.MethodItem(MethodReference method) |
| Modifier and Type | Method and Description |
|---|---|
MethodReference |
CallSiteReference.getDeclaredTarget()
Return the Method that this call site calls.
|
MethodReference |
SyntheticMethod.getReference() |
MethodReference |
ShrikeBTMethod.getReference() |
MethodReference |
IMethod.getReference() |
| Modifier and Type | Method and Description |
|---|---|
Collection<TypeReference> |
Language.inferInvokeExceptions(MethodReference target,
IClassHierarchy cha)
determine the set of possible exception types a call to target may throw
|
Collection<TypeReference> |
JavaLanguage.inferInvokeExceptions(MethodReference target,
IClassHierarchy cha) |
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.
|
| Constructor and Description |
|---|
CallSiteReference(int programCounter,
MethodReference declaredTarget) |
SyntheticMethod(MethodReference method,
IClass declaringClass,
boolean isStatic,
boolean isFactory) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
TrivialMethodEscape.mayEscape(MethodReference allocMethod,
int allocPC,
MethodReference m) |
boolean |
IMethodEscapeAnalysis.mayEscape(MethodReference allocMethod,
int allocPC,
MethodReference m) |
| Modifier and Type | Method and Description |
|---|---|
MethodReference |
AnalysisScope.findMethod(Atom loader,
String klass,
Atom name,
ImmutableByteArray desc)
Utility function.
|
| Modifier and Type | Method and Description |
|---|---|
static Set<MethodReference> |
CallGraphStats.collectMethods(CallGraph cg)
Walk the call graph and return the set of MethodReferences that appear in the graph.
|
| Modifier and Type | Method and Description |
|---|---|
Set<CGNode> |
CallGraph.getNodes(MethodReference m) |
| Constructor and Description |
|---|
Entrypoint(MethodReference method,
IClassHierarchy cha) |
| Modifier and Type | Field and Description |
|---|---|
static MethodReference |
FakeRootMethod.rootMethod |
| Modifier and Type | Field and Description |
|---|---|
protected Map<MethodReference,Set<CGNode>> |
BasicCallGraph.mr2Nodes
A mapping from MethodReference to Set of nodes that represent this methodReference.
|
| Modifier and Type | Method and Description |
|---|---|
static MethodReference |
FakeRootMethod.getRootMethod() |
| Modifier and Type | Method and Description |
|---|---|
Set<CGNode> |
PartialCallGraph.getNodes(MethodReference m) |
Set<CGNode> |
BasicCallGraph.getNodes(MethodReference m) |
boolean |
ClassHierarchyMethodTargetSelector.mightReturnSyntheticMethod(MethodReference declaredTarget) |
| Constructor and Description |
|---|
AbstractRootMethod(MethodReference method,
IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache) |
AbstractRootMethod(MethodReference method,
IClass declaringClass,
IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache) |
DefaultEntrypoint(MethodReference method,
IClassHierarchy cha) |
SubtypesEntrypoint(MethodReference method,
IClassHierarchy cha) |
| Modifier and Type | Field and Description |
|---|---|
static MethodReference |
ContainerContextSelector.synthArraycopy |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
ContainerContextSelector.isArrayCopyingMethod(MethodReference m)
Does m represent a library method that copies arrays?
|
static boolean |
ContainerContextSelector.isWellKnownStaticFactory(MethodReference m)
Does m represent a static factory method we know about from the standard libraries, that we usually wish to model with one
level of call-string context?
|
| Modifier and Type | Method and Description |
|---|---|
Set<CGNode> |
PrunedCallGraph.getNodes(MethodReference m) |
| Modifier and Type | Method and Description |
|---|---|
Set<IMethod> |
IClassHierarchy.getPossibleTargets(IClass receiverClass,
MethodReference ref)
Find the possible targets of a call to a method reference where the receiver is of a certain type
|
Set<IMethod> |
ClassHierarchy.getPossibleTargets(IClass declaredClass,
MethodReference ref)
Find the possible receivers of a call to a method reference
|
Set<IMethod> |
IClassHierarchy.getPossibleTargets(MethodReference ref)
Find the possible targets of a call to a method reference
|
Set<IMethod> |
ClassHierarchy.getPossibleTargets(MethodReference ref)
Find the possible targets of a call to a method reference.
|
IMethod |
IClassHierarchy.resolveMethod(MethodReference m)
Return the unique receiver of an invocation of method on an object of type m.getDeclaredClass
|
IMethod |
ClassHierarchy.resolveMethod(MethodReference m)
Return the unique receiver of an invocation of method on an object of type m.getDeclaredClass
|
| Modifier and Type | Method and Description |
|---|---|
protected MethodReference |
MethodBypass.resolveTarget(MethodReference target) |
| Modifier and Type | Method and Description |
|---|---|
Map<MethodReference,MethodSummary> |
XMLMethodSummaryReader.getSummaries() |
| Modifier and Type | Method and Description |
|---|---|
protected SyntheticMethod |
BypassMethodTargetSelector.findOrCreateSyntheticMethod(MethodReference m,
boolean isStatic) |
MethodSummary |
BypassMethodTargetSelector.generateNoOp(MethodReference m,
boolean isStatic)
Generate a
MethodSummary which is the "standard" representation of a method
that does nothing. |
static MethodSummary |
BypassMethodTargetSelector.generateStandardNoOp(Language l,
MethodReference m,
boolean isStatic)
Generate a
MethodSummary which is the "standard" representation of a method
that does nothing. |
protected MethodReference |
MethodBypass.resolveTarget(MethodReference target) |
| Constructor and Description |
|---|
MethodSummary(MethodReference method) |
SummarizedMethod(MethodReference ref,
MethodSummary summary,
IClass declaringClass) |
SummarizedMethodWithNames(MethodReference ref,
MethodSummary summary,
IClass declaringClass,
Map<Integer,Atom> localNames) |
SummarizedMethodWithNames(MethodReference ref,
VolatileMethodSummary summary,
IClass declaringClass) |
| Constructor and Description |
|---|
BypassMethodTargetSelector(MethodTargetSelector parent,
Map<MethodReference,MethodSummary> methodSummaries,
Set<Atom> ignoredPackages,
IClassHierarchy cha) |
| Modifier and Type | Method and Description |
|---|---|
MethodReference |
SSAAbstractInvokeInstruction.getDeclaredTarget()
What method is the declared callee?
|
| Modifier and Type | Field and Description |
|---|---|
static MethodReference |
MethodReference.JavaLangClassForName |
static MethodReference |
MethodReference.JavaLangClassNewInstance |
static MethodReference |
MethodReference.lambdaMetafactory |
| Modifier and Type | Method and Description |
|---|---|
static MethodReference |
MethodReference.findOrCreate(ClassLoaderReference loader,
String methodClass,
String methodName,
String methodSignature) |
static MethodReference |
MethodReference.findOrCreate(Language l,
ClassLoaderReference loader,
String methodClass,
String methodName,
String methodSignature) |
static MethodReference |
MethodReference.findOrCreate(Language l,
TypeReference t,
String methodName,
String descriptor) |
static MethodReference |
MethodReference.findOrCreate(TypeReference tref,
Atom mn,
Descriptor md)
Find or create the canonical MethodReference instance for the given tuple.
|
static MethodReference |
MethodReference.findOrCreate(TypeReference tref,
Selector selector)
Find or create the canonical MethodReference instance for the given tuple.
|
static MethodReference |
MethodReference.findOrCreate(TypeReference t,
String methodName,
String descriptor) |
| Modifier and Type | Field and Description |
|---|---|
protected MethodReference |
SSAValue.mRef
Method the variable is valid in
|
| Modifier and Type | Method and Description |
|---|---|
MethodReference |
ParameterAccessor.forMethod()
The method this accessor reads the parameters from.
|
MethodReference |
SSAValue.getValidIn()
Return the MethodReference this Variable was set valid in.
|
| Modifier and Type | Method and Description |
|---|---|
int[] |
ParameterAccessor.forInvokeStatic(List<? extends ParameterAccessor.Parameter> args,
MethodReference target,
IClassHierarchy cha)
Shorthand for forInvokeStatic(final List extends Parameter> args, final ParameterAccessor target, final IClassHierarchy cha).
|
int[] |
ParameterAccessor.forInvokeVirtual(int self,
List<? extends ParameterAccessor.Parameter> args,
MethodReference target,
IClassHierarchy cha)
Shorthand for forInvokeVirtual(final int self, final List extends Parameter> args, final ParameterAccessor target, final IClassHierarchy cha).
|
| Constructor and Description |
|---|
ParameterAccessor.Parameter(int number,
String name,
TypeReference type,
ParameterAccessor.ParamerterDisposition disp,
ParameterAccessor.BasedOn basedOn,
MethodReference mRef,
int descriptorOffset)
Create Parameters using ParameterAccessor.
|
ParameterAccessor(MethodReference mRef,
boolean hasImplicitThis)
Reads the parameters of a MethodReference CAUTION:.
|
ParameterAccessor(MethodReference mRef,
IClassHierarchy cha)
Reads the parameters of a MethodReference CAUTION:.
|
SSAValue(int number,
TypeReference type,
MethodReference validIn)
Generates a SSAValue with a UniqueKey.
|
SSAValue(int number,
TypeReference type,
MethodReference validIn,
SSAValue.VariableKey key)
Makes a SSAValue with number and type valid in the specified Method.
|
SSAValue(int number,
TypeReference type,
MethodReference validIn,
String variableName)
Generates a SSAValue with a NamedKey (or TypeKey if name==null).
|
| Modifier and Type | Method and Description |
|---|---|
static MethodReference |
StringStuff.makeMethodReference(Language l,
String methodSig) |
static MethodReference |
StringStuff.makeMethodReference(String methodSig) |
Copyright © 2015. All rights reserved.