Package com.android.dx.dex.file
Class AnnotationItem
java.lang.Object
com.android.dx.dex.file.Item
com.android.dx.dex.file.OffsettedItem
com.android.dx.dex.file.AnnotationItem
- All Implemented Interfaces:
Comparable<OffsettedItem>
Single annotation, which consists of a type and a set of name-value
element pairs.
-
Constructor Summary
ConstructorDescriptionAnnotationItem
(Annotation annotation, DexFile dexFile) Constructs an instance. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addContents
(DexFile file) Populates aDexFile
with items from within this instance.void
annotateTo
(AnnotatedOutput out, String prefix) Write a (listing file) annotation for this instance to the given output, that consumes no bytes of output.protected int
compareTo0
(OffsettedItem other) Compares this instance to another which is guaranteed to be of the same class.int
hashCode()
itemType()
Returns the item type for this instance.protected void
Does additional work required when placing an instance.static void
sortByTypeIdIndex
(AnnotationItem[] array) Sorts an array of instances, in place, by type id index, ignoring all other aspects of the elements.toHuman()
Gets a short human-readable string representing this instance.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, equals, getAbsoluteOffset, getAbsoluteOffsetOr0, getAlignment, getRelativeOffset, offsetString, place, setWriteSize, writeSize, writeTo
-
Constructor Details
-
AnnotationItem
Constructs an instance.- Parameters:
annotation
-non-null;
annotation to representdexFile
-non-null;
dex output
-
-
Method Details
-
sortByTypeIdIndex
Sorts an array of instances, in place, by type id index, ignoring all other aspects of the elements. This is only valid to use after type id indices are known.- Parameters:
array
-non-null;
array to sort
-
itemType
Returns the item type for this instance. -
hashCode
public int hashCode() -
compareTo0
Compares this instance to another which is guaranteed to be of the same class. The default implementation of this method is to throw an exception (unsupported operation). If a particular class needs to actually sort, then it should override this method.- Overrides:
compareTo0
in classOffsettedItem
- Parameters:
other
-non-null;
instance to compare to- Returns:
-1
,0
, or1
, depending on the sort order of this instance and the other
-
toHuman
Gets a short human-readable string representing this instance.- Specified by:
toHuman
in classOffsettedItem
- Returns:
non-null;
the human form
-
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
-
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
-
annotateTo
Write a (listing file) annotation for this instance to the given output, that consumes no bytes of output. This is for annotating a reference to this instance at the point of the reference.- Parameters:
out
-non-null;
where to output toprefix
-non-null;
prefix for each line of output
-
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
-