| Package | Description |
|---|---|
| com.ibm.wala.analysis.reflection |
This package provides functions to deal with reflection.
|
| com.ibm.wala.analysis.typeInference |
This package provides intraprocedural type inference over the SSA form.
|
| com.ibm.wala.cfg |
This package provides control-flow graph utilities.
|
| com.ibm.wala.classLoader |
This package provides functionality related to class loading and
management of loaded classes.
|
| com.ibm.wala.client |
This package provides interfaces for some base utilities for use by WALA clients.
|
| com.ibm.wala.dataflow.IFDS |
This package provides an RHS solver for IFDS problems.
|
| com.ibm.wala.demandpa.alg | |
| com.ibm.wala.demandpa.alg.refinepolicy | |
| 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.cha |
This package provides functionality related to class hierarchies.
|
| com.ibm.wala.ipa.modref | |
| com.ibm.wala.ipa.slicer | |
| com.ibm.wala.ipa.slicer.thin | |
| com.ibm.wala.ipa.summaries |
This package provides class hierarchy analysis.
|
| com.ibm.wala.types.generics | |
| com.ibm.wala.util.ref | |
| com.ibm.wala.util.scope | |
| com.ibm.wala.util.ssa |
A set of classes facilitating the construction of synthetic methods.
|
| com.ibm.wala.viz | |
| com.ibm.wala.viz.viewer |
| Modifier and Type | Method and Description |
|---|---|
static SSAContextInterpreter |
ReflectionContextInterpreter.createReflectionContextInterpreter(IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache) |
protected static ConstantKey<String> |
GetMethodContextSelector.makeConstantKey(IClassHierarchy cha,
String str)
Create a constant key for a string.
|
boolean |
FactoryBypassInterpreter.recordType(IClassHierarchy cha,
Context context,
TypeReference type) |
protected TypeAbstraction |
AbstractReflectionInterpreter.typeRef2TypeAbstraction(IClassHierarchy cha,
TypeReference type) |
| Constructor and Description |
|---|
ClassNewInstanceContextInterpreter(IClassHierarchy cha)
END Custom change: caching
|
| Modifier and Type | Field and Description |
|---|---|
protected IClassHierarchy |
TypeInference.cha
The governing class hierarchy
|
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
ConeType.getClassHierarchy() |
| 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 | Field and Description |
|---|---|
protected IClassHierarchy |
ClassLoaderImpl.cha
Governing class hierarchy
|
protected IClassHierarchy |
BytecodeClass.cha
Governing class hierarchy for this class
|
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
SyntheticMethod.getClassHierarchy() |
IClassHierarchy |
SyntheticClass.getClassHierarchy() |
IClassHierarchy |
ShrikeCTMethod.getClassHierarchy() |
IClassHierarchy |
FieldImpl.getClassHierarchy() |
IClassHierarchy |
BytecodeClass.getClassHierarchy() |
IClassHierarchy |
ArrayClass.getClassHierarchy() |
| Modifier and Type | Method and Description |
|---|---|
IClassLoader |
ClassLoaderFactoryImpl.getLoader(ClassLoaderReference classLoaderReference,
IClassHierarchy cha,
AnalysisScope scope)
Return a class loader corresponding to a given class loader identifier.
|
IClassLoader |
ClassLoaderFactory.getLoader(ClassLoaderReference classLoaderReference,
IClassHierarchy cha,
AnalysisScope scope)
Return a class loader corresponding to a given
class loader identifier.
|
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) |
IClass |
ArrayClassLoader.lookupClass(TypeName className,
IClassLoader delegator,
IClassHierarchy cha) |
protected IClassLoader |
ClassLoaderFactoryImpl.makeNewClassLoader(ClassLoaderReference classLoaderReference,
IClassHierarchy cha,
IClassLoader parent,
AnalysisScope scope)
Create a new class loader for a given key
|
| Constructor and Description |
|---|
BytecodeClass(T loader,
IClassHierarchy cha) |
ClassLoaderImpl(ClassLoaderReference loader,
ArrayClassLoader arrayClassLoader,
IClassLoader parent,
com.ibm.wala.util.config.SetOfClasses exclusions,
IClassHierarchy cha) |
JVMClass(T loader,
IClassHierarchy cha) |
ShrikeClass(ShrikeClassReaderHandle reader,
IClassLoader loader,
IClassHierarchy cha) |
SyntheticClass(TypeReference T,
IClassHierarchy cha) |
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
AbstractAnalysisEngine.buildClassHierarchy() |
IClassHierarchy |
AbstractAnalysisEngine.getClassHierarchy() |
| Modifier and Type | Method and Description |
|---|---|
protected CallGraphBuilder |
AbstractAnalysisEngine.buildCallGraph(IClassHierarchy cha,
AnalysisOptions options,
boolean savePointerAnalysis,
com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor) |
Iterable<Entrypoint> |
AbstractAnalysisEngine.EntrypointBuilder.createEntrypoints(AnalysisScope scope,
IClassHierarchy cha) |
protected abstract CallGraphBuilder |
AbstractAnalysisEngine.getCallGraphBuilder(IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache) |
protected Iterable<Entrypoint> |
AbstractAnalysisEngine.makeDefaultEntrypoints(AnalysisScope scope,
IClassHierarchy cha) |
protected void |
AbstractAnalysisEngine.setClassHierarchy(IClassHierarchy cha) |
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
ICFGSupergraph.getClassHierarchy() |
| Modifier and Type | Field and Description |
|---|---|
protected IClassHierarchy |
AbstractDemandPointsTo.cha |
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
IDemandPointerAnalysis.getClassHierarchy() |
IClassHierarchy |
AbstractDemandPointsTo.getClassHierarchy() |
| Modifier and Type | Method and Description |
|---|---|
static DemandRefinementPointsTo |
DemandRefinementPointsTo.makeWithDefaultFlowGraph(CallGraph cg,
HeapModel model,
MemoryAccessMap mam,
IClassHierarchy cha,
AnalysisOptions options,
StateMachineFactory<IFlowLabel> stateMachineFactory)
create a demand points-to analysis runner
|
| Constructor and Description |
|---|
AbstractDemandPointsTo(CallGraph cg,
HeapModel model,
MemoryAccessMap mam,
IClassHierarchy cha,
AnalysisOptions options) |
SimpleDemandPointsTo(CallGraph cg,
HeapModel model,
MemoryAccessMap fam,
IClassHierarchy cha,
AnalysisOptions options) |
| Constructor and Description |
|---|
ContainersFieldPolicy(IClassHierarchy cha) |
ManualFieldPolicy(IClassHierarchy cha,
Pattern refinePattern) |
ManualRefinementPolicy.Factory(IClassHierarchy cha) |
TunedFieldRefinementPolicy(IClassHierarchy cha) |
TunedRefinementPolicy.Factory(IClassHierarchy cha) |
TunedRefinementPolicy(IClassHierarchy cha) |
| Modifier and Type | Field and Description |
|---|---|
protected IClassHierarchy |
AbstractFlowGraph.cha |
| Constructor and Description |
|---|
AbstractDemandFlowGraph(CallGraph cg,
HeapModel heapModel,
MemoryAccessMap mam,
IClassHierarchy cha) |
AbstractFlowGraph(MemoryAccessMap mam,
HeapModel heapModel,
IClassHierarchy cha,
CallGraph cg) |
DemandPointerFlowGraph.StatementVisitor(HeapModel heapModel,
IFlowGraph g,
IClassHierarchy cha,
CallGraph cg,
CGNode node) |
DemandPointerFlowGraph(CallGraph cg,
HeapModel heapModel,
MemoryAccessMap mam,
IClassHierarchy cha) |
SimpleDemandPointerFlowGraph(CallGraph cg,
HeapModel heapModel,
MemoryAccessMap fam,
IClassHierarchy cha) |
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
CallGraph.getClassHierarchy() |
| Constructor and Description |
|---|
Entrypoint(MethodReference method,
IClassHierarchy cha) |
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
CHACallGraph.getClassHierarchy() |
| Constructor and Description |
|---|
CHACallGraph(IClassHierarchy cha) |
| Modifier and Type | Field and Description |
|---|---|
protected IClassHierarchy |
ExplicitCallGraph.cha |
protected IClassHierarchy |
AbstractRootMethod.cha |
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
DefaultEntrypoint.getCha() |
IClassHierarchy |
PartialCallGraph.getClassHierarchy() |
IClassHierarchy |
ExplicitCallGraph.getClassHierarchy() |
IClassHierarchy |
BasicCallGraph.NodeImpl.getClassHierarchy() |
| Modifier and Type | Field and Description |
|---|---|
IClassHierarchy |
PropagationCallGraphBuilder.cha
Governing class hierarchy
|
| Modifier and Type | Method and Description |
|---|---|
protected IClassHierarchy |
SSAPropagationCallGraphBuilder.ConstraintVisitor.getClassHierarchy() |
IClassHierarchy |
PropagationCallGraphBuilder.getClassHierarchy() |
IClassHierarchy |
PointerAnalysisImpl.getClassHierarchy() |
IClassHierarchy |
PointerAnalysisImpl.HModel.getClassHierarchy() |
IClassHierarchy |
PointerAnalysis.getClassHierarchy() |
IClassHierarchy |
HeapModel.getClassHierarchy() |
IClassHierarchy |
ClassBasedInstanceKeys.getClassHierarchy() |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
PropagationCallGraphBuilder.catches(Set<IClass> catchClasses,
IClass klass,
IClassHierarchy cha) |
protected ExplicitCallGraph |
PropagationCallGraphBuilder.createEmptyCallGraph(IClassHierarchy cha,
AnalysisOptions options) |
static InstanceKey[] |
ConcreteTypeKey.getInstanceKeysForPEI(SSAInstruction pei,
IR ir,
IClassHierarchy cha) |
| Constructor and Description |
|---|
AllocationSiteInNodeFactory(AnalysisOptions options,
IClassHierarchy cha) |
ClassBasedInstanceKeys(AnalysisOptions options,
IClassHierarchy cha) |
CloneContextSelector(IClassHierarchy cha) |
InstanceFieldKeyWithFilter(IClassHierarchy cha,
InstanceKey instance,
IField field) |
PointerKeyComparator(IClassHierarchy cha) |
PropagationCallGraphBuilder(IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache,
PointerKeyFactory pointerKeyFactory) |
SmushedAllocationSiteInstanceKeys(AnalysisOptions options,
IClassHierarchy cha) |
SSAPropagationCallGraphBuilder(IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache,
PointerKeyFactory pointerKeyFactory) |
TargetMethodContextSelector(Selector selector,
IClassHierarchy cha) |
| Modifier and Type | Method and Description |
|---|---|
protected IClassHierarchy |
ZeroXInstanceKeys.getClassHierarchy() |
protected IClassHierarchy |
ContainerContextSelector.getClassHierarchy() |
| Modifier and Type | Method and Description |
|---|---|
static SSAPropagationCallGraphBuilder |
ZeroXCFABuilder.make(AnalysisOptions options,
AnalysisCache cache,
IClassHierarchy cha,
ClassLoader cl,
AnalysisScope scope,
String[] xmlFiles,
byte instancePolicy) |
static ZeroXCFABuilder |
ZeroXCFABuilder.make(IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache,
ContextSelector appContextSelector,
SSAContextInterpreter appContextInterpreter,
int instancePolicy) |
protected ContextSelector |
ZeroXContainerCFABuilder.makeContainerContextSelector(IClassHierarchy cha,
ZeroXInstanceKeys keys) |
protected ZeroXInstanceKeys |
ZeroXCFABuilder.makeInstanceKeys(IClassHierarchy cha,
AnalysisOptions options,
SSAContextInterpreter contextInterpreter,
int instancePolicy)
subclasses can override as desired
|
| Constructor and Description |
|---|
ContainerContextSelector(IClassHierarchy cha,
ZeroXInstanceKeys delegate) |
nCFABuilder(int n,
IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache,
ContextSelector appContextSelector,
SSAContextInterpreter appContextInterpreter) |
ZeroXCFABuilder(IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache,
ContextSelector appContextSelector,
SSAContextInterpreter appContextInterpreter,
int instancePolicy) |
ZeroXContainerCFABuilder(IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache,
ContextSelector appContextSelector,
SSAContextInterpreter appContextInterpreter,
int instancePolicy) |
ZeroXInstanceKeys(AnalysisOptions options,
IClassHierarchy cha,
RTAContextInterpreter contextInterpreter,
int policy) |
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
TypeBasedPointerAnalysis.getClassHierarchy() |
IClassHierarchy |
TypeBasedHeapModel.getClassHierarchy() |
| Modifier and Type | Method and Description |
|---|---|
protected ExplicitCallGraph |
AbstractRTABuilder.createEmptyCallGraph(IClassHierarchy cha,
AnalysisOptions options) |
| Constructor and Description |
|---|
AbstractRTABuilder(IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache,
ContextSelector appContextSelector,
SSAContextInterpreter appContextInterpreter) |
BasicRTABuilder(IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache,
ContextSelector contextSelector,
SSAContextInterpreter contextInterpreter) |
DelegatingExplicitCallGraph(IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache) |
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
PrunedCallGraph.getClassHierarchy() |
| Modifier and Type | Class and Description |
|---|---|
class |
ClassHierarchy
Simple implementation of a class hierarchy.
|
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
IClassHierarchyDweller.getClassHierarchy() |
| Modifier and Type | Method and Description |
|---|---|
static void |
ClassHierarchyStats.printStats(IClassHierarchy cha)
Dump stats about the class hierarchy to stdout.
|
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
DelegatingExtendedHeapModel.getClassHierarchy() |
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
SDG.getClassHierarchy() |
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
CISDG.getClassHierarchy() |
| Modifier and Type | Field and Description |
|---|---|
protected IClassHierarchy |
BypassMethodTargetSelector.cha
Governing class hierarchy.
|
| Modifier and Type | Method and Description |
|---|---|
protected IClassHierarchy |
MethodBypass.getClassHierarchy() |
protected IClassHierarchy |
BypassMethodTargetSelector.getClassHierarchy() |
| Modifier and Type | Method and Description |
|---|---|
TypeAbstraction |
ReflectionSummary.getTypeForNewInstance(int bcIndex,
IClassHierarchy cha) |
| Constructor and Description |
|---|
BypassClassTargetSelector(ClassTargetSelector parent,
Set<TypeReference> allocatableTypes,
IClassHierarchy cha,
IClassLoader bypassLoader) |
BypassMethodTargetSelector(MethodTargetSelector parent,
Map<MethodReference,MethodSummary> methodSummaries,
Set<Atom> ignoredPackages,
IClassHierarchy cha) |
BypassSyntheticClass(IClass realType,
IClassLoader loader,
IClassHierarchy cha) |
BypassSyntheticClassLoader(ClassLoaderReference me,
IClassLoader parent,
com.ibm.wala.util.config.SetOfClasses exclusions,
IClassHierarchy cha)
Don't change my signature! ClassLoaderFactoryImpl calls me by reflection! yuck.
|
LambdaSummaryClass(TypeReference T,
IClassHierarchy cha,
SSAInvokeDynamicInstruction invoke) |
MethodBypass(Map methodSummaries,
Set allocatable,
IClassHierarchy cha) |
| Modifier and Type | Method and Description |
|---|---|
static IClass |
ClassTypeSignature.lookupClass(IClassHierarchy cha,
ClassTypeSignature sig) |
| Modifier and Type | Method and Description |
|---|---|
static void |
ReferenceCleanser.registerClassHierarchy(IClassHierarchy cha) |
| Modifier and Type | Method and Description |
|---|---|
static Iterable<Entrypoint> |
JUnitEntryPoints.make(IClassHierarchy cha)
Construct JUnit entrypoints for all the JUnit test methods in the given scope.
|
static Iterable<Entrypoint> |
JUnitEntryPoints.makeOne(IClassHierarchy cha,
String targetPackageName,
String targetSimpleClassName,
String targetMethodName)
Construct JUnit entrypoints for the specified test method in a scope.
|
| Modifier and Type | Field and Description |
|---|---|
protected IClassHierarchy |
TypeSafeInstructionFactory.cha |
| Modifier and Type | Method and Description |
|---|---|
List<ParameterAccessor.Parameter> |
ParameterAccessor.allExtend(TypeName tName,
IClassHierarchy cha)
All parameters in the selector that are a subclass of tName (slow).
|
List<ParameterAccessor.Parameter> |
ParameterAccessor.allExtend(TypeReference tRef,
IClassHierarchy cha)
All parameters in the selector that are a subclass of tRef (slow).
|
List<SSAValue> |
ParameterAccessor.connectThrough(ParameterAccessor callee,
Set<? extends SSAValue> overrides,
Set<? extends SSAValue> defaults,
IClassHierarchy cha)
Assign parameters to a call based on their type.
|
List<SSAValue> |
ParameterAccessor.connectThrough(ParameterAccessor callee,
Set<? extends SSAValue> overrides,
Set<? extends SSAValue> defaults,
IClassHierarchy cha,
IInstantiator instantiator,
Object... instantiatorArgs)
Connects though parameters from the calling function (overridable) - CAUTION:.
|
ParameterAccessor.Parameter |
ParameterAccessor.firstExtends(TypeName tName,
IClassHierarchy cha)
First parameter in the selector that is a subclass of tName (slow).
|
ParameterAccessor.Parameter |
ParameterAccessor.firstExtends(TypeReference tRef,
IClassHierarchy cha)
First parameter in the selector that is a subclass of tRef (slow).
|
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.forInvokeStatic(List<? extends SSAValue> args,
ParameterAccessor target,
IClassHierarchy cha)
Generate the params-param for an InvokeIstruction with type checking.
|
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).
|
int[] |
ParameterAccessor.forInvokeVirtual(int self,
List<? extends SSAValue> args,
ParameterAccessor target,
IClassHierarchy cha)
Generate the params-param for an InvokeIstruction with type checking.
|
protected boolean |
ParameterAccessor.isAssignable(SSAValue from,
SSAValue to,
IClassHierarchy cha)
Does "to x := from" hold?.
|
static boolean |
ParameterAccessor.isAssignable(TypeReference from,
TypeReference to,
IClassHierarchy cha)
Does "to x := from" hold?.
|
static boolean |
ParameterAccessor.isSubclassOf(TypeReference sub,
TypeReference superC,
IClassHierarchy cha)
Is sub a subclass of superC (or the same).
|
ParameterAccessor.Parameter |
ParameterAccessor.makeReturn(int ssa,
TypeReference type,
IClassHierarchy cha)
Create a "Parameter" containing the Return-Type with Type-checking.
|
| Constructor and Description |
|---|
ParameterAccessor(MethodReference mRef,
IClassHierarchy cha)
Reads the parameters of a MethodReference CAUTION:.
|
TypeSafeInstructionFactory(IClassHierarchy cha) |
| Modifier and Type | Method and Description |
|---|---|
static Process |
PDFViewUtil.ghostviewIR(IClassHierarchy cha,
IR ir,
String pdfFile,
String dotFile,
String dotExe,
String pdfViewExe)
spawn a process to view a WALA IR
|
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
|
| Constructor and Description |
|---|
ChaPanel(IClassHierarchy cha) |
Copyright © 2015. All rights reserved.