com.ibm.wala.classLoader
Class SyntheticClass

java.lang.Object
  extended by com.ibm.wala.classLoader.SyntheticClass
All Implemented Interfaces:
IClass, IClassHierarchyDweller
Direct Known Subclasses:
BypassSyntheticClass, FakeRootClass

public abstract class SyntheticClass
extends java.lang.Object
implements IClass

A Class that exists nowhere in bytecode.


Constructor Summary
SyntheticClass(TypeReference T, ClassHierarchy cha)
           
 
Method Summary
 ClassHierarchy getClassHierarchy()
           
 IClassLoader getClassLoader()
          By default, a synthetic class is "loaded" by the primordial loader.
 TypeReference getReference()
           
 java.lang.String getSourceFileName()
           
 boolean isAbstract()
           
 boolean isArrayClass()
           
 boolean isInterface()
          Is this class a Java interface?
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.ibm.wala.classLoader.IClass
getAllAncestorInterfaces, getAllFields, getAllImplementedInterfaces, getAllInstanceFields, getAllMethods, getAllStaticFields, getClassInitializer, getDeclaredInstanceFields, getDeclaredMethods, getDeclaredStaticFields, getDirectInterfaces, getField, getMethod, getModifiers, getName, getSuperclass, isPublic, isReferenceType
 

Constructor Detail

SyntheticClass

public SyntheticClass(TypeReference T,
                      ClassHierarchy cha)
Parameters:
T - type reference describing this class
Method Detail

getClassLoader

public IClassLoader getClassLoader()
By default, a synthetic class is "loaded" by the primordial loader. Subclasses may override as necessary.

Specified by:
getClassLoader in interface IClass
Returns:
the object that represents the defining class loader for this class.
See Also:
IClass.getClassLoader()

isInterface

public boolean isInterface()
Description copied from interface: IClass
Is this class a Java interface?

Specified by:
isInterface in interface IClass
Returns:
boolean

isAbstract

public boolean isAbstract()
Specified by:
isAbstract in interface IClass
Returns:
true iff this class is abstract

getReference

public TypeReference getReference()
Specified by:
getReference in interface IClass
Returns:
canonical TypeReference corresponding to this class

getSourceFileName

public java.lang.String getSourceFileName()
Specified by:
getSourceFileName in interface IClass
Returns:
String holding the name of the source file that defined this class, or null if none found

isArrayClass

public boolean isArrayClass()
Specified by:
isArrayClass in interface IClass
Returns:
true iff the class is an array class.

getClassHierarchy

public ClassHierarchy getClassHierarchy()
Specified by:
getClassHierarchy in interface IClassHierarchyDweller