public final class ClassDataItem extends OffsettedItem
dex file, as opposed to a random-access form.| Constructor and Description |
|---|
ClassDataItem(CstType thisClass)
Constructs an instance.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addContents(DexFile file)
Populates a
DexFile with items from within this instance. |
void |
addDirectMethod(EncodedMethod method)
Adds a direct (
static and/or private) method. |
void |
addInstanceField(EncodedField field)
Adds an instance field.
|
void |
addStaticField(EncodedField field,
Constant value)
Adds a static field.
|
void |
addVirtualMethod(EncodedMethod method)
Adds a virtual method.
|
void |
debugPrint(java.io.Writer out,
boolean verbose)
Prints out the contents of this instance, in a debugging-friendly
way.
|
java.util.ArrayList<EncodedMethod> |
getMethods()
Gets all the methods in this class.
|
CstArray |
getStaticValuesConstant()
|
boolean |
isEmpty()
Returns whether this instance is empty.
|
ItemType |
itemType()
Returns the item type for this instance.
|
protected void |
place0(Section addedTo,
int offset)
Does additional work required when placing an instance.
|
java.lang.String |
toHuman()
Gets a short human-readable string representing this instance.
|
void |
writeTo0(DexFile file,
AnnotatedOutput out)
Performs the actual write of the contents of this instance to
the given data section.
|
compareTo, compareTo0, equals, getAbsoluteOffset, getAbsoluteOffsetOr0, getAlignment, getRelativeOffset, offsetString, place, setWriteSize, writeSize, writeTopublic ClassDataItem(CstType thisClass)
thisClass - non-null; what class this data is for, just
for listing generationpublic ItemType itemType()
public java.lang.String toHuman()
toHuman in class OffsettedItemnon-null; the human formpublic boolean isEmpty()
true if this instance is empty or
false if at least one element has been added to itpublic void addStaticField(EncodedField field, Constant value)
field - non-null; the field to addvalue - null-ok; initial value for the field, if anypublic void addInstanceField(EncodedField field)
field - non-null; the field to addpublic void addDirectMethod(EncodedMethod method)
static and/or private) method.method - non-null; the method to addpublic void addVirtualMethod(EncodedMethod method)
method - non-null; the method to addpublic java.util.ArrayList<EncodedMethod> getMethods()
non-null; list of all methodspublic void debugPrint(java.io.Writer out,
boolean verbose)
out - non-null; where to output toverbose - whether to be verbose with the outputpublic void addContents(DexFile file)
DexFile 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.
addContents in class Itemfile - non-null; the file to populatepublic CstArray getStaticValuesConstant()
null-ok; the corresponding constant or null if
there are no values to encodeprotected void place0(Section addedTo, int offset)
place0 in class OffsettedItemaddedTo - non-null; the section this instance has been added tooffset - >= 0; the offset from the start of the
section where this instance was placedpublic void writeTo0(DexFile file, AnnotatedOutput out)
OffsettedItem.writeTo(com.android.dx.dex.file.DexFile, com.android.dx.util.AnnotatedOutput),
which will have taken care of ensuring alignment.writeTo0 in class OffsettedItemfile - non-null; the file to use for referenceout - non-null; where to write toCopyright © 2020. All Rights Reserved.