| Package | Description |
|---|---|
| com.ibm.wala.classLoader |
This package provides functionality related to class loading and
management of loaded classes.
|
| com.ibm.wala.ipa.summaries |
This package provides class hierarchy analysis.
|
| 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 |
This package provides miscellaneous utilities.
|
| 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 |
|---|---|
protected Map<TypeName,IClass> |
ClassLoaderImpl.loadedClasses
A mapping from class name (TypeName) to IClass
|
| Modifier and Type | Method and Description |
|---|---|
TypeName |
SyntheticClass.getName() |
TypeName |
IClass.getName() |
TypeName |
BytecodeClass.getName() |
TypeName |
ArrayClass.getName() |
TypeName |
Language.lookupPrimitiveType(String name)
Given a source-level primitive type name, get the corresponding "low-level"
type name, e.g., the corresponding character to use in a Java method
descriptor
|
TypeName |
JavaLanguage.lookupPrimitiveType(String name) |
| Modifier and Type | Method and Description |
|---|---|
IField |
SyntheticClass.getField(Atom name,
TypeName typeName)
we assume synthetic classes do not need to have multiple fields with the same name.
|
IField |
IClass.getField(Atom name,
TypeName type)
Finds a field, given a name and a type.
|
IField |
BytecodeClass.getField(Atom name,
TypeName type) |
IField |
ArrayClass.getField(Atom name,
TypeName typeName) |
IClass |
IClassLoader.lookupClass(TypeName className)
Find and return the IClass defined by this class loader that corresponds to the given class name.
|
IClass |
ClassLoaderImpl.lookupClass(TypeName className) |
IClass |
ArrayClassLoader.lookupClass(TypeName className,
IClassLoader delegator,
IClassHierarchy cha) |
| Modifier and Type | Method and Description |
|---|---|
static TypeName |
BypassSyntheticClass.getName(TypeReference T) |
| Modifier and Type | Method and Description |
|---|---|
IClass |
BypassSyntheticClassLoader.lookupClass(TypeName className) |
void |
BypassSyntheticClassLoader.registerClass(TypeName className,
IClass theClass)
Register the existence of a new synthetic class
|
| Modifier and Type | Field and Description |
|---|---|
static TypeName |
TypeReference.BooleanName
Primitive Dispatch *
|
static TypeName |
TypeReference.ByteName |
static TypeName |
TypeReference.CharName |
static TypeName |
TypeReference.DoubleName |
static TypeName |
TypeReference.FloatName |
static TypeName |
TypeReference.IntName |
static TypeName |
TypeReference.JavaIoSerializableName |
static TypeName |
TypeReference.JavaLangCloneableName |
static TypeName |
TypeReference.LongName |
static TypeName |
TypeReference.ShortName |
static TypeName |
TypeReference.VoidName |
| Modifier and Type | Method and Description |
|---|---|
static TypeName |
TypeName.findOrCreate(Atom packageName,
Atom className,
int dim) |
static TypeName |
TypeName.findOrCreate(ImmutableByteArray name) |
static TypeName |
TypeName.findOrCreate(ImmutableByteArray name,
int start,
int length) |
static TypeName |
TypeName.findOrCreate(String name) |
static TypeName |
TypeName.findOrCreateClass(Atom packageName,
Atom className) |
static TypeName |
TypeName.findOrCreateClassName(String packageName,
String className) |
TypeName |
TypeName.getArrayTypeForElementType() |
TypeName |
TypeName.getInnermostElementType()
Return the innermost element type reference for an array
|
TypeName |
TypeReference.getName() |
TypeName[] |
Descriptor.getParameters() |
TypeName |
TypeName.getPointerTypeForElementType() |
TypeName |
TypeName.getReferenceTypeForElementType() |
TypeName |
Descriptor.getReturnType() |
TypeName |
TypeName.parseForArrayElementName() |
static TypeName |
TypeName.string2TypeName(String s) |
| Modifier and Type | Method and Description |
|---|---|
static TypeReference |
TypeReference.find(ClassLoaderReference cl,
TypeName typeName)
Find 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 Descriptor |
Descriptor.findOrCreate(TypeName[] parameters,
TypeName returnType) |
static Descriptor |
Descriptor.findOrCreate(TypeName[] parameters,
TypeName returnType) |
static boolean |
TypeReference.isPrimitiveType(TypeName name)
Could name a represent a primitive type?
|
static TypeReference |
TypeReference.makePrimitive(ClassLoaderReference cl,
TypeName n) |
| Constructor and Description |
|---|
TypeReference(ClassLoaderReference cl,
TypeName tn)
NB: All type names should use '/' and not '.' as a separator.
|
| Modifier and Type | Field and Description |
|---|---|
static TypeName |
Annotations.INTERNAL |
static TypeName |
Annotations.NONNULL |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
Annotations.hasAnnotation(IClass c,
TypeName type)
Does a particular class have a particular annotation?
|
static boolean |
Annotations.hasAnnotation(IField field,
TypeName type) |
static boolean |
Annotations.hasAnnotation(IMethod m,
TypeName type)
Does a particular method have a particular annotation?
|
| Modifier and Type | Method and Description |
|---|---|
TypeName |
ClassTypeSignature.getRawName()
Return the name of the raw type for this signature
|
| Modifier and Type | Method and Description |
|---|---|
static PrimitiveAssignability.AssignabilityKind |
PrimitiveAssignability.getAssignableFrom(TypeName from,
TypeName to)
Is information lost on c1 x := c2 y?
|
static boolean |
PrimitiveAssignability.isAssignableFrom(TypeName from,
TypeName to)
Does an expression c1 x := c2 y typecheck?
|
| Modifier and Type | Field and Description |
|---|---|
TypeName |
SSAValue.TypeKey.type |
TypeName |
SSAValue.NamedKey.type |
| 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).
|
ParameterAccessor.Parameter |
ParameterAccessor.firstExtends(TypeName tName,
IClassHierarchy cha)
First parameter in the selector that is a subclass of tName (slow).
|
ParameterAccessor.Parameter |
ParameterAccessor.firstOf(TypeName tName)
First parameter in the selector that matches _exactly_.
|
| Constructor and Description |
|---|
ParameterAccessor.ParameterKey(TypeName type,
int no,
String name) |
SSAValue.NamedKey(TypeName type,
String name) |
SSAValue.TypeKey(TypeName type) |
SSAValue.WeaklyNamedKey(TypeName type,
String name) |
| Modifier and Type | Method and Description |
|---|---|
static TypeName[] |
StringStuff.parseForParameterNames(Language l,
ImmutableByteArray b)
Parse method descriptor to obtain descriptions of method's parameters.
|
static TypeName[] |
StringStuff.parseForParameterNames(Language l,
String descriptor) |
static TypeName[] |
StringStuff.parseForParameterNames(String descriptor) |
static TypeName |
StringStuff.parseForReturnTypeName(Language l,
ImmutableByteArray b)
Parse method descriptor to obtain description of method's return type.
|
static TypeName |
StringStuff.parseForReturnTypeName(Language l,
String desc) |
static TypeName |
StringStuff.parseForReturnTypeName(String desc) |
Copyright © 2015. All rights reserved.