Class Op02WithProcessedDataAndRefs
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.opgraph.Op02WithProcessedDataAndRefs
- All Implemented Interfaces:
Graph<Op02WithProcessedDataAndRefs>, Dumpable
public class Op02WithProcessedDataAndRefs
extends Object
implements Dumpable, Graph<Op02WithProcessedDataAndRefs>
-
Constructor Summary
ConstructorsConstructorDescriptionOp02WithProcessedDataAndRefs(JVMInstr instr, byte[] rawData, int index, ConstantPool cp, ConstantPoolEntry[] cpEntries, int originalRawOffset, BytecodeLoc loc) Op02WithProcessedDataAndRefs(JVMInstr instr, byte[] rawData, InstrIndex index, ConstantPool cp, ConstantPoolEntry[] cpEntries, int originalRawOffset, BytecodeLoc loc) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidstatic List<Op03SimpleStatement> convertToOp03List(List<Op02WithProcessedDataAndRefs> op2list, Method method, VariableFactory variableFactory, BlockIdentifierFactory blockIdentifierFactory, DCCommonState dcCommonState, DecompilerComments comments, TypeHintRecovery typeHintRecovery) static voiddiscoverStorageLiveness(Method method, DecompilerComments comments, List<Op02WithProcessedDataAndRefs> op2list, BytecodeMeta bytecodeMeta) getCp()getIndex()getInstr()intstatic List<Op02WithProcessedDataAndRefs> insertExceptionBlocks(List<Op02WithProcessedDataAndRefs> op2list, ExceptionAggregator exceptions, Map<Integer, Integer> lutByOffset, ConstantPool cp, long codeLength, Options options) voidnop()static DecompilerCommentpopulateStackInfo(List<Op02WithProcessedDataAndRefs> op2list, Method method) static booleanvoidremoveSource(Op02WithProcessedDataAndRefs oldSource) static voidreplace(Op02WithProcessedDataAndRefs oldOp, Op02WithProcessedDataAndRefs newOp) voidreplaceInstr(JVMInstr newInstr) voidreplaceSource(Op02WithProcessedDataAndRefs oldSource, Op02WithProcessedDataAndRefs newSource) voidreplaceTarget(Op02WithProcessedDataAndRefs oldTarget, Op02WithProcessedDataAndRefs newTarget) voidsetIndex(InstrIndex index) toString()static void
-
Constructor Details
-
Op02WithProcessedDataAndRefs
public Op02WithProcessedDataAndRefs(JVMInstr instr, byte[] rawData, int index, ConstantPool cp, ConstantPoolEntry[] cpEntries, int originalRawOffset, BytecodeLoc loc) -
Op02WithProcessedDataAndRefs
public Op02WithProcessedDataAndRefs(JVMInstr instr, byte[] rawData, InstrIndex index, ConstantPool cp, ConstantPoolEntry[] cpEntries, int originalRawOffset, BytecodeLoc loc)
-
-
Method Details
-
getIndex
-
setIndex
-
addTarget
-
addSource
-
getInstr
-
replaceTarget
public void replaceTarget(Op02WithProcessedDataAndRefs oldTarget, Op02WithProcessedDataAndRefs newTarget) -
replaceSource
public void replaceSource(Op02WithProcessedDataAndRefs oldSource, Op02WithProcessedDataAndRefs newSource) -
removeSource
-
getTargets
- Specified by:
getTargetsin interfaceGraph<Op02WithProcessedDataAndRefs>
-
getSources
- Specified by:
getSourcesin interfaceGraph<Op02WithProcessedDataAndRefs>
-
getCpEntries
-
dump
-
getRetrieveType
-
getRetrieveIdx
-
getStorageType
-
getStoreIdx
-
getIincInfo
-
toString
-
populateStackInfo
public static DecompilerComment populateStackInfo(List<Op02WithProcessedDataAndRefs> op2list, Method method) -
unlinkUnreachable
-
nop
public void nop() -
replaceInstr
-
discoverStorageLiveness
public static void discoverStorageLiveness(Method method, DecompilerComments comments, List<Op02WithProcessedDataAndRefs> op2list, BytecodeMeta bytecodeMeta) -
getCp
-
getOriginalRawOffset
public int getOriginalRawOffset() -
getBytecodeLoc
-
convertToOp03List
public static List<Op03SimpleStatement> convertToOp03List(List<Op02WithProcessedDataAndRefs> op2list, Method method, VariableFactory variableFactory, BlockIdentifierFactory blockIdentifierFactory, DCCommonState dcCommonState, DecompilerComments comments, TypeHintRecovery typeHintRecovery) -
insertExceptionBlocks
public static List<Op02WithProcessedDataAndRefs> insertExceptionBlocks(List<Op02WithProcessedDataAndRefs> op2list, ExceptionAggregator exceptions, Map<Integer, Integer> lutByOffset, ConstantPool cp, long codeLength, Options options) -
getContainedInTheseBlocks
-
processJSR
-
replace
-