All Methods Static Methods Instance Methods Concrete Methods
Modifier and Type |
Method and Description |
void |
addSource(Op02WithProcessedDataAndRefs node) |
void |
addTarget(Op02WithProcessedDataAndRefs node) |
private static Op02WithProcessedDataAndRefs |
adjustOrdering(java.util.Map<InstrIndex,java.util.List<Op02WithProcessedDataAndRefs.ExceptionTempStatement>> insertions,
Op02WithProcessedDataAndRefs infrontOf,
ExceptionGroup exceptionGroup,
Op02WithProcessedDataAndRefs newNode) |
private static java.util.NavigableMap<java.lang.Integer,JavaTypeInstance> |
assignIdentsAndGetMissingMap(SSAIdentifierFactory<Slot,StackType> ssaIdentifierFactory,
Method method,
java.util.List<Op02WithProcessedDataAndRefs> statements,
BytecodeMeta bytecodeMeta,
boolean useProtoArgs) |
private static void |
assignSSAIdentifiers(SSAIdentifierFactory<Slot,StackType> ssaIdentifierFactory,
Method method,
DecompilerComments comments,
java.util.List<Op02WithProcessedDataAndRefs> statements,
BytecodeMeta bytecodeMeta) |
private static void |
assignSSAIdentifiersInner(SSAIdentifierFactory<Slot,StackType> ssaIdentifierFactory,
Method method,
java.util.List<Op02WithProcessedDataAndRefs> statements,
BytecodeMeta bytecodeMeta,
boolean useProtoArgs) |
private Statement |
buildInvoke(Method thisCallerMethod) |
private java.util.List<Expression> |
buildInvokeBootstrapArgs(MethodPrototype prototype,
MethodPrototype dynamicPrototype,
MethodHandleBehaviour bootstrapBehaviour,
BootstrapMethodInfo bootstrapMethodInfo,
ConstantPoolEntryMethodRef methodRef,
boolean showBoilerArgs,
ClassFile classFile,
DCCommonState state,
DecompilerComments comments) |
private Statement |
buildInvokeDynamic(ClassFile classFile,
DCCommonState dcCommonState,
java.lang.String name,
MethodPrototype dynamicPrototype,
int idx,
boolean showBoilerArgs,
DecompilerComments comments) |
private Statement |
buildInvokeDynamic(Method method,
DCCommonState dcCommonState,
DecompilerComments comments) |
private java.util.List<Expression> |
buildInvokeDynamicAltMetaFactoryArgs(MethodPrototype prototype,
MethodPrototype dynamicPrototype,
MethodHandleBehaviour bootstrapBehaviour,
BootstrapMethodInfo bootstrapMethodInfo,
ConstantPoolEntryMethodRef methodRef,
java.util.List<JavaTypeInstance> markerTypes) |
private java.util.List<Expression> |
buildInvokeDynamicMetaFactoryArgs(MethodPrototype prototype,
MethodPrototype dynamicPrototype,
MethodHandleBehaviour bootstrapBehaviour,
BootstrapMethodInfo bootstrapMethodInfo,
ConstantPoolEntryMethodRef methodRef) |
private void |
collectLocallyMutatedVariables(SSAIdentifierFactory<Slot,StackType> ssaIdentifierFactory) |
static java.util.List<Op03SimpleStatement> |
convertToOp03List(java.util.List<Op02WithProcessedDataAndRefs> op2list,
Method method,
VariableFactory variableFactory,
BlockIdentifierFactory blockIdentifierFactory,
DCCommonState dcCommonState,
DecompilerComments comments,
TypeHintRecovery typeHintRecovery) |
private static java.util.List<Op02WithProcessedDataAndRefs> |
copyBlock(java.util.List<Op02WithProcessedDataAndRefs> orig,
InstrIndex afterThis) |
private static java.util.Map<SSAIdent,java.util.Set<SSAIdent>> |
createReverseMap(java.util.Map<SSAIdent,java.util.Set<SSAIdent>> downMap) |
private Statement |
createStatement(Method method,
DecompilerComments comments,
VariableFactory variableFactory,
BlockIdentifierFactory blockIdentifierFactory,
DCCommonState dcCommonState,
TypeHintRecovery typeHintRecovery) |
private JavaTypeInstance |
determineDynamicGeneric(JavaTypeInstance callsiteReturn,
MethodPrototype proto,
Expression instantiated,
DCCommonState dcCommonState) |
static void |
discoverStorageLiveness(Method method,
DecompilerComments comments,
java.util.List<Op02WithProcessedDataAndRefs> op2list,
BytecodeMeta bytecodeMeta) |
Dumper |
dump(Dumper d) |
private static Expression |
ensureNonBool(Expression e) |
private static Op02WithProcessedDataAndRefs |
followNopGoto(Op02WithProcessedDataAndRefs op) |
private static TypedLiteral |
getBootstrapArg(ConstantPoolEntry[] bootstrapArguments,
int x,
ConstantPool cp) |
BytecodeLoc |
getBytecodeLoc() |
java.util.List<BlockIdentifier> |
getContainedInTheseBlocks() |
ConstantPool |
getCp() |
ConstantPoolEntry[] |
getCpEntries() |
private Expression |
getDynamicLiteral(Method method,
ConstantPoolEntryDynamicInfo cpe,
DecompilerComments comments) |
Pair<java.lang.Integer,java.lang.Integer> |
getIincInfo() |
InstrIndex |
getIndex() |
JVMInstr |
getInstr() |
private int |
getInstrArgByte(int index) |
private int |
getInstrArgShort(int index) |
private int |
getInstrArgU1(int index) |
private static java.util.Map<Op02WithProcessedDataAndRefs,java.util.List<Op02WithProcessedDataAndRefs>> |
getJsrsWithCommonTarget(java.util.List<Op02WithProcessedDataAndRefs> jsrs) |
private static int |
getLastIndex(java.util.Map<java.lang.Integer,java.lang.Integer> lutByOffset,
int op2count,
long codeLength,
int offset) |
private Expression |
getLiteralConstantPoolEntry(Method m,
ConstantPoolEntry cpe,
DecompilerComments comments) |
private Expression |
getMethodHandleLiteral(ConstantPoolEntryMethodHandle cpe) |
private Expression |
getMethodTypeLiteral(ConstantPoolEntryMethodType cpe) |
private java.util.List<Expression> |
getNStackRValuesAsExpressions(int count) |
private static java.util.List<java.lang.Boolean> |
getNullsByType(java.util.List<Expression> expressions) |
int |
getOriginalRawOffset() |
Pair<JavaTypeInstance,java.lang.Integer> |
getRetrieveType() |
private ExceptionGroup |
getSingleExceptionGroup() |
java.util.List<Op02WithProcessedDataAndRefs> |
getSources() |
private LValue |
getStackLValue(int idx) |
private StackValue |
getStackRValue(int idx) |
Pair<JavaTypeInstance,java.lang.Integer> |
getStorageType() |
java.util.List<Op02WithProcessedDataAndRefs> |
getTargets() |
private java.util.List<Expression> |
getVarArgs(JavaTypeInstance last,
ConstantPoolEntry[] bootstrapArguments) |
private static void |
inlineJSR(Op02WithProcessedDataAndRefs start,
java.util.Set<Op02WithProcessedDataAndRefs> nodes,
java.util.List<Op02WithProcessedDataAndRefs> ops) |
private static void |
inlineReplaceJSR(Op02WithProcessedDataAndRefs jsrCall,
java.util.List<Op02WithProcessedDataAndRefs> ops) |
static java.util.List<Op02WithProcessedDataAndRefs> |
insertExceptionBlocks(java.util.List<Op02WithProcessedDataAndRefs> op2list,
ExceptionAggregator exceptions,
java.util.Map<java.lang.Integer,java.lang.Integer> lutByOffset,
ConstantPool cp,
long codeLength,
Options options) |
private static boolean |
isJSR(Op02WithProcessedDataAndRefs op) |
private static boolean |
isRET(Op02WithProcessedDataAndRefs op) |
private static java.util.List<Op02WithProcessedDataAndRefs> |
justJSRs(java.util.List<Op02WithProcessedDataAndRefs> ops) |
private void |
mapSSASlots(java.util.Map<Pair<Slot,SSAIdent>,Ident> identmap) |
private Statement |
mkAssign(VariableFactory variableFactory) |
private Statement |
mkRetrieve(VariableFactory variableFactory) |
void |
nop() |
static DecompilerComment |
populateStackInfo(java.util.List<Op02WithProcessedDataAndRefs> op2list,
Method method) |
private void |
populateStackInfo(StackSim stackSim,
Method method,
java.util.Set<DecompilerComment> comments,
java.util.LinkedList<Pair<StackSim,Op02WithProcessedDataAndRefs>> next) |
static boolean |
processJSR(java.util.List<Op02WithProcessedDataAndRefs> ops) |
private static void |
processJSRs(java.util.List<Op02WithProcessedDataAndRefs> jsrs,
java.util.List<Op02WithProcessedDataAndRefs> ops) |
void |
removeSource(Op02WithProcessedDataAndRefs oldSource) |
private void |
removeTarget(Op02WithProcessedDataAndRefs node) |
private static void |
removeUnusedSSAIdentifiers(SSAIdentifierFactory<Slot,StackType> ssaIdentifierFactory,
Method method,
java.util.List<Op02WithProcessedDataAndRefs> op2list) |
static void |
replace(Op02WithProcessedDataAndRefs oldOp,
Op02WithProcessedDataAndRefs newOp) |
void |
replaceInstr(JVMInstr newInstr) |
void |
replaceSource(Op02WithProcessedDataAndRefs oldSource,
Op02WithProcessedDataAndRefs newSource) |
void |
replaceTarget(Op02WithProcessedDataAndRefs oldTarget,
Op02WithProcessedDataAndRefs newTarget) |
private void |
resetStackInfo() |
void |
setIndex(InstrIndex index) |
private static boolean |
SimulateJSR(Op02WithProcessedDataAndRefs start,
java.util.List<Op02WithProcessedDataAndRefs> ops) |
private static void |
tidyMultipleInsertionIdentifiers(java.util.Collection<java.util.List<Op02WithProcessedDataAndRefs.ExceptionTempStatement>> etsList) |
private static void |
tieUpRelations(java.util.List<Op02WithProcessedDataAndRefs> out,
java.util.List<Op02WithProcessedDataAndRefs> in,
java.util.Map<Op02WithProcessedDataAndRefs,Op02WithProcessedDataAndRefs> map) |
java.lang.String |
toString() |
static void |
unlinkUnreachable(java.util.List<Op02WithProcessedDataAndRefs> op2list) |