Interface ClassDef

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      int getAccessFlags()
      Gets the access flags for this class.
      java.util.Set<? extends Annotation> getAnnotations()
      Gets a set of the annotations that are applied to this class.
      java.lang.Iterable<? extends Method> getDirectMethods()
      Gets the direct methods that are defined by this class.
      java.lang.Iterable<? extends Field> getFields()
      Gets all the fields that are defined by this class.
      java.lang.Iterable<? extends Field> getInstanceFields()
      Gets the instance fields that are defined by this class.
      java.util.List<java.lang.String> getInterfaces()
      Gets a list of the interfaces that this class implements.
      java.lang.Iterable<? extends Method> getMethods()
      Gets all the methods that are defined by this class.
      java.lang.String getSourceFile()
      Gets the name of the primary source file that this class is defined in, if available.
      java.lang.Iterable<? extends Field> getStaticFields()
      Gets the static fields that are defined by this class.
      java.lang.String getSuperclass()
      Gets the superclass of this class.
      java.lang.String getType()
      Gets the class type.
      java.lang.Iterable<? extends Method> getVirtualMethods()
      Gets the virtual methods that are defined by this class.
      • Methods inherited from interface java.lang.CharSequence

        charAt, chars, codePoints, length, subSequence, toString
    • Method Detail

      • getType

        @Nonnull
        java.lang.String getType()
        Gets the class type. This will be a type descriptor per the dex file specification.
        Specified by:
        getType in interface TypeReference
        Returns:
        The class type
      • getAccessFlags

        int getAccessFlags()
        Gets the access flags for this class. This will be a combination of the AccessFlags.* flags that are marked as compatible for use with a class.
        Returns:
        The access flags for this class
      • getSuperclass

        @Nullable
        java.lang.String getSuperclass()
        Gets the superclass of this class. This will only be null if this is the base java.lang.Object class.
        Returns:
        The superclass of this class
      • getInterfaces

        @Nonnull
        java.util.List<java.lang.String> getInterfaces()
        Gets a list of the interfaces that this class implements.
        Returns:
        A list of the interfaces that this class implements
      • getSourceFile

        @Nullable
        java.lang.String getSourceFile()
        Gets the name of the primary source file that this class is defined in, if available. This will be the default source file associated with all methods defined in this class. This can be overridden for sections of an individual method with the SetSourceFile debug item.
        Returns:
        The name of the primary source file for this class, or null if not available
      • getAnnotations

        @Nonnull
        java.util.Set<? extends Annotation> getAnnotations()
        Gets a set of the annotations that are applied to this class. The annotations in the returned set are guaranteed to have unique types.
        Specified by:
        getAnnotations in interface Annotatable
        Returns:
        A set of the annotations that are applied to this class
      • getStaticFields

        @Nonnull
        java.lang.Iterable<? extends Field> getStaticFields()
        Gets the static fields that are defined by this class. The static fields that are returned must have no duplicates.
        Returns:
        The static fields that are defined by this class
      • getInstanceFields

        @Nonnull
        java.lang.Iterable<? extends Field> getInstanceFields()
        Gets the instance fields that are defined by this class. The instance fields that are returned must have no duplicates.
        Returns:
        The instance fields that are defined by this class
      • getFields

        @Nonnull
        java.lang.Iterable<? extends Field> getFields()
        Gets all the fields that are defined by this class. This is a convenience method that combines getStaticFields() and getInstanceFields() The returned fields may be in any order. I.e. It's not safe to assume that all instance fields will come after all static fields. Note that there typically should not be any duplicate fields between the two, but some versions of dalvik inadvertently allow duplicate static/instance fields, and are supported here for completeness
        Returns:
        A set of the fields that are defined by this class
      • getDirectMethods

        @Nonnull
        java.lang.Iterable<? extends Method> getDirectMethods()
        Gets the direct methods that are defined by this class. The direct methods that are returned must have no duplicates.
        Returns:
        The direct methods that are defined by this class.
      • getVirtualMethods

        @Nonnull
        java.lang.Iterable<? extends Method> getVirtualMethods()
        Gets the virtual methods that are defined by this class. The virtual methods that are returned must have no duplicates.
        Returns:
        The virtual methods that are defined by this class.
      • getMethods

        @Nonnull
        java.lang.Iterable<? extends Method> getMethods()
        Gets all the methods that are defined by this class. This is a convenience method that combines getDirectMethods() and getVirtualMethods(). The returned methods may be in any order. I.e. It's not safe to assume that all virtual methods will come after all direct methods. Note that there typically should not be any duplicate methods between the two, but some versions of dalvik inadvertently allow duplicate direct/virtual methods, and are supported here for completeness
        Returns:
        An iterable of the methods that are defined by this class.