Interface Field

All Superinterfaces:
Annotatable, Comparable<FieldReference>, FieldReference, Member, Reference
All Known Implementing Classes:
BuilderField, DexBackedField, FieldRewriter.RewrittenField, ImmutableField, ReflectionField

public interface Field extends FieldReference, Member
This class represents a specific field definition in a class. It also acts as a FieldReference to itself. Any equality/comparison is based on its identity as a FieldReference, and shouldn't take into account any non-FieldReference specifics of this field.
  • Method Details

    • getDefiningClass

      @Nonnull String getDefiningClass()
      Gets the type of the class that defines this field.
      Specified by:
      getDefiningClass in interface FieldReference
      Specified by:
      getDefiningClass in interface Member
      Returns:
      The type of the class that defines this field
    • getName

      @Nonnull String getName()
      Gets the name of this field.
      Specified by:
      getName in interface FieldReference
      Specified by:
      getName in interface Member
      Returns:
      The name of this field
    • getType

      @Nonnull String getType()
      Gets the type of this field.
      Specified by:
      getType in interface FieldReference
      Returns:
      The type of this field
    • getAccessFlags

      int getAccessFlags()
      Gets the access flags for this field. This will be a combination of the AccessFlags.* flags that are marked as compatible for use with a field.
      Specified by:
      getAccessFlags in interface Member
      Returns:
      The access flags for this field
    • getInitialValue

      @Nullable EncodedValue getInitialValue()
      Gets the initial value for this field, if available. Only static field may have an initial value set, but are not required to have an initial value.
      Returns:
      The initial value for this field, or null if this field is not a static field, or if this static field does not have an initial value.
    • getAnnotations

      @Nonnull Set<? extends Annotation> getAnnotations()
      Gets a set of the annotations that are applied to this field. 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 field
    • getHiddenApiRestrictions

      @Nonnull Set<HiddenApiRestriction> getHiddenApiRestrictions()
      Gets the hidden api restrictions for this field. This will contain at most 1 normal flag (with isDomainSpecificApiFlag() = false), and 1 domain-specific api flag (with isDomainSpecificApiFlag() = true)
      Specified by:
      getHiddenApiRestrictions in interface Member
      Returns:
      A set of the hidden api restrictions for this field.