|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.android.dx.rop.code.Insn
com.android.dx.rop.code.ThrowingInsn
public final class ThrowingInsn
Instruction which possibly throws. The successors list in the
basic block an instance of this class is inside corresponds in-order to
the list of exceptions handled by this instruction, with the
no-exception case appended as the final target.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class com.android.dx.rop.code.Insn |
|---|
Insn.BaseVisitor, Insn.Visitor |
| Constructor Summary | |
|---|---|
ThrowingInsn(Rop opcode,
SourcePosition position,
RegisterSpecList sources,
TypeList catches)
Constructs an instance. |
|
| Method Summary | |
|---|---|
void |
accept(Insn.Visitor visitor)
Calls the appropriate method on the given visitor, depending on the class of this instance. |
TypeList |
getCatches()
Gets the list of possibly-caught exceptions. |
String |
getInlineString()
Gets an "inline" string portion for toHuman(), if available. |
static String |
toCatchString(TypeList catches)
Gets the string form of a register spec list to be used as a catches list. |
Insn |
withAddedCatch(Type type)
Returns an instance that is just like this one, except that it has a catch list with the given item appended to the end. |
Insn |
withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except with new result and source registers. |
Insn |
withRegisterOffset(int delta)
Returns an instance that is just like this one, except that all register references have been offset by the given delta. |
| Methods inherited from class com.android.dx.rop.code.Insn |
|---|
canThrow, contentEquals, copy, equals, getLocalAssignment, getOpcode, getPosition, getResult, getSources, hashCode, toHuman, toHumanWithInline, toString, toStringWithInline, withSourceLiteral |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public ThrowingInsn(Rop opcode,
SourcePosition position,
RegisterSpecList sources,
TypeList catches)
opcode - non-null; the opcodeposition - non-null; source positionsources - non-null; specs for all the sourcescatches - non-null; list of exceptions caught| Method Detail |
|---|
public static String toCatchString(TypeList catches)
catches - non-null; the catches list
non-null; the string formpublic String getInlineString()
getInlineString in class Insnnull-ok; if non-null, the inline text for toHuman()public TypeList getCatches()
StdTypeList.EMPTY if this instruction has no handlers,
which can be either if this instruction can't possibly
throw or if it merely doesn't handle any of its possible
exceptions. To determine whether this instruction can throw,
use Insn.canThrow().
getCatches in class Insnnon-null; the catches listpublic void accept(Insn.Visitor visitor)
accept in class Insnvisitor - non-null; the visitor to call onpublic Insn withAddedCatch(Type type)
Insn.canThrow().
withAddedCatch in class Insntype - non-null; type to append to the catch list
non-null; an appropriately-constructed instancepublic Insn withRegisterOffset(int delta)
withRegisterOffset in class Insndelta - the amount to offset register references by
non-null; an appropriately-constructed instance
public Insn withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
withNewRegisters in class Insnresult - null-ok; new result registersources - non-null; new sources registers
non-null; an appropriately-constructed instance
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||