public class CodeAnalyser
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private Op04StructuredStatement |
analysed |
private ConstantPool |
cp |
private Method |
method |
private AttributeCode |
originalCodeAttribute |
private static Op04StructuredStatement |
POISON |
private static RecoveryOptions |
recover0 |
private static RecoveryOptions |
recover0a |
private static RecoveryOptions |
recover1 |
private static RecoveryOptions |
recover2 |
private static RecoveryOptions |
recover3 |
private static RecoveryOptions |
recover3a |
private static RecoveryOptions |
recoverExAgg |
private static RecoveryOptions |
recoverIgnoreExceptions |
private static RecoveryOptions |
recoverMalformed2a |
private static RecoveryOptions |
recoverPre1 |
private static RecoveryOptions[] |
recoveryOptionsArr |
Constructor and Description |
---|
CodeAnalyser(AttributeCode attributeCode) |
Modifier and Type | Method and Description |
---|---|
void |
dump(Dumper d) |
private void |
generateUnverifiable(int x,
java.util.List<Op01WithProcessedDataAndByteJumps> op1list,
java.util.List<Op02WithProcessedDataAndRefs> op2list,
java.util.Map<java.lang.Integer,java.lang.Integer> lutByIdx,
java.util.SortedMap<java.lang.Integer,java.lang.Integer> lutByOffset,
BytecodeLocFactory locFactory) |
private void |
generateUnverifiableInstr(int offset,
java.util.List<Op01WithProcessedDataAndByteJumps> op1list,
java.util.List<Op02WithProcessedDataAndRefs> op2list,
java.util.Map<java.lang.Integer,java.lang.Integer> lutByIdx,
java.util.SortedMap<java.lang.Integer,java.lang.Integer> lutByOffset,
BytecodeLocFactory locFactory) |
Op04StructuredStatement |
getAnalysis(DCCommonState dcCommonState) |
private AnalysisResult |
getAnalysisInner(java.util.List<Op01WithProcessedDataAndByteJumps> instrs,
DCCommonState dcCommonState,
Options options,
BytecodeMeta bytecodeMeta,
int passIdx) |
private AnalysisResult |
getAnalysisOrWrapFail(int passIdx,
java.util.List<Op01WithProcessedDataAndByteJumps> instrs,
DCCommonState commonState,
Options options,
java.util.List<DecompilerComment> extraComments,
BytecodeMeta bytecodeMeta) |
private java.util.List<Op01WithProcessedDataAndByteJumps> |
getInstrs() |
private Op01WithProcessedDataAndByteJumps |
getSingleInstr(ByteData rawCode,
int offset) |
void |
releaseCode() |
void |
setMethod(Method method) |
private final AttributeCode originalCodeAttribute
private final ConstantPool cp
private Method method
private Op04StructuredStatement analysed
private static final Op04StructuredStatement POISON
private static final RecoveryOptions recover0
private static final RecoveryOptions recoverExAgg
private static final RecoveryOptions recover0a
private static final RecoveryOptions recoverPre1
private static final RecoveryOptions recover1
private static final RecoveryOptions recover2
private static final RecoveryOptions recover3
private static final RecoveryOptions recover3a
private static final RecoveryOptions recoverIgnoreExceptions
private static final RecoveryOptions recoverMalformed2a
private static final RecoveryOptions[] recoveryOptionsArr
public CodeAnalyser(AttributeCode attributeCode)
public void setMethod(Method method)
public Op04StructuredStatement getAnalysis(DCCommonState dcCommonState)
private Op01WithProcessedDataAndByteJumps getSingleInstr(ByteData rawCode, int offset)
private java.util.List<Op01WithProcessedDataAndByteJumps> getInstrs()
private AnalysisResult getAnalysisOrWrapFail(int passIdx, java.util.List<Op01WithProcessedDataAndByteJumps> instrs, DCCommonState commonState, Options options, java.util.List<DecompilerComment> extraComments, BytecodeMeta bytecodeMeta)
private AnalysisResult getAnalysisInner(java.util.List<Op01WithProcessedDataAndByteJumps> instrs, DCCommonState dcCommonState, Options options, BytecodeMeta bytecodeMeta, int passIdx)
private void generateUnverifiable(int x, java.util.List<Op01WithProcessedDataAndByteJumps> op1list, java.util.List<Op02WithProcessedDataAndRefs> op2list, java.util.Map<java.lang.Integer,java.lang.Integer> lutByIdx, java.util.SortedMap<java.lang.Integer,java.lang.Integer> lutByOffset, BytecodeLocFactory locFactory)
private void generateUnverifiableInstr(int offset, java.util.List<Op01WithProcessedDataAndByteJumps> op1list, java.util.List<Op02WithProcessedDataAndRefs> op2list, java.util.Map<java.lang.Integer,java.lang.Integer> lutByIdx, java.util.SortedMap<java.lang.Integer,java.lang.Integer> lutByOffset, BytecodeLocFactory locFactory)
public void dump(Dumper d)
public void releaseCode()