|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.android.dx.util.MutabilityControl
com.android.dx.rop.code.LocalVariableInfo
public final class LocalVariableInfo
Container for local variable information for a particular RopMethod.
| Constructor Summary | |
|---|---|
LocalVariableInfo(RopMethod method)
Constructs an instance. |
|
| Method Summary | |
|---|---|
void |
addAssignment(Insn insn,
RegisterSpec spec)
Adds an assignment association for the given instruction and register spec. |
void |
debugDump()
|
RegisterSpec |
getAssignment(Insn insn)
Gets the named register being assigned by the given instruction, if previously stored in this instance. |
int |
getAssignmentCount()
Gets the number of assignments recorded by this instance. |
RegisterSpecSet |
getStarts(BasicBlock block)
Gets the register set associated with the start of the given block. |
RegisterSpecSet |
getStarts(int label)
Gets the register set associated with the start of the block with the given label. |
boolean |
mergeStarts(int label,
RegisterSpecSet specs)
Merges the given register set into the set for the block with the given label. |
RegisterSpecSet |
mutableCopyOfStarts(int label)
Gets a mutable copy of the register set associated with the start of the block with the given label. |
void |
setStarts(int label,
RegisterSpecSet specs)
Sets the register set associated with the start of the block with the given label. |
| Methods inherited from class com.android.dx.util.MutabilityControl |
|---|
isImmutable, isMutable, setImmutable, throwIfImmutable, throwIfMutable |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public LocalVariableInfo(RopMethod method)
method - non-null; the method being represented by this instance| Method Detail |
|---|
public void setStarts(int label,
RegisterSpecSet specs)
label - >= 0; the block labelspecs - non-null; the register set to associate with the block
public boolean mergeStarts(int label,
RegisterSpecSet specs)
setStarts(int, com.android.dx.rop.code.RegisterSpecSet). Otherwise, this will
merge the two sets and call setStarts(int, com.android.dx.rop.code.RegisterSpecSet) on the result of the
merge.
label - >= 0; the block labelspecs - non-null; the register set to merge into the start set
for the block
true if the merge resulted in an actual change
to the associated set (including storing one for the first time) or
false if there was no changepublic RegisterSpecSet getStarts(int label)
label - >= 0; the block label
non-null; the associated register setpublic RegisterSpecSet getStarts(BasicBlock block)
getStarts(block.getLabel()).
block - non-null; the block in question
non-null; the associated register setpublic RegisterSpecSet mutableCopyOfStarts(int label)
RegisterSpecSet of appropriate
max size if there is not yet any set associated with the block.
label - >= 0; the block label
non-null; the associated register set
public void addAssignment(Insn insn,
RegisterSpec spec)
TypeBearer (such as a constant value).
insn - non-null; the instruction in questionspec - non-null; the associated register specpublic RegisterSpec getAssignment(Insn insn)
insn - non-null; instruction in question
null-ok; the named register being assigned, if anypublic int getAssignmentCount()
>= 0; the number of assignmentspublic void debugDump()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||