Class ProtoIdsSection


public final class ProtoIdsSection extends UniformItemSection
Proto (method prototype) identifiers list section of a .dex file.
  • Constructor Details

    • ProtoIdsSection

      public ProtoIdsSection(DexFile file)
      Constructs an instance. The file offset is initially unknown.
      Parameters:
      file - non-null; file that this instance is part of
  • Method Details

    • items

      public Collection<? extends Item> items()
      Gets the collection of all the items in this section. It is not valid to attempt to change the returned list.
      Specified by:
      items in class Section
      Returns:
      non-null; the items
    • get

      public IndexedItem get(Constant cst)
      Gets the item corresponding to the given Constant. This will throw an exception if the constant is not found, including if this instance isn't the sort that maps constants to IndexedItem instances.
      Specified by:
      get in class UniformItemSection
      Parameters:
      cst - non-null; constant to look for
      Returns:
      non-null; the corresponding item found in this instance
    • writeHeaderPart

      public void writeHeaderPart(AnnotatedOutput out)
      Writes the portion of the file header that refers to this instance.
      Parameters:
      out - non-null; where to write
    • intern

      public ProtoIdItem intern(Prototype prototype)
      Interns an element into this instance.
      Parameters:
      prototype - non-null; the prototype to intern
      Returns:
      non-null; the interned reference
    • indexOf

      public int indexOf(Prototype prototype)
      Gets the index of the given prototype, which must have been added to this instance.
      Parameters:
      prototype - non-null; the prototype to look up
      Returns:
      >= 0; the reference's index
    • orderItems

      protected void orderItems()
      Alters or picks the order for items in this instance if desired, so that subsequent calls to Section.items() will yield a so-ordered collection. If the items in this instance are indexed, then this method should also assign indices.
      Specified by:
      orderItems in class UniformItemSection