Package org.jf.dexlib2.iface
Interface MethodImplementation
-
- All Known Implementing Classes:
CDexBackedMethodImplementation
,DexBackedMethodImplementation
,ImmutableMethodImplementation
,MethodImplementationRewriter.RewrittenMethodImplementation
,MutableMethodImplementation
public interface MethodImplementation
This class represents the implementation details of a method.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.Iterable<? extends DebugItem>
getDebugItems()
Get a list of debug items for this method.java.lang.Iterable<? extends Instruction>
getInstructions()
Gets the instructions in this method.int
getRegisterCount()
Gets the number of registers in this method.java.util.List<? extends TryBlock<? extends ExceptionHandler>>
getTryBlocks()
Gets a list of the try blocks defined for this method.
-
-
-
Method Detail
-
getRegisterCount
int getRegisterCount()
Gets the number of registers in this method.- Returns:
- The number of register in this method.
-
getInstructions
@Nonnull java.lang.Iterable<? extends Instruction> getInstructions()
Gets the instructions in this method.- Returns:
- An Iterable of the instructions in this method
-
getTryBlocks
@Nonnull java.util.List<? extends TryBlock<? extends ExceptionHandler>> getTryBlocks()
Gets a list of the try blocks defined for this method. Try blocks may overlap freely, and do not need to be strictly nested, as in java. This is a more relaxed requirement than specified by the dex format, where try blocks may not overlap, and must be specified in ascending order. When writing to a dex file, the try blocks will be massaged into the appropriate format. In any region where there are overlapping try blocks, set of exception handlers for the overlapping region will consist of the union of all handlers in any try block that covers that region. If multiple overlapping try blocks define a handler for the same exception type, or define a catch-all handler, then those duplicate handlers must use the same handler offset.- Returns:
- A list of the TryBlock items
-
getDebugItems
@Nonnull java.lang.Iterable<? extends DebugItem> getDebugItems()
Get a list of debug items for this method. This generally matches the semantics of the debug_info_item in the dex specification, although in an easier to digest form. The addresses of the DebugItems in the returned list will be in non-descending order.- Returns:
- A list of DebugInfo items
-
-