Package com.ibm.wala.ipa.summaries
Class BypassSyntheticClass
- java.lang.Object
-
- com.ibm.wala.classLoader.SyntheticClass
-
- com.ibm.wala.ipa.summaries.BypassSyntheticClass
-
- All Implemented Interfaces:
IClass
,IClassHierarchyDweller
public class BypassSyntheticClass extends SyntheticClass
A synthetic implementation of a class
-
-
Constructor Summary
Constructors Constructor Description BypassSyntheticClass(IClass realType, IClassLoader loader, IClassHierarchy cha)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object arg0)
Collection<IField>
getAllFields()
Compute the instance and static fields declared by this class or any of its superclasses.Collection<IClass>
getAllImplementedInterfaces()
Collection<IField>
getAllInstanceFields()
Compute the instance fields declared by this class or any of its superclasses.Collection<IMethod>
getAllMethods()
Compute the methods declared by this class or any of its superclasses.Collection<IField>
getAllStaticFields()
Compute the static fields declared by this class or any of its superclasses.Collection<Annotation>
getAnnotations()
get annotations, if anyIMethod
getClassInitializer()
IClassLoader
getClassLoader()
By default, a synthetic class is "loaded" by the primordial loader.Collection<IField>
getDeclaredInstanceFields()
Compute the instance fields declared by this class.Collection<IMethod>
getDeclaredMethods()
Collection<IField>
getDeclaredStaticFields()
Collection<IClass>
getDirectInterfaces()
IField
getField(Atom name)
Finds a field.IMethod
getMethod(Selector selector)
Finds method matching signature.int
getModifiers()
Return the integer that encodes the class's modifiers, as defined by the JVM specificationstatic TypeName
getName(TypeReference T)
IClass
getRealType()
Reader
getSource()
String
getSourceFileName()
IClass
getSuperclass()
int
hashCode()
boolean
isPrivate()
boolean
isPublic()
boolean
isReferenceType()
Does 'this' refer to a reference type? If not, then it refers to a primitive type.boolean
isSyntheticImplentor()
String
toString()
-
Methods inherited from class com.ibm.wala.classLoader.SyntheticClass
getClassHierarchy, getField, getName, getReference, isAbstract, isArrayClass, isInterface
-
-
-
-
Constructor Detail
-
BypassSyntheticClass
public BypassSyntheticClass(IClass realType, IClassLoader loader, IClassHierarchy cha) throws NullPointerException, NullPointerException
- Throws:
NullPointerException
-
-
Method Detail
-
getName
public static TypeName getName(TypeReference T)
- Parameters:
T
- a type reference- Returns:
- a synthetic class name to represent the synthetic form of this type
- Throws:
IllegalArgumentException
- if T is null
-
getClassLoader
public IClassLoader getClassLoader()
Description copied from class:SyntheticClass
By default, a synthetic class is "loaded" by the primordial loader. Subclasses may override as necessary.- Specified by:
getClassLoader
in interfaceIClass
- Overrides:
getClassLoader
in classSyntheticClass
- Returns:
- the object that represents the defining class loader for this class.
- See Also:
IClass.getClassLoader()
-
getSuperclass
public IClass getSuperclass()
- Returns:
- the superclass, or null if java.lang.Object
-
getAllImplementedInterfaces
public Collection<IClass> getAllImplementedInterfaces()
- Returns:
- Collection of (IClass) interfaces this class implements, including all ancestors of interfaces immediately implemented. If this class is an interface, it returns all super-interfaces.
-
getMethod
public IMethod getMethod(Selector selector)
Description copied from interface:IClass
Finds method matching signature. Delegates to superclass if not found.- Parameters:
selector
- a method signature- Returns:
- IMethod from this class matching the signature; null if not found in this class or any superclass.
-
getField
public IField getField(Atom name)
Description copied from interface:IClass
Finds a field.
-
getSourceFileName
public String getSourceFileName()
- Specified by:
getSourceFileName
in interfaceIClass
- Overrides:
getSourceFileName
in classSyntheticClass
- Returns:
- String holding the name of the source file that defined this class, or null if none found
-
getClassInitializer
public IMethod getClassInitializer()
- Returns:
- the method that is this class's initializer, or null if none
-
getDeclaredMethods
public Collection<IMethod> getDeclaredMethods()
- Returns:
- an Iterator of the IMethods declared by this class.
-
getDeclaredInstanceFields
public Collection<IField> getDeclaredInstanceFields()
Description copied from interface:IClass
Compute the instance fields declared by this class.- Returns:
- Collection of IFields
-
getDeclaredStaticFields
public Collection<IField> getDeclaredStaticFields()
- Returns:
- Collection of IField
-
isSyntheticImplentor
public boolean isSyntheticImplentor()
-
getRealType
public IClass getRealType()
-
equals
public boolean equals(Object arg0)
- Overrides:
equals
in classSyntheticClass
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classSyntheticClass
-
getModifiers
public int getModifiers() throws UnimplementedError
Description copied from interface:IClass
Return the integer that encodes the class's modifiers, as defined by the JVM specification- Returns:
- the integer that encodes the class's modifiers, as defined by the JVM specification
- Throws:
UnimplementedError
-
isReferenceType
public boolean isReferenceType()
Description copied from interface:IClass
Does 'this' refer to a reference type? If not, then it refers to a primitive type.
-
getDirectInterfaces
public Collection<IClass> getDirectInterfaces() throws UnimplementedError
- Returns:
- Collection of (IClass) interfaces this class directly implements. If this class is an interface, returns the interfaces it immediately extends.
- Throws:
UnimplementedError
-
getAllInstanceFields
public Collection<IField> getAllInstanceFields()
Description copied from interface:IClass
Compute the instance fields declared by this class or any of its superclasses.
-
getAllStaticFields
public Collection<IField> getAllStaticFields()
Description copied from interface:IClass
Compute the static fields declared by this class or any of its superclasses.
-
getAllMethods
public Collection<IMethod> getAllMethods()
Description copied from interface:IClass
Compute the methods declared by this class or any of its superclasses.
-
getAllFields
public Collection<IField> getAllFields()
Description copied from interface:IClass
Compute the instance and static fields declared by this class or any of its superclasses.
-
isPublic
public boolean isPublic()
- Returns:
- true iff this class is public
-
isPrivate
public boolean isPrivate()
- Returns:
- true iff this class is private
-
getSource
public Reader getSource()
- Specified by:
getSource
in interfaceIClass
- Overrides:
getSource
in classSyntheticClass
- Returns:
- String representing the source file holding this class, or null if not found
-
getAnnotations
public Collection<Annotation> getAnnotations()
Description copied from interface:IClass
get annotations, if any- Specified by:
getAnnotations
in interfaceIClass
- Overrides:
getAnnotations
in classSyntheticClass
-
-