Class AstClass

java.lang.Object
com.ibm.wala.cast.loader.AstClass
All Implemented Interfaces:
IClass, IClassHierarchyDweller, ClassConstants
Direct Known Subclasses:
AstDynamicPropertyClass, JavaSourceLoaderImpl.JavaClass

public abstract class AstClass extends Object implements IClass, ClassConstants
  • Field Details

  • Constructor Details

  • Method Details

    • isInterface

      public boolean isInterface()
      Description copied from interface: IClass
      Is this class a Java interface?
      Specified by:
      isInterface in interface IClass
    • isAbstract

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

      public boolean isPublic()
      Specified by:
      isPublic in interface IClass
      Returns:
      true iff this class is public
    • isPrivate

      public boolean isPrivate()
      Specified by:
      isPrivate in interface IClass
      Returns:
      true iff this class is private
    • 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.
      Specified by:
      isReferenceType in interface IClass
    • isArrayClass

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

      public boolean isSynthetic()
      Specified by:
      isSynthetic in interface IClass
      Returns:
      true iff this class is synthetic, i.e., compiler-generated
    • getModifiers

      public int getModifiers()
      Description copied from interface: IClass
      Return the integer that encodes the class's modifiers, as defined by the JVM specification
      Specified by:
      getModifiers in interface IClass
      Returns:
      the integer that encodes the class's modifiers, as defined by the JVM specification
    • getSourcePosition

      public CAstSourcePositionMap.Position getSourcePosition()
    • getSourceURL

      public URL getSourceURL()
    • getSourceFileName

      public 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
    • getSource

      public Reader getSource()
      Specified by:
      getSource in interface IClass
      Returns:
      String representing the source file holding this class, or null if not found
    • getName

      public TypeName getName()
      Specified by:
      getName in interface IClass
      Returns:
      the TypeName for this class
    • getReference

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

      public IClassLoader getClassLoader()
      Description copied from interface: IClass
      Return the object that represents the defining class loader for this class.
      Specified by:
      getClassLoader in interface IClass
      Returns:
      the object that represents the defining class loader for this class.
    • getSuperclass

      public abstract IClass getSuperclass()
      Specified by:
      getSuperclass in interface IClass
      Returns:
      the superclass, or null if java.lang.Object
    • getDirectInterfaces

      public abstract Collection<IClass> getDirectInterfaces()
      Specified by:
      getDirectInterfaces in interface IClass
      Returns:
      Collection of (IClass) interfaces this class directly implements. If this class is an interface, returns the interfaces it immediately extends.
    • getAllImplementedInterfaces

      public Collection<IClass> getAllImplementedInterfaces()
      Specified by:
      getAllImplementedInterfaces in interface IClass
      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.
    • getClassInitializer

      public IMethod getClassInitializer()
      Specified by:
      getClassInitializer in interface IClass
      Returns:
      the method that is this class's initializer, or null if none
    • getMethod

      public IMethod getMethod(Selector selector)
      Description copied from interface: IClass
      Finds method matching signature. Delegates to superclass if not found.
      Specified by:
      getMethod in interface IClass
      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.
      Specified by:
      getField in interface IClass
    • getField

      public IField getField(Atom name, TypeName type)
      Description copied from interface: IClass
      Finds a field, given a name and a type. Returns null if not found.
      Specified by:
      getField in interface IClass
    • getDeclaredMethods

      public Collection<? extends IMethod> getDeclaredMethods()
      Specified by:
      getDeclaredMethods in interface IClass
      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.
      Specified by:
      getDeclaredInstanceFields in interface IClass
      Returns:
      Collection of IFields
    • getDeclaredStaticFields

      public Collection<IField> getDeclaredStaticFields()
      Specified by:
      getDeclaredStaticFields in interface IClass
      Returns:
      Collection of IField
    • getAllInstanceFields

      public Collection<IField> getAllInstanceFields()
      Description copied from interface: IClass
      Compute the instance fields declared by this class or any of its superclasses.
      Specified by:
      getAllInstanceFields in interface IClass
    • getAllStaticFields

      public Collection<IField> getAllStaticFields()
      Description copied from interface: IClass
      Compute the static fields declared by this class or any of its superclasses.
      Specified by:
      getAllStaticFields in interface IClass
    • 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.
      Specified by:
      getAllFields in interface IClass
    • getAllMethods

      public Collection<? extends IMethod> getAllMethods()
      Description copied from interface: IClass
      Compute the methods declared by this class or any of its superclasses.
      Specified by:
      getAllMethods in interface IClass