| 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.exc | |
| com.ibm.wala.cfg.exc.inter | |
| com.ibm.wala.cfg.exc.intra | |
| com.ibm.wala.classLoader |
This package provides functionality related to class loading and
management of loaded classes.
|
| com.ibm.wala.demandpa.util | |
| 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 |
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.cfg |
This package supports interprocedural control-flow graphs, and control-flow
graphs specialized for context.
|
| 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.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.types.annotations | |
| com.ibm.wala.types.generics | |
| com.ibm.wala.util.shrike | |
| com.ibm.wala.util.ssa |
A set of classes facilitating the construction of synthetic methods.
|
| Modifier and Type | Field and Description |
|---|---|
protected Map<TypeReference,Integer> |
AbstractReflectionInterpreter.typeIndexMap |
protected HashSet<TypeReference> |
AbstractReflectionInterpreter.SpecializedMethod.typesAllocated
Set of types that we have already inserted an allocation for.
|
| Modifier and Type | Method and Description |
|---|---|
TypeReference |
FactoryBypassInterpreter.SpecializedFactoryMethod.getParameterType(int i) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
AbstractReflectionInterpreter.SpecializedMethod.addCtorInvokeInstruction(TypeReference t,
int alloc)
Add an instruction to invoke the default constructor on the object of value number alloc of type t.
|
protected void |
AbstractReflectionInterpreter.SpecializedMethod.addInstruction(TypeReference T,
SSAInstruction instr,
boolean isAllocation) |
protected int |
AbstractReflectionInterpreter.SpecializedMethod.addStatementsForConcreteSimpleType(TypeReference t) |
protected int |
AbstractReflectionInterpreter.getCallSiteForType(TypeReference T) |
protected int |
AbstractReflectionInterpreter.getExceptionsForType(TypeReference T) |
protected int |
AbstractReflectionInterpreter.getLocalForType(TypeReference T) |
protected int |
AbstractReflectionInterpreter.getNewSiteForType(TypeReference T) |
boolean |
FactoryBypassInterpreter.recordType(IClassHierarchy cha,
Context context,
TypeReference type) |
protected TypeAbstraction |
AbstractReflectionInterpreter.typeRef2TypeAbstraction(IClassHierarchy cha,
TypeReference type) |
| Modifier and Type | Field and Description |
|---|---|
protected TypeReference |
PrimitiveType.reference |
| Modifier and Type | Field and Description |
|---|---|
protected static Map<TypeReference,PrimitiveType> |
PrimitiveType.referenceToType |
| Modifier and Type | Method and Description |
|---|---|
abstract TypeReference |
TypeAbstraction.getTypeReference()
A TypeReference representing the types of this abstraction
|
TypeReference |
SetType.getTypeReference() |
TypeReference |
PrimitiveType.getTypeReference() |
TypeReference |
PointType.getTypeReference() |
TypeReference |
ConeType.getTypeReference() |
| Modifier and Type | Method and Description |
|---|---|
Iterator<TypeReference> |
SetType.iteratePoints() |
| Modifier and Type | Method and Description |
|---|---|
static PrimitiveType |
PrimitiveType.getPrimitive(TypeReference reference) |
| Constructor and Description |
|---|
PrimitiveType(TypeReference reference,
int size) |
| Modifier and Type | Field and Description |
|---|---|
static TypeReference[] |
NullPointerAnalysis.DEFAULT_IGNORE_EXCEPTIONS |
| Modifier and Type | Method and Description |
|---|---|
static InterprocNullPointerAnalysis |
InterprocNullPointerAnalysis.compute(TypeReference[] ignoredExceptions,
CallGraph cg,
MethodState defaultMethodState,
com.ibm.wala.util.MonitorUtil.IProgressMonitor progress,
boolean optHasExceptions) |
| Constructor and Description |
|---|
ExplodedCFGNullPointerAnalysis(TypeReference[] ignoredExceptions,
IR ir,
ParameterState paramState,
MethodState mState,
boolean optHasExceptions) |
SSACFGNullPointerAnalysis(TypeReference[] ignoredExceptions,
IR ir,
ParameterState paramState,
MethodState mState) |
| Modifier and Type | Field and Description |
|---|---|
protected TypeReference |
BytecodeClass.typeReference
Canonical type representation
|
| Modifier and Type | Method and Description |
|---|---|
TypeReference[] |
Language.getArrayInterfaces()
get the interfaces implemented by all arrays in the language
|
TypeReference[] |
JavaLanguage.getArrayInterfaces() |
TypeReference |
Language.getConstantType(Object o)
Given a Java constant o, return the appropriate language type to associate
with the constant.
|
TypeReference |
JavaLanguage.getConstantType(Object o) |
TypeReference[] |
SyntheticMethod.getDeclaredExceptions() |
TypeReference[] |
ShrikeBTMethod.getDeclaredExceptions()
Clients should not modify the returned array.
|
TypeReference[] |
IMethod.getDeclaredExceptions() |
TypeReference |
NewSiteReference.getDeclaredType() |
TypeReference |
IField.getFieldTypeReference() |
TypeReference |
FieldImpl.getFieldTypeReference() |
TypeReference |
ShrikeClass.getOuterClass()
If this is an inner class, return the outer class.
|
TypeReference |
SyntheticMethod.getParameterType(int i) |
TypeReference |
ShrikeBTMethod.getParameterType(int i)
By convention, for a non-static method, getParameterType(0) is the this pointer
|
TypeReference |
IMethod.getParameterType(int i)
By convention, for a non-static method, getParameterType(0) is the this pointer
|
TypeReference |
Language.getPointerType(TypeReference pointee) |
TypeReference |
JavaLanguage.getPointerType(TypeReference pointee) |
TypeReference |
SyntheticClass.getReference() |
TypeReference |
IClass.getReference() |
TypeReference |
BytecodeClass.getReference() |
TypeReference |
ArrayClass.getReference() |
TypeReference |
SyntheticMethod.getReturnType() |
TypeReference |
ShrikeCTMethod.getReturnType() |
TypeReference |
IMethod.getReturnType() |
TypeReference |
Language.getRootType()
What is the root type in a type hierarchy for this language? e.g.
|
TypeReference |
JavaLanguage.getRootType() |
TypeReference |
Language.getStringType() |
TypeReference |
JavaLanguage.getStringType() |
TypeReference |
Language.getThrowableType()
What is the root type of exceptions in this language? e.g.
|
TypeReference |
JavaLanguage.getThrowableType() |
| Modifier and Type | Method and Description |
|---|---|
SSAAddressOfInstruction |
JavaLanguage.JavaInstructionFactory.AddressOfInstruction(int iindex,
int lval,
int local,
FieldReference field,
TypeReference pointeeType) |
SSAAddressOfInstruction |
JavaLanguage.JavaInstructionFactory.AddressOfInstruction(int iindex,
int lval,
int local,
int indexVal,
TypeReference pointeeType) |
SSAAddressOfInstruction |
JavaLanguage.JavaInstructionFactory.AddressOfInstruction(int iindex,
int lval,
int local,
TypeReference pointeeType) |
SSAArrayLoadInstruction |
JavaLanguage.JavaInstructionFactory.ArrayLoadInstruction(int iindex,
int result,
int arrayref,
int index,
TypeReference declaredType) |
SSAArrayStoreInstruction |
JavaLanguage.JavaInstructionFactory.ArrayStoreInstruction(int iindex,
int arrayref,
int index,
int value,
TypeReference declaredType) |
SSACheckCastInstruction |
JavaLanguage.JavaInstructionFactory.CheckCastInstruction(int iindex,
int result,
int val,
TypeReference[] types,
boolean isPEI) |
SSACheckCastInstruction |
JavaLanguage.JavaInstructionFactory.CheckCastInstruction(int iindex,
int result,
int val,
TypeReference type,
boolean isPEI) |
SSAConditionalBranchInstruction |
JavaLanguage.JavaInstructionFactory.ConditionalBranchInstruction(int iindex,
com.ibm.wala.shrikeBT.IConditionalBranchInstruction.IOperator operator,
TypeReference type,
int val1,
int val2,
int target) |
SSAConversionInstruction |
JavaLanguage.JavaInstructionFactory.ConversionInstruction(int iindex,
int result,
int val,
TypeReference fromType,
TypeReference toType,
boolean overflow) |
static int |
ArrayClass.getArrayTypeDimensionality(TypeReference reference) |
TypeReference |
Language.getPointerType(TypeReference pointee) |
TypeReference |
JavaLanguage.getPointerType(TypeReference pointee) |
PrimitiveType |
Language.getPrimitive(TypeReference reference)
get the abstraction of a primitive type to be used for type inference
|
PrimitiveType |
JavaLanguage.getPrimitive(TypeReference reference) |
SSAInstanceofInstruction |
JavaLanguage.JavaInstructionFactory.InstanceofInstruction(int iindex,
int result,
int ref,
TypeReference checkedType) |
boolean |
Language.isBooleanType(TypeReference t) |
boolean |
JavaLanguage.isBooleanType(TypeReference type) |
boolean |
Language.isCharType(TypeReference t) |
boolean |
JavaLanguage.isCharType(TypeReference type) |
boolean |
Language.isDoubleType(TypeReference t) |
boolean |
JavaLanguage.isDoubleType(TypeReference type) |
boolean |
Language.isFloatType(TypeReference t) |
boolean |
JavaLanguage.isFloatType(TypeReference type) |
boolean |
Language.isIntType(TypeReference t) |
boolean |
JavaLanguage.isIntType(TypeReference type) |
boolean |
Language.isLongType(TypeReference t) |
boolean |
JavaLanguage.isLongType(TypeReference type) |
boolean |
Language.isMetadataType(TypeReference t)
Is t a "metadata" type for the language, i.e., a type describing some other
type (e.g., java.lang.Class for Java)?
|
boolean |
JavaLanguage.isMetadataType(TypeReference type) |
boolean |
Language.isNullType(TypeReference t)
Is t the type of the language's null value? Should return true if
t == null (?). |
boolean |
JavaLanguage.isNullType(TypeReference type) |
boolean |
Language.isStringType(TypeReference t) |
boolean |
JavaLanguage.isStringType(TypeReference type) |
boolean |
Language.isVoidType(TypeReference t) |
boolean |
JavaLanguage.isVoidType(TypeReference type) |
SSALoadIndirectInstruction |
JavaLanguage.JavaInstructionFactory.LoadIndirectInstruction(int iindex,
int lval,
TypeReference t,
int addressVal) |
SSALoadMetadataInstruction |
JavaLanguage.JavaInstructionFactory.LoadMetadataInstruction(int iindex,
int lval,
TypeReference entityType,
Object token) |
static NewSiteReference |
NewSiteReference.make(int programCounter,
TypeReference declaredType) |
SSAStoreIndirectInstruction |
JavaLanguage.JavaInstructionFactory.StoreIndirectInstruction(int iindex,
int addressVal,
int rval,
TypeReference pointeeType) |
| Constructor and Description |
|---|
NewSiteReference(int programCounter,
TypeReference declaredType) |
SyntheticClass(TypeReference T,
IClassHierarchy cha) |
| Modifier and Type | Method and Description |
|---|---|
TypeReference |
ArrayContents.getFieldTypeReference() |
| Modifier and Type | Method and Description |
|---|---|
abstract TypeReference[] |
Entrypoint.getParameterTypes(int i) |
| Modifier and Type | Field and Description |
|---|---|
static TypeReference |
FakeRootClass.FAKE_ROOT_CLASS |
| Modifier and Type | Method and Description |
|---|---|
TypeReference[] |
DefaultEntrypoint.getParameterTypes(int i) |
TypeReference[] |
ArgumentTypeEntrypoint.getParameterTypes(int i) |
protected TypeReference[][] |
SubtypesEntrypoint.makeParameterTypes(IMethod method) |
protected TypeReference[][] |
DefaultEntrypoint.makeParameterTypes(IMethod method) |
protected TypeReference[][] |
ArgumentTypeEntrypoint.makeParameterTypes(IMethod method) |
protected TypeReference[] |
SubtypesEntrypoint.makeParameterTypes(IMethod method,
int i) |
protected TypeReference[] |
DefaultEntrypoint.makeParameterTypes(IMethod method,
int i) |
| Modifier and Type | Method and Description |
|---|---|
SSANewInstruction |
AbstractRootMethod.add1DArrayAllocation(TypeReference T,
int length)
Add a New statement of the given array type and length
|
SSANewInstruction |
AbstractRootMethod.addAllocation(TypeReference T)
Add a New statement of the given type
Side effect: adds call to default constructor of given type if one exists.
|
SSANewInstruction |
AbstractRootMethod.addAllocationWithoutCtor(TypeReference T)
Add a New statement of the given type
|
int |
AbstractRootMethod.addCheckcast(TypeReference[] types,
int rv,
boolean isPEI) |
int |
AbstractRootMethod.addGetArrayField(TypeReference elementType,
int baseObject,
int indexValue) |
void |
AbstractRootMethod.addSetArrayField(TypeReference elementType,
int baseObject,
int indexValue,
int value) |
void |
FakeRootClass.addStaticField(Atom name,
TypeReference fieldType) |
void |
DefaultEntrypoint.setParameterTypes(int i,
TypeReference[] types) |
| Constructor and Description |
|---|
FakeRootClass(TypeReference typeRef,
IClassHierarchy cha) |
| Modifier and Type | Field and Description |
|---|---|
static TypeReference |
ContainerUtil.FreezableList |
static TypeReference |
ContainerUtil.JarAttributes |
| Modifier and Type | Field and Description |
|---|---|
static TypeReference |
ZeroXInstanceKeys.JavaLangAbstractStringBuilder |
static TypeReference |
ZeroXInstanceKeys.JavaLangStringBuffer |
static TypeReference |
ZeroXInstanceKeys.JavaLangStringBuilder |
static TypeReference |
ContainerContextSelector.JavaUtilHashtable |
static TypeReference |
ContainerContextSelector.SyntheticSystem |
| Modifier and Type | Method and Description |
|---|---|
<T> InstanceKey |
ZeroXInstanceKeys.getInstanceKeyForConstant(TypeReference type,
T S) |
InstanceKey |
ZeroXInstanceKeys.getInstanceKeyForMetadataObject(Object obj,
TypeReference objType) |
InstanceKey |
ZeroXInstanceKeys.getInstanceKeyForPEI(CGNode node,
ProgramCounter pei,
TypeReference type) |
| Modifier and Type | Method and Description |
|---|---|
InstanceKey |
TypeBasedHeapModel.getInstanceKeyForConstant(TypeReference type,
Object S) |
InstanceKey |
TypeBasedHeapModel.getInstanceKeyForMetadataObject(Object obj,
TypeReference objType) |
InstanceKey |
TypeBasedHeapModel.getInstanceKeyForPEI(CGNode node,
ProgramCounter instr,
TypeReference type) |
| Modifier and Type | Method and Description |
|---|---|
Iterator<TypeReference> |
BasicBlockInContext.getCaughtExceptionTypes() |
| Modifier and Type | Method and Description |
|---|---|
TypeReference |
IClassHierarchy.getLeastCommonSuperclass(TypeReference A,
TypeReference B) |
TypeReference |
ClassHierarchy.getLeastCommonSuperclass(TypeReference a,
TypeReference b) |
| Modifier and Type | Method and Description |
|---|---|
Collection<TypeReference> |
IClassHierarchy.getJavaLangErrorTypes()
Solely for optimization; return a Collection
|
Collection<TypeReference> |
ClassHierarchy.getJavaLangErrorTypes()
Solely for optimization; return a Collection
|
Collection<TypeReference> |
IClassHierarchy.getJavaLangRuntimeExceptionTypes()
Solely for optimization; return a Collection
RuntimeException
kind of ugly. |
Collection<TypeReference> |
ClassHierarchy.getJavaLangRuntimeExceptionTypes()
Solely for optimization; return a Collection
|
Set<TypeReference> |
IClassHierarchy.getUnresolvedClasses()
BEGIN Custom change: remember unresolved classes
|
Set<TypeReference> |
ClassHierarchy.getUnresolvedClasses() |
| Modifier and Type | Method and Description |
|---|---|
Collection<IClass> |
IClassHierarchy.computeSubClasses(TypeReference type)
Return set of all subclasses of type in the Class Hierarchy
|
Collection<IClass> |
ClassHierarchy.computeSubClasses(TypeReference type)
Return set of all subclasses of type in the Class Hierarchy TODO: Tune this implementation.
|
Set<IClass> |
IClassHierarchy.getImplementors(TypeReference type) |
Set<IClass> |
ClassHierarchy.getImplementors(TypeReference type)
TODO: tune this if necessary
|
TypeReference |
IClassHierarchy.getLeastCommonSuperclass(TypeReference A,
TypeReference B) |
TypeReference |
ClassHierarchy.getLeastCommonSuperclass(TypeReference a,
TypeReference b) |
boolean |
IClassHierarchy.isInterface(TypeReference type) |
boolean |
ClassHierarchy.isInterface(TypeReference type) |
IClass |
IClassHierarchy.lookupClass(TypeReference A)
Load a class using one of the loaders specified for this class hierarchy
|
IClass |
ClassHierarchy.lookupClass(TypeReference a)
Find a class in this class hierarchy.
|
| Modifier and Type | Method and Description |
|---|---|
<T> InstanceKey |
DelegatingExtendedHeapModel.getInstanceKeyForConstant(TypeReference type,
T S) |
InstanceKey |
DelegatingExtendedHeapModel.getInstanceKeyForMetadataObject(Object obj,
TypeReference objType) |
InstanceKey |
DelegatingExtendedHeapModel.getInstanceKeyForPEI(CGNode node,
ProgramCounter instr,
TypeReference type) |
| Modifier and Type | Method and Description |
|---|---|
static TypeReference |
HeapExclusions.getType(PointerKey pk) |
| Modifier and Type | Method and Description |
|---|---|
TypeReference |
VolatileMethodSummary.getParameterType(int i)
Gets you the TypeReference of a parameter.
|
TypeReference |
SummarizedMethod.getParameterType(int i) |
TypeReference |
MethodSummary.getParameterType(int i)
Note that by convention, getParameterType(0) == this for non-static methods.
|
TypeReference |
VolatileMethodSummary.getReturnType()
Retrieves the return-type of the Function whose body this Summary implements.
|
TypeReference |
MethodSummary.getReturnType() |
| Modifier and Type | Method and Description |
|---|---|
Set<TypeReference> |
XMLMethodSummaryReader.getAllocatableClasses() |
Set<TypeReference> |
ReflectionSummary.getTypesForProgramLocation(int bcIndex) |
| Modifier and Type | Method and Description |
|---|---|
void |
ReflectionSummary.addType(int bcIndex,
TypeReference T) |
static TypeName |
BypassSyntheticClass.getName(TypeReference T) |
| Constructor and Description |
|---|
LambdaSummaryClass(TypeReference T,
IClassHierarchy cha,
SSAInvokeDynamicInstruction invoke) |
| Constructor and Description |
|---|
BypassClassTargetSelector(ClassTargetSelector parent,
Set<TypeReference> allocatableTypes,
IClassHierarchy cha,
IClassLoader bypassLoader) |
| Modifier and Type | Method and Description |
|---|---|
TypeReference |
SSAInstanceofInstruction.getCheckedType() |
TypeReference |
SSANewInstruction.getConcreteType() |
TypeReference |
SSAFieldAccessInstruction.getDeclaredFieldType() |
TypeReference |
SSACheckCastInstruction.getDeclaredResultType()
Deprecated.
the system now supports multiple types, so this
accessor will not work for all languages.
|
TypeReference |
SSAAbstractInvokeInstruction.getDeclaredResultType()
What is the declared return type of the called method
|
TypeReference[] |
SSACheckCastInstruction.getDeclaredResultTypes() |
TypeReference |
SSAArrayReferenceInstruction.getElementType() |
TypeReference |
SSAConversionInstruction.getFromType() |
TypeReference |
SSALoadIndirectInstruction.getLoadedType() |
TypeReference |
IR.getParameterType(int i)
Get the
TypeReference that describes the ith parameter to this method. |
TypeReference |
SSAStoreIndirectInstruction.getPointeeType() |
TypeReference |
SSAConversionInstruction.getToType() |
TypeReference |
SSALoadMetadataInstruction.getType() |
TypeReference |
SSAConditionalBranchInstruction.getType() |
TypeReference |
SSAAddressOfInstruction.getType() |
| Modifier and Type | Method and Description |
|---|---|
Iterator<TypeReference> |
SSACFG.BasicBlock.getCaughtExceptionTypes()
The
SSACFG.ExceptionHandlerBasicBlock subclass will override this. |
Iterator<TypeReference> |
SSACFG.ExceptionHandlerBasicBlock.getCaughtExceptionTypes() |
Iterator<TypeReference> |
ISSABasicBlock.getCaughtExceptionTypes() |
Collection<TypeReference> |
SSAInstruction.getExceptionTypes()
This method should never return null.
|
| Modifier and Type | Method and Description |
|---|---|
void |
SSACFG.ExceptionHandlerBasicBlock.addCaughtExceptionType(TypeReference exceptionType) |
SSAAddressOfInstruction |
SSAInstructionFactory.AddressOfInstruction(int iindex,
int lval,
int local,
FieldReference field,
TypeReference pointeeType) |
SSAAddressOfInstruction |
SSAInstructionFactory.AddressOfInstruction(int iindex,
int lval,
int local,
int indexVal,
TypeReference pointeeType) |
SSAAddressOfInstruction |
SSAInstructionFactory.AddressOfInstruction(int iindex,
int lval,
int local,
TypeReference pointeeType) |
SSAArrayLoadInstruction |
SSAInstructionFactory.ArrayLoadInstruction(int iindex,
int result,
int arrayref,
int index,
TypeReference declaredType) |
SSAArrayStoreInstruction |
SSAInstructionFactory.ArrayStoreInstruction(int iindex,
int arrayref,
int index,
int value,
TypeReference declaredType) |
SSACheckCastInstruction |
SSAInstructionFactory.CheckCastInstruction(int iindex,
int result,
int val,
TypeReference[] types,
boolean isPEI) |
SSACheckCastInstruction |
SSAInstructionFactory.CheckCastInstruction(int iindex,
int result,
int val,
TypeReference type,
boolean isPEI) |
SSAConditionalBranchInstruction |
SSAInstructionFactory.ConditionalBranchInstruction(int iindex,
com.ibm.wala.shrikeBT.IConditionalBranchInstruction.IOperator operator,
TypeReference type,
int val1,
int val2,
int target) |
SSAConversionInstruction |
SSAInstructionFactory.ConversionInstruction(int iindex,
int result,
int val,
TypeReference fromType,
TypeReference toType,
boolean overflow) |
SSAInstanceofInstruction |
SSAInstructionFactory.InstanceofInstruction(int iindex,
int result,
int ref,
TypeReference checkedType) |
SSALoadIndirectInstruction |
SSAInstructionFactory.LoadIndirectInstruction(int iindex,
int lval,
TypeReference t,
int addressVal) |
SSALoadMetadataInstruction |
SSAInstructionFactory.LoadMetadataInstruction(int iindex,
int lval,
TypeReference entityType,
Object token) |
SSAStoreIndirectInstruction |
SSAInstructionFactory.StoreIndirectInstruction(int iindex,
int addressVal,
int rval,
TypeReference pointeeType) |
| Constructor and Description |
|---|
SSAAddressOfInstruction(int iindex,
int lval,
int basePointer,
FieldReference field,
TypeReference pointeeType)
Use this constructor when taking the address of a field in an object.
|
SSAAddressOfInstruction(int iindex,
int lval,
int basePointer,
int indexVal,
TypeReference pointeeType)
Use this constructor when taking the address of an array element.
|
SSAAddressOfInstruction(int iindex,
int lval,
int local,
TypeReference pointeeType)
Use this constructor when taking the address of a local variable.
|
SSAArrayLoadInstruction(int iindex,
int result,
int arrayref,
int index,
TypeReference elementType) |
SSAArrayStoreInstruction(int iindex,
int arrayref,
int index,
int value,
TypeReference elementType) |
SSACheckCastInstruction(int iindex,
int result,
int val,
TypeReference[] types,
boolean isPEI) |
SSAConditionalBranchInstruction(int iindex,
com.ibm.wala.shrikeBT.IConditionalBranchInstruction.IOperator operator,
TypeReference type,
int val1,
int val2,
int target) |
SSAConversionInstruction(int iindex,
int result,
int val,
TypeReference fromType,
TypeReference toType) |
SSAInstanceofInstruction(int iindex,
int result,
int ref,
TypeReference checkedType) |
SSALoadIndirectInstruction(int iindex,
int lval,
TypeReference t,
int addressVal) |
SSALoadMetadataInstruction(int iindex,
int lval,
TypeReference entityType,
Object token) |
SSAStoreIndirectInstruction(int iindex,
int addressVal,
int rval,
TypeReference pointeeType) |
| Modifier and Type | Method and Description |
|---|---|
static TypeReference |
TypeReference.find(ClassLoaderReference cl,
String typeName) |
static TypeReference |
TypeReference.find(ClassLoaderReference cl,
TypeName typeName)
Find the canonical TypeReference instance for the given pair.
|
static TypeReference |
TypeReference.findOrCreate(ClassLoaderReference cl,
String typeName)
Find or create the canonical
TypeReference instance for the given pair. |
static TypeReference |
TypeReference.findOrCreate(ClassLoaderReference cl,
TypeName typeName)
Find or create the canonical TypeReference instance for the given pair.
|
static TypeReference |
TypeReference.findOrCreateArrayOf(TypeReference t) |
static TypeReference |
TypeReference.findOrCreateClass(ClassLoaderReference loader,
String packageName,
String className) |
static TypeReference |
TypeReference.findOrCreatePointerTo(TypeReference t) |
static TypeReference |
TypeReference.findOrCreateReferenceTo(TypeReference t) |
TypeReference |
TypeReference.getArrayElementType()
TODO: specialized form of TypeReference for arrays, please.
|
TypeReference |
TypeReference.getArrayTypeForElementType()
Get array type corresponding to "this" array element type.
|
TypeReference |
MemberReference.getDeclaringClass() |
TypeReference |
FieldReference.getFieldType() |
TypeReference |
TypeReference.getInnermostElementType()
Return the innermost element type reference for an array
|
TypeReference |
MethodReference.getParameterType(int i) |
TypeReference |
MethodReference.getReturnType() |
static TypeReference |
TypeReference.makePrimitive(ClassLoaderReference cl,
TypeName n) |
| Modifier and Type | Method and Description |
|---|---|
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 FieldReference |
FieldReference.findOrCreate(TypeReference tref,
Atom mn,
TypeReference fieldType)
Find or create the canonical MemberReference 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) |
static TypeReference |
TypeReference.findOrCreateArrayOf(TypeReference t) |
static TypeReference |
TypeReference.findOrCreatePointerTo(TypeReference t) |
static TypeReference |
TypeReference.findOrCreateReferenceTo(TypeReference t) |
| Constructor and Description |
|---|
MemberReference(TypeReference type,
Atom name,
int hash) |
| Modifier and Type | Method and Description |
|---|---|
TypeReference |
Annotation.getType()
Get the type of the annotation
|
| Modifier and Type | Method and Description |
|---|---|
static Annotation |
Annotation.make(TypeReference t) |
static Annotation |
Annotation.makeUnnamedAndNamed(TypeReference t,
Map<String,com.ibm.wala.shrikeCT.AnnotationsReader.ElementValue> namedArguments,
com.ibm.wala.util.collections.Pair<TypeReference,Object>[] unnamedArguments) |
static Annotation |
Annotation.makeWithNamed(TypeReference t,
Map<String,com.ibm.wala.shrikeCT.AnnotationsReader.ElementValue> namedArguments) |
static Annotation |
Annotation.makeWithUnnamed(TypeReference t,
com.ibm.wala.util.collections.Pair<TypeReference,Object>[] unnamedArguments) |
| Modifier and Type | Method and Description |
|---|---|
TypeReference |
BaseType.getType() |
| Modifier and Type | Method and Description |
|---|---|
static TypeReference |
ShrikeUtil.makeTypeReference(ClassLoaderReference loader,
String type) |
| Modifier and Type | Field and Description |
|---|---|
protected TypeReference |
SSAValue.type
The type of this variable
|
| Modifier and Type | Method and Description |
|---|---|
TypeReference |
ParameterAccessor.getParameterType(int no)
Prefer: getParameter(int no) or all().
|
TypeReference |
ParameterAccessor.getReturnType()
Handed through to the IMethod / MethodReference
|
TypeReference |
SSAValue.getType()
The type this SSA-Value represents.
|
| Modifier and Type | Method and Description |
|---|---|
List<ParameterAccessor.Parameter> |
ParameterAccessor.allExtend(TypeReference tRef,
IClassHierarchy cha)
All parameters in the selector that are a subclass of tRef (slow).
|
SSAConditionalBranchInstruction |
TypeSafeInstructionFactory.ConditionalBranchInstruction(int iindex,
com.ibm.wala.shrikeBT.IConditionalBranchInstruction.IOperator operator,
TypeReference type,
int val1,
int val2,
int target) |
int |
IInstantiator.createInstance(TypeReference type,
Object... instantiatorArgs)
Create an instance of type.
|
ParameterAccessor.Parameter |
ParameterAccessor.firstExtends(TypeReference tRef,
IClassHierarchy cha)
First parameter in the selector that is a subclass of tRef (slow).
|
ParameterAccessor.Parameter |
ParameterAccessor.firstOf(TypeReference tRef)
First parameter in the selector that matches _exactly_.
|
SSAValue |
SSAValueManager.getFree(TypeReference type,
SSAValue.VariableKey key)
Returns and registers a free SSA-Number to a Type.
|
ParameterAccessor.Parameter |
ParameterAccessor.getThisAs(TypeReference asType)
Return the implicit this-pointer as a supertype.
|
SSAValue |
SSAValueManager.getUnallocated(TypeReference type,
SSAValue.VariableKey key)
Get an unused number to assign to.
|
SSAValue |
SSAValueManager.getUnmanaged(TypeReference type,
SSAValue.VariableKey key)
Retrieve a SSA-Value that is not under management.
|
SSAValue |
SSAValueManager.getUnmanaged(TypeReference type,
String name) |
static boolean |
ParameterAccessor.isAssignable(TypeReference from,
TypeReference to,
IClassHierarchy cha)
Does "to x := from" hold?.
|
boolean |
TypeSafeInstructionFactory.isAssignableFrom(TypeReference from,
TypeReference to) |
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.Parameter(int number,
String name,
TypeReference type,
ParameterAccessor.ParamerterDisposition disp,
ParameterAccessor.BasedOn basedOn,
MethodReference mRef,
int descriptorOffset)
Create Parameters using ParameterAccessor.
|
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).
|
Copyright © 2015. All rights reserved.