Top Description Fields Constructors Methods
org.droidparts.dexmaker.dx.rop.code

public final Class LocalVariableExtractor

extends Object
Class Inheritance
Imports
org.droidparts.dexmaker.dx.util.Bits, .IntList

Code to figure out which local variables are active at which points in a method.

Field Summary

Modifier and TypeField and Description
private final BasicBlockList
blocks

non-null; block list for the method

private final RopMethod
method

non-null; method being extracted from

private final LocalVariableInfo
resultInfo

non-null; result in-progress

private final int[]
workSet

non-null; work set indicating blocks needing to be processed

Constructor Summary

AccessConstructor and Description
private
LocalVariableExtractor(RopMethod
non-null; the method to extract from
method
)

Constructs an instance.

Method Summary

Modifier and TypeMethod and Description
private LocalVariableInfo

Returns:

non-null; the extracted information
doit
()

Does the extraction.

public static LocalVariableInfo

Returns:

non-null; the extracted information
extract
(RopMethod
non-null; the method to extract from
method
)

Extracts out all the local variable information from the given method.

private void
processBlock(int
>= 0; label of the block to process
label
)

Processes a single block.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

blocksback to summary
private final BasicBlockList blocks

non-null; block list for the method

methodback to summary
private final RopMethod method

non-null; method being extracted from

resultInfoback to summary
private final LocalVariableInfo resultInfo

non-null; result in-progress

workSetback to summary
private final int[] workSet

non-null; work set indicating blocks needing to be processed

Constructor Detail

LocalVariableExtractorback to summary
private LocalVariableExtractor(RopMethod method)

Constructs an instance. This method is private. Use extract.

Parameters
method:RopMethod

non-null; the method to extract from

Method Detail

doitback to summary
private LocalVariableInfo doit()

Does the extraction.

Returns:LocalVariableInfo

non-null; the extracted information

extractback to summary
public static LocalVariableInfo extract(RopMethod method)

Extracts out all the local variable information from the given method.

Parameters
method:RopMethod

non-null; the method to extract from

Returns:LocalVariableInfo

non-null; the extracted information

processBlockback to summary
private void processBlock(int label)

Processes a single block.

Parameters
label:int

>= 0; label of the block to process