Class CodeItem
java.lang.Object
com.android.dx.dex.file.Item
com.android.dx.dex.file.OffsettedItem
com.android.dx.dex.file.CodeItem
- All Implemented Interfaces:
Comparable<OffsettedItem>
Representation of all the parts needed for concrete methods in a
dex file.-
Constructor Summary
ConstructorsConstructorDescriptionCodeItem(CstMethodRef ref, DalvCode code, boolean isStatic, TypeList throwsList) Constructs an instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddContents(DexFile file) Populates aDexFilewith items from within this instance.voiddebugPrint(PrintWriter out, String prefix, boolean verbose) Does a human-friendly dump of this instance.getRef()Gets the reference to the method this instance implements.itemType()Returns the item type for this instance.protected voidDoes additional work required when placing an instance.toHuman()Gets a short human-readable string representing this instance.toString()protected voidwriteTo0(DexFile file, AnnotatedOutput out) Performs the actual write of the contents of this instance to the given data section.Methods inherited from class OffsettedItem
compareTo, compareTo0, equals, getAbsoluteOffset, getAbsoluteOffsetOr0, getAlignment, getRelativeOffset, offsetString, place, setWriteSize, writeSize, writeTo
-
Constructor Details
-
CodeItem
Constructs an instance.- Parameters:
ref-non-null;method that this code implementscode-non-null;the underlying codeisStatic- whether this instance is for astaticmethodthrowsList-non-null;list of possibly-thrown exceptions, just used in generating debugging output (listings)
-
-
Method Details
-
itemType
-
addContents
Populates aDexFilewith 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:
addContentsin classItem- Parameters:
file-non-null;the file to populate
-
toString
-
toHuman
Gets a short human-readable string representing this instance.- Specified by:
toHumanin classOffsettedItem- Returns:
non-null;the human form
-
getRef
Gets the reference to the method this instance implements.- Returns:
non-null;the method reference
-
debugPrint
Does a human-friendly dump of this instance.- Parameters:
out-non-null;where to dumpprefix-non-null;per-line prefix to useverbose- whether to be verbose with the output
-
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:
place0in 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(DexFile, AnnotatedOutput), which will have taken care of ensuring alignment.- Specified by:
writeTo0in classOffsettedItem- Parameters:
file-non-null;the file to use for referenceout-non-null;where to write to
-