public abstract class BaseDumper extends Object implements ParseObserver
| Modifier and Type | Field and Description |
|---|---|
protected com.android.dx.command.dump.Args |
args
commandline parsedArgs
|
| Constructor and Description |
|---|
BaseDumper(byte[] bytes,
PrintStream out,
String filePath,
com.android.dx.command.dump.Args args)
Constructs an instance.
|
| Modifier and Type | Method and Description |
|---|---|
void |
changeIndent(int indentDelta)
Indicate that the level of indentation for a dump should increase
or decrease (positive or negative argument, respectively).
|
void |
endParsingMember(ByteArray bytes,
int offset,
String name,
String descriptor,
Member member)
Indicate that a particular member is no longer being parsed.
|
protected int |
getAt()
Gets the current dump cursor (that is, the offset of the expected
next byte to dump).
|
protected byte[] |
getBytes()
Gets the array of
bytes to process. |
protected String |
getFilePath()
Gets the filesystem/jar path of the file being dumped.
|
protected boolean |
getRawBytes()
Gets whether this dump is to include raw bytes.
|
protected boolean |
getStrictParse()
Gets whether to be strict about parsing.
|
protected int |
getWidth1()
Gets the width of the first column of output.
|
protected int |
getWidth2()
Gets the width of the second column of output.
|
protected String |
hexDump(int offset,
int len)
Constructs a hex data dump of the given portion of
bytes. |
void |
parsed(ByteArray bytes,
int offset,
int len,
String human)
Indicate that some parsing happened.
|
protected void |
print(String s)
Prints the given string to this instance's output stream.
|
protected void |
println(String s)
Prints the given string to this instance's output stream, followed
by a newline.
|
protected void |
setAt(ByteArray arr,
int offset)
Sets the dump cursor to the indicated offset in the given array.
|
void |
startParsingMember(ByteArray bytes,
int offset,
String name,
String descriptor)
Indicate that a particular member is now being parsed.
|
protected String |
twoColumns(String s1,
String s2)
Combines a pair of strings as two columns, or if this is one-column
output, format the otherwise-second column.
|
public BaseDumper(byte[] bytes,
PrintStream out,
String filePath,
com.android.dx.command.dump.Args args)
bytes - non-null; bytes of the (alleged) class file
on the left)out - non-null; where to dump tofilePath - the file path for the class, excluding any base
directory specificationpublic void changeIndent(int indentDelta)
changeIndent in interface ParseObserverindentDelta - the amount to change indentationpublic void parsed(ByteArray bytes, int offset, int len, String human)
parsed in interface ParseObserverbytes - non-null; the source that was parsedoffset - offset into bytes for what was parsedlen - number of bytes parsedhuman - non-null; human form for what was parsedpublic void startParsingMember(ByteArray bytes, int offset, String name, String descriptor)
startParsingMember in interface ParseObserverbytes - non-null; the source that is being parsedoffset - offset into bytes for the start of the
membername - non-null; name of the memberdescriptor - non-null; descriptor of the memberpublic void endParsingMember(ByteArray bytes, int offset, String name, String descriptor, Member member)
endParsingMember in interface ParseObserverbytes - non-null; the source that was parsedoffset - offset into bytes for the end of the
membername - non-null; name of the memberdescriptor - non-null; descriptor of the membermember - non-null; the actual member that was parsedprotected final int getAt()
>= 0; the dump cursorprotected final void setAt(ByteArray arr, int offset)
arr - non-null; array in questionoffset - >= 0; offset into the arrayprotected final byte[] getBytes()
bytes to process.non-null; the bytesprotected final String getFilePath()
non-null; the pathprotected final boolean getStrictParse()
protected final void print(String s)
s - null-ok; string to printprotected final void println(String s)
s - null-ok; string to printprotected final boolean getRawBytes()
protected final int getWidth1()
0
unless raw bytes are being included in the output.>= 0; the width of the first columnprotected final int getWidth2()
>= 0; the width of the second columnprotected final String hexDump(int offset, int len)
bytes.offset - offset to start dumping atlen - length to dumpnon-null; the dumpprotected final String twoColumns(String s1, String s2)
s1 - non-null; the first column's strings2 - non-null; the second column's stringnon-null; the combined outputCopyright © 2016. All Rights Reserved.