Package com.android.dx.dex.file
Class UniformListItem<T extends OffsettedItem>
java.lang.Object
com.android.dx.dex.file.Item
com.android.dx.dex.file.OffsettedItem
com.android.dx.dex.file.UniformListItem<T>
- Type Parameters:
T
- type of element contained in an instance
- All Implemented Interfaces:
Comparable<OffsettedItem>
Class that represents a contiguous list of uniform items. Each
item in the list, in particular, must have the same write size and
alignment.
This class inherits its alignment from its items, bumped up to
4
if the items have a looser alignment requirement. If
it is more than 4
, then there will be a gap after the
output list size (which is four bytes) and before the first item.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addContents
(DexFile file) Populates aDexFile
with items from within this instance.getItems()
Gets the underlying list of items.itemType()
Returns the item type for this instance.protected void
Does additional work required when placing an instance.final String
toHuman()
Gets a short human-readable string representing this instance.toString()
protected void
writeTo0
(DexFile file, AnnotatedOutput out) Performs the actual write of the contents of this instance to the given data section.Methods inherited from class com.android.dx.dex.file.OffsettedItem
compareTo, compareTo0, equals, getAbsoluteOffset, getAbsoluteOffsetOr0, getAlignment, getRelativeOffset, offsetString, place, setWriteSize, writeSize, writeTo
-
Constructor Details
-
UniformListItem
Constructs an instance. It is illegal to modify the given list once it is used to construct an instance of this class.- Parameters:
itemType
-non-null;
the type of the itemitems
-non-null and non-empty;
list of items to represent
-
-
Method Details
-
itemType
Returns the item type for this instance. -
toString
-
addContents
Populates aDexFile
with items from within this instance. This will not add an item to the file for this instance itself (which should have been done by whatever refers to this instance).Note: Subclasses must override this to do something appropriate.
- Specified by:
addContents
in classItem
- Parameters:
file
-non-null;
the file to populate
-
toHuman
Gets a short human-readable string representing this instance.- Specified by:
toHuman
in classOffsettedItem
- Returns:
non-null;
the human form
-
getItems
Gets the underlying list of items.- Returns:
non-null;
the list
-
place0
Does additional work required when placing an instance. The default implementation of this method is a no-op. If a particular class needs to do something special, then it should override this method. In particular, if this instance did not know its write size up-front, then this method is responsible for setting it.- Overrides:
place0
in classOffsettedItem
- Parameters:
addedTo
-non-null;
the section this instance has been added tooffset
->= 0;
the offset from the start of the section where this instance was placed
-
writeTo0
Performs the actual write of the contents of this instance to the given data section. This is called byOffsettedItem.writeTo(com.android.dx.dex.file.DexFile, com.android.dx.util.AnnotatedOutput)
, which will have taken care of ensuring alignment.- Specified by:
writeTo0
in classOffsettedItem
- Parameters:
file
-non-null;
the file to use for referenceout
-non-null;
where to write to
-