|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.android.dx.dex.code.OutputCollector
public final class OutputCollector
Destination for DalvInsn instances being output. This class
receives and collects instructions in two pieces — a primary
list and a suffix (generally consisting of adjunct data referred to
by the primary list, such as switch case tables) — which it
merges and emits back out in the form of a DalvInsnList
instance.
| Constructor Summary | |
|---|---|
OutputCollector(DexOptions dexOptions,
int initialCapacity,
int suffixInitialCapacity,
int regCount)
Constructs an instance. |
|
| Method Summary | |
|---|---|
void |
add(DalvInsn insn)
Adds an instruction to the output. |
void |
addSuffix(DalvInsn insn)
Adds an instruction to the output suffix. |
OutputFinisher |
getFinisher()
Gets the results of all the calls on this instance, in the form of an OutputFinisher. |
void |
reverseBranch(int which,
CodeAddress newTarget)
Reverses a branch which is buried a given number of instructions backward in the output. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public OutputCollector(DexOptions dexOptions,
int initialCapacity,
int suffixInitialCapacity,
int regCount)
dexOptions - non-null; options for dex outputinitialCapacity - >= 0; initial capacity of the output listsuffixInitialCapacity - >= 0; initial capacity of the output
suffixregCount - >= 0; register count for the method| Method Detail |
|---|
public void add(DalvInsn insn)
insn - non-null; the instruction to add
public void reverseBranch(int which,
CodeAddress newTarget)
which - how many instructions back to find the branch;
0 is the most recently added instruction,
1 is the instruction before that, etc.newTarget - non-null; the new target for the reversed branchpublic void addSuffix(DalvInsn insn)
insn - non-null; the instruction to addpublic OutputFinisher getFinisher()
OutputFinisher.
non-null; the output finisher
UnsupportedOperationException - if this method has
already been called
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||