Class AndroidModelClass

java.lang.Object
com.ibm.wala.classLoader.SyntheticClass
com.ibm.wala.dalvik.ipa.callgraph.androidModel.AndroidModelClass
All Implemented Interfaces:
IClass, IClassHierarchyDweller

public final class AndroidModelClass extends SyntheticClass
Encapsulates synthetic methods for modeling Androids lifecycle.

In the generated code this class may be found as "Lcom/ibm/wala/AndroidModelClass"

Author:
Tobias Blaschke <code@tobiasblaschke.de> TODO: Move this class into an other loader? Currently: Primordial
See Also:
  • Field Details

    • ANDROID_MODEL_CLASS

      public static final TypeReference ANDROID_MODEL_CLASS
  • Method Details

    • getInstance

      public static AndroidModelClass getInstance(IClassHierarchy cha)
    • containsMethod

      public boolean containsMethod(Selector selector)
    • 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.
    • getDeclaredMethods

      public Collection<IMethod> getDeclaredMethods()
      Returns:
      an Iterator of the IMethods declared by this class.
    • getAllMethods

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

      public void addMethod(IMethod method)
    • getClassInitializer

      public IMethod getClassInitializer()
      Returns:
      the method that is this class's initializer, or null if none
    • getField

      public IField getField(Atom name)
      Description copied from interface: IClass
      Finds a field.
    • putField

      public void putField(Atom name, TypeReference type)
    • getAllFields

      public Collection<IField> getAllFields()
      This class does not contain any fields.
    • getDeclaredStaticFields

      public Collection<IField> getDeclaredStaticFields()
      This class does not contain any fields.
      Returns:
      Collection of IField
    • getAllStaticFields

      public Collection<IField> getAllStaticFields()
      This class does not contain any fields.
    • getDeclaredInstanceFields

      public Collection<IField> getDeclaredInstanceFields() throws UnsupportedOperationException
      This class does not contain any fields.
      Returns:
      Collection of IFields
      Throws:
      UnsupportedOperationException
    • getAllInstanceFields

      public Collection<IField> getAllInstanceFields()
      This class does not contain any fields.
    • getModifiers

      public int getModifiers()
      This is a public final class.
      Returns:
      the integer that encodes the class's modifiers, as defined by the JVM specification
    • isPublic

      public boolean isPublic()
      Returns:
      true iff this class is public
    • isPrivate

      public boolean isPrivate()
      Returns:
      true iff this class is private
    • isInterface

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

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

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

      public IClass getSuperclass() throws UnsupportedOperationException
      This is a subclass of the root class.
      Returns:
      the superclass, or null if java.lang.Object
      Throws:
      UnsupportedOperationException
    • getAllImplementedInterfaces

      public Collection<IClass> getAllImplementedInterfaces()
      This class does not impement any interfaces.
      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.
    • getDirectInterfaces

      public Collection<IClass> getDirectInterfaces()
      Returns:
      Collection of (IClass) interfaces this class directly implements. If this class is an interface, returns the interfaces it immediately extends.
    • 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.