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 Details

  • Method Details

    • 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 interface IClass
      Overrides:
      getClassLoader in class SyntheticClass
      Returns:
      the object that represents the defining class loader for this class.
    • 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.
      See Also:
    • getSourceFileName

      public String getSourceFileName()
      Specified by:
      getSourceFileName in interface IClass
      Overrides:
      getSourceFileName in class SyntheticClass
      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<? extends 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()
      See Also:
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getRealType

      public IClass getRealType()
    • equals

      public boolean equals(Object arg0)
      Overrides:
      equals in class SyntheticClass
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class SyntheticClass
    • 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<? extends 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