public class Op03Rewriters
extends java.lang.Object
Constructor and Description |
---|
Op03Rewriters() |
Modifier and Type | Method and Description |
---|---|
static void |
classifyAnonymousBlockGotos(java.util.List<Op03SimpleStatement> op03SimpleParseNodes,
boolean aggressive) |
static void |
classifyGotos(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
cloneCodeFromLoop(java.util.List<Op03SimpleStatement> op03SimpleParseNodes,
Options options,
DecompilerComments comments) |
static void |
collapseAssignmentsIntoConditionals(java.util.List<Op03SimpleStatement> op03SimpleParseNodes,
Options options,
ClassFileVersion classFileVersion) |
static void |
combineTryCatchBlocks(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
combineTryCatchEnds(java.util.List<Op03SimpleStatement> in) |
static void |
commentMonitors(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static boolean |
condenseConditionals(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static boolean |
condenseConditionals2(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
condenseConstruction(DCCommonState dcCommonState,
Method method,
java.util.List<Op03SimpleStatement> op03SimpleParseNodes,
AnonymousClassUsage anonymousClassUsage) |
static void |
condenseLValueChain1(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
condenseLValueChain2(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
condenseStaticInstances(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
eclipseLoopPass(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static java.util.List<Op03SimpleStatement> |
eliminateCatchTemporaries(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
extendTryBlocks(DCCommonState dcCommonState,
java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
extractAssertionJumps(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
extractExceptionJumps(java.util.List<Op03SimpleStatement> in) |
static void |
extractExceptionMiddle(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
identifyCatchBlocks(java.util.List<Op03SimpleStatement> op03SimpleParseNodes,
BlockIdentifierFactory blockIdentifierFactory) |
static void |
labelAnonymousBlocks(java.util.List<Op03SimpleStatement> op03SimpleParseNodes,
BlockIdentifierFactory blockIdentifierFactory) |
static void |
moveJumpsIntoDo(VariableFactory vf,
java.util.List<Op03SimpleStatement> op03SimpleParseNodes,
Options options,
DecompilerComments comments) |
static void |
narrowAssignmentTypes(Method method,
java.util.List<Op03SimpleStatement> statements) |
static void |
nopIsolatedStackValues(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static boolean |
normalizeDupAssigns(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
optimiseForTypes(java.util.List<Op03SimpleStatement> statements) |
static void |
propagateToReturn2(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
pushPreChangeBack(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static java.util.List<Op03SimpleStatement> |
pushThroughGoto(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
rejoinBlocks(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static java.util.List<Op03SimpleStatement> |
removeDeadConditionals(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
removePointlessExpressionStatements(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
removePointlessJumps(java.util.List<Op03SimpleStatement> statements) |
static java.util.List<Op03SimpleStatement> |
removeRedundantTries(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
removeSynchronizedCatchBlocks(Options options,
java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static java.util.List<Op03SimpleStatement> |
removeUselessNops(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
replacePrePostChangeAssignments(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
replaceReturningIfs(java.util.List<Op03SimpleStatement> op03SimpleParseNodes,
boolean aggressive) |
static void |
replaceStackVarsWithLocals(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
rewriteBadCompares(VariableFactory vf,
java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
rewriteBreakStatements(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
rewriteDoWhileTruePredAsWhile(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
rewriteNegativeJumps(java.util.List<Op03SimpleStatement> statements,
boolean requireChainedConditional) |
static void |
rewriteTryBackJumps(java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
rewriteWhilesAsFors(Options options,
java.util.List<Op03SimpleStatement> op03SimpleParseNodes) |
static void |
rewriteWith(java.util.List<Op03SimpleStatement> in,
ExpressionRewriter expressionRewriter) |
static void |
simplifyConditionals(java.util.List<Op03SimpleStatement> op03SimpleParseNodes,
boolean aggressive,
Method method) |
public static void rewriteWith(java.util.List<Op03SimpleStatement> in, ExpressionRewriter expressionRewriter)
public static void simplifyConditionals(java.util.List<Op03SimpleStatement> op03SimpleParseNodes, boolean aggressive, Method method)
public static void rewriteNegativeJumps(java.util.List<Op03SimpleStatement> statements, boolean requireChainedConditional)
public static void replaceReturningIfs(java.util.List<Op03SimpleStatement> op03SimpleParseNodes, boolean aggressive)
public static void propagateToReturn2(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void collapseAssignmentsIntoConditionals(java.util.List<Op03SimpleStatement> op03SimpleParseNodes, Options options, ClassFileVersion classFileVersion)
public static void extendTryBlocks(DCCommonState dcCommonState, java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void combineTryCatchEnds(java.util.List<Op03SimpleStatement> in)
public static void extractExceptionJumps(java.util.List<Op03SimpleStatement> in)
public static void rewriteTryBackJumps(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void rejoinBlocks(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static boolean condenseConditionals(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static boolean condenseConditionals2(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static boolean normalizeDupAssigns(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void optimiseForTypes(java.util.List<Op03SimpleStatement> statements)
public static void rewriteDoWhileTruePredAsWhile(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void rewriteWhilesAsFors(Options options, java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void removeSynchronizedCatchBlocks(Options options, java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void rewriteBreakStatements(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void classifyGotos(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void classifyAnonymousBlockGotos(java.util.List<Op03SimpleStatement> op03SimpleParseNodes, boolean aggressive)
public static void labelAnonymousBlocks(java.util.List<Op03SimpleStatement> op03SimpleParseNodes, BlockIdentifierFactory blockIdentifierFactory)
public static void removePointlessJumps(java.util.List<Op03SimpleStatement> statements)
public static void eclipseLoopPass(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static java.util.List<Op03SimpleStatement> removeUselessNops(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void extractAssertionJumps(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void replaceStackVarsWithLocals(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void narrowAssignmentTypes(Method method, java.util.List<Op03SimpleStatement> statements)
public static java.util.List<Op03SimpleStatement> eliminateCatchTemporaries(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void identifyCatchBlocks(java.util.List<Op03SimpleStatement> op03SimpleParseNodes, BlockIdentifierFactory blockIdentifierFactory)
public static void combineTryCatchBlocks(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static java.util.List<Op03SimpleStatement> removeRedundantTries(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void commentMonitors(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void condenseLValueChain1(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void condenseLValueChain2(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void pushPreChangeBack(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void replacePrePostChangeAssignments(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static java.util.List<Op03SimpleStatement> pushThroughGoto(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void extractExceptionMiddle(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void removePointlessExpressionStatements(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void condenseConstruction(DCCommonState dcCommonState, Method method, java.util.List<Op03SimpleStatement> op03SimpleParseNodes, AnonymousClassUsage anonymousClassUsage)
public static void nopIsolatedStackValues(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void rewriteBadCompares(VariableFactory vf, java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void cloneCodeFromLoop(java.util.List<Op03SimpleStatement> op03SimpleParseNodes, Options options, DecompilerComments comments)
public static void moveJumpsIntoDo(VariableFactory vf, java.util.List<Op03SimpleStatement> op03SimpleParseNodes, Options options, DecompilerComments comments)
public static java.util.List<Op03SimpleStatement> removeDeadConditionals(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)
public static void condenseStaticInstances(java.util.List<Op03SimpleStatement> op03SimpleParseNodes)