Class BypassSyntheticClass
java.lang.Object
com.ibm.wala.classLoader.SyntheticClass
com.ibm.wala.ipa.summaries.BypassSyntheticClass
- All Implemented Interfaces:
IClass, IClassHierarchyDweller
A synthetic implementation of a class
-
Constructor Summary
ConstructorsConstructorDescriptionBypassSyntheticClass(IClass realType, IClassLoader loader, IClassHierarchy cha) -
Method Summary
Modifier and TypeMethodDescriptionbooleanCompute the instance and static fields declared by this class or any of its superclasses.Compute the instance fields declared by this class or any of its superclasses.Collection<? extends IMethod> Compute the methods declared by this class or any of its superclasses.Compute the static fields declared by this class or any of its superclasses.By default, a synthetic class is "loaded" by the primordial loader.Compute the instance fields declared by this class.Collection<? extends IMethod> Finds a field.Finds method matching signature.intReturn the integer that encodes the class's modifiers, as defined by the JVM specificationstatic TypeNameinthashCode()booleanbooleanisPublic()booleanDoes 'this' refer to a reference type? If not, then it refers to a primitive type.booleantoString()Methods inherited from class SyntheticClass
getAnnotations, getClassHierarchy, getField, getName, getReference, getSource, isAbstract, isArrayClass, isInterface, isSyntheticModifier and TypeMethodDescriptionget annotations, if anywe assume synthetic classes do not need to have multiple fields with the same name.getName()booleanbooleanbooleanIs this class a Java interface?booleanThese classes are generated by WALA, not by any compiler, therefore it always returns false
-
Constructor Details
-
BypassSyntheticClass
public BypassSyntheticClass(IClass realType, IClassLoader loader, IClassHierarchy cha) throws NullPointerException - Throws:
NullPointerException
-
-
Method Details
-
getName
- 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
Description copied from class:SyntheticClassBy default, a synthetic class is "loaded" by the primordial loader. Subclasses may override as necessary.- Specified by:
getClassLoaderin interfaceIClass- Overrides:
getClassLoaderin classSyntheticClass- Returns:
- the object that represents the defining class loader for this class.
-
getSuperclass
- Returns:
- the superclass, or null if java.lang.Object
-
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
Description copied from interface:IClassFinds 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
-
getSourceFileName
- Specified by:
getSourceFileNamein interfaceIClass- Overrides:
getSourceFileNamein classSyntheticClass- Returns:
- String holding the name of the source file that defined this class, or null if none found
-
getClassInitializer
- Returns:
- the method that is this class's initializer, or null if none
-
getDeclaredMethods
- Returns:
- an Iterator of the IMethods declared by this class.
-
getDeclaredInstanceFields
Description copied from interface:IClassCompute the instance fields declared by this class.- Returns:
- Collection of IFields
-
getDeclaredStaticFields
- Returns:
- Collection of IField
-
isSyntheticImplentor
public boolean isSyntheticImplentor()- See Also:
-
toString
-
getRealType
-
equals
- Overrides:
equalsin classSyntheticClass
-
hashCode
public int hashCode()- Overrides:
hashCodein classSyntheticClass
-
getModifiers
Description copied from interface:IClassReturn 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:IClassDoes 'this' refer to a reference type? If not, then it refers to a primitive type. -
getDirectInterfaces
- Returns:
- Collection of (IClass) interfaces this class directly implements. If this class is an interface, returns the interfaces it immediately extends.
- Throws:
UnimplementedError
-
getAllInstanceFields
Description copied from interface:IClassCompute the instance fields declared by this class or any of its superclasses. -
getAllStaticFields
Description copied from interface:IClassCompute the static fields declared by this class or any of its superclasses. -
getAllMethods
Description copied from interface:IClassCompute the methods declared by this class or any of its superclasses. -
getAllFields
Description copied from interface:IClassCompute 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
-