All Methods Static Methods Instance Methods Concrete Methods
Modifier and Type |
Method and Description |
void |
addSource(Op04StructuredStatement source) |
void |
addTarget(Op04StructuredStatement target) |
static void |
applyChecker(Op04Checker checker,
Op04StructuredStatement root,
DecompilerComments comments) |
private static void |
applyLValueReplacer(java.util.Map<LValue,LValue> replacements,
Op04StructuredStatement root) |
static void |
applyTypeAnnotations(AttributeCode code,
Op04StructuredStatement root,
java.util.SortedMap<java.lang.Integer,java.lang.Integer> instrsByOffset,
DecompilerComments comments) |
private static java.util.Set<BlockIdentifier> |
blockSet(java.util.Collection<BlockIdentifier> in) |
(package private) static Op04StructuredStatement |
buildNestedBlocks(java.util.List<Op04StructuredStatement> containers) |
static boolean |
checkTypeClashes(Op04StructuredStatement block,
BytecodeMeta bytecodeMeta) |
private boolean |
claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier thisBlock,
java.util.Vector<BlockIdentifier> currentlyIn) |
void |
collectTypeUsages(TypeUsageCollector collector) |
static void |
convertUnstructuredIf(Op04StructuredStatement root) |
void |
copyBlockInformationFrom(StatementContainer<StructuredStatement> other) |
void |
copyBytecodeInformationFrom(StatementContainer<StructuredStatement> other) |
static void |
discoverLocalClassScopes(Method method,
Op04StructuredStatement root,
VariableFactory variableFactory,
Options options) |
static void |
discoverVariableScopes(Method method,
Op04StructuredStatement root,
VariableFactory variableFactory,
Options options,
ClassFileVersion classFileVersion,
BytecodeMeta bytecodeMeta) |
Dumper |
dump(Dumper dumper) |
static FieldVariable |
findInnerClassOuterThis(Method method,
Op04StructuredStatement root) |
static void |
fixInnerClassConstructorSyntheticOuterArgs(ClassFile classFile,
Method method,
Op04StructuredStatement root,
java.util.Set<MethodPrototype> processed) |
static void |
flattenNonReferencedBlocks(Op04StructuredStatement block) |
java.util.Set<BlockIdentifier> |
getBlockIdentifiers() |
java.util.Collection<BlockIdentifier> |
getBlockMembership() |
java.util.Set<BlockIdentifier> |
getBlocksEnded() |
BlockIdentifier |
getBlockStarted() |
private static java.util.Set<BlockIdentifier> |
getEndingBlocks(java.util.Stack<BlockIdentifier> wasIn,
java.util.Set<BlockIdentifier> nowIn) |
InstrIndex |
getIndex() |
private static java.lang.String |
getInnerClassOuterArgName(Method method,
LValue lValueArg) |
java.lang.String |
getLabel() |
java.util.List<Op04StructuredStatement> |
getSources() |
SSAIdentifiers<LValue> |
getSSAIdentifiers() |
private static BlockIdentifier |
getStartingBlocks(java.util.Stack<BlockIdentifier> wasIn,
java.util.Set<BlockIdentifier> nowIn) |
StructuredStatement |
getStatement() |
java.lang.String |
getTargetLabel(int idx) |
java.util.List<Op04StructuredStatement> |
getTargets() |
StructuredStatement |
getTargetStatement(int idx) |
private boolean |
hasUnstructuredSource() |
private static void |
hideField(Op04StructuredStatement root,
MethodPrototype prototype,
ClassFile classFile,
int x,
LocalVariable protoVar,
LValue lValueArg,
java.lang.String overrideName) |
void |
informBlockMembership(java.util.Vector<BlockIdentifier> currentlyIn) |
static void |
inlinePossibles(Op04StructuredStatement root) |
static void |
inlineSyntheticAccessors(DCCommonState state,
Method method,
Op04StructuredStatement root) |
static void |
insertLabelledBlocks(Op04StructuredStatement root) |
boolean |
isEmptyInitialiser() |
boolean |
isFullyStructured() |
static boolean |
isTryWithResourceSynthetic(Method m,
Op04StructuredStatement root) |
void |
linearizeStatementsInto(java.util.List<StructuredStatement> out) |
static void |
miscKeyholeTransforms(VariableFactory variableFactory,
Op04StructuredStatement root) |
void |
nopOut() |
void |
nopOutConditional() |
Op04StructuredStatement |
nopThisAndReplace() |
static void |
normalizeInstanceOf(Op04StructuredStatement root,
Options options,
ClassFileVersion classFileVersion) |
static void |
prettifyBadLoops(Op04StructuredStatement root) |
private static void |
processEndingBlocks(java.util.Set<BlockIdentifier> endOfTheseBlocks,
java.util.Stack<BlockIdentifier> blocksCurrentlyIn,
java.util.Stack<Op04StructuredStatement.StackedBlock> stackedBlocks,
Op04StructuredStatement.MutableProcessingBlockState mutableProcessingBlockState) |
static void |
reduceClashDeclarations(Op04StructuredStatement root,
BytecodeMeta bytecodeMeta) |
private static void |
removeAnonymousSyntheticConstructorOuterArgs(Method method,
Op04StructuredStatement root,
boolean isInstance) |
static void |
removeConstructorBoilerplate(Op04StructuredStatement root) |
static void |
removeEndResource(ClassFile classFile,
Op04StructuredStatement root) |
static void |
removeInnerClassOuterThis(Method method,
Op04StructuredStatement root) |
void |
removeLastContinue(BlockIdentifier block) |
UnstructuredWhile |
removeLastEndWhile() |
void |
removeLastGoto() |
private static void |
removeMethodScopedSyntheticConstructorOuterArgs(Method method,
Op04StructuredStatement root,
java.util.Set<MethodPrototype> processed) |
static void |
removePointlessBlocks(Op04StructuredStatement root) |
static void |
removePointlessControlFlow(Op04StructuredStatement root) |
static void |
removePointlessReturn(Op04StructuredStatement root) |
static void |
removePrimitiveDeconversion(Options options,
Method method,
Op04StructuredStatement root) |
static void |
removeStructuredGotos(Op04StructuredStatement root) |
static void |
removeUnnecessaryLabelledBreaks(Op04StructuredStatement root) |
static void |
removeUnnecessaryVarargArrays(Options options,
Method method,
Op04StructuredStatement root) |
private void |
replaceAsSource(Op04StructuredStatement old) |
static void |
replaceInSources(Op04StructuredStatement original,
Op04StructuredStatement replacement) |
static void |
replaceInTargets(Op04StructuredStatement original,
Op04StructuredStatement replacement) |
static void |
replaceNestedSyntheticOuterRefs(Op04StructuredStatement root) |
void |
replaceSource(Op04StructuredStatement from,
Op04StructuredStatement to) |
void |
replaceStatement(StructuredStatement newTarget) |
void |
replaceStatementWithNOP(java.lang.String comment) |
void |
replaceTarget(Op04StructuredStatement from,
Op04StructuredStatement to) |
static void |
rewriteBadCastChains(Options options,
Method method,
Op04StructuredStatement root) |
static void |
rewriteExplicitTypeUsages(Method method,
Op04StructuredStatement block,
AnonymousClassUsage anonymousClassUsage,
ClassFile classFile) |
static void |
rewriteLambdas(DCCommonState state,
Method method,
Op04StructuredStatement root) |
static void |
rewriteNarrowingAssignments(Options options,
Method method,
Op04StructuredStatement root) |
void |
setSources(java.util.List<Op04StructuredStatement> sources) |
void |
setTargets(java.util.List<Op04StructuredStatement> targets) |
static void |
switchExpression(Method method,
Op04StructuredStatement root,
DecompilerComments comments) |
static void |
tidyAnonymousConstructors(Op04StructuredStatement root) |
static void |
tidyEmptyCatch(Op04StructuredStatement root) |
static void |
tidyInstanceMatches(Op04StructuredStatement block) |
static void |
tidyObfuscation(Options options,
Op04StructuredStatement root) |
static void |
tidyTryCatch(Op04StructuredStatement root) |
static void |
tidyTypedBooleans(Op04StructuredStatement root) |
static void |
tidyVariableNames(Method method,
Op04StructuredStatement root,
BytecodeMeta bytecodeMeta,
DecompilerComments comments,
ClassCache classCache) |
java.lang.String |
toString() |
void |
transform(StructuredStatementTransformer transformer,
StructuredScope scope) |
private static StructuredStatement |
transformStructuredGotoWithScope(StructuredScope scope,
StructuredStatement stm,
java.util.Stack<Triplet<StructuredStatement,BlockIdentifier,java.util.Set<Op04StructuredStatement>>> breaktargets) |