Uses of Class
org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement
Packages that use Op03SimpleStatement
Package
Description
-
Uses of Op03SimpleStatement in org.benf.cfr.reader.bytecode.analysis.opgraph
Fields in org.benf.cfr.reader.bytecode.analysis.opgraph declared as Op03SimpleStatementModifier and TypeFieldDescriptionprivate Op03SimpleStatement
Op03SimpleStatement.linearlyNext
private Op03SimpleStatement
Op03SimpleStatement.linearlyPrevious
Fields in org.benf.cfr.reader.bytecode.analysis.opgraph with type parameters of type Op03SimpleStatementModifier and TypeFieldDescription(package private) List<Op03SimpleStatement>
Op03Blocks.Block3.content
private final List<Op03SimpleStatement>
Op03SimpleStatement.GraphVisitorCallee.reachableNodes
private final List<Op03SimpleStatement>
Op03SimpleStatement.sources
private final List<Op03SimpleStatement>
Op03SimpleStatement.targets
Methods in org.benf.cfr.reader.bytecode.analysis.opgraph that return Op03SimpleStatementModifier and TypeMethodDescriptionOp03Blocks.Block3.getEnd()
Op03SimpleStatement.getLinearlyNext()
Op03SimpleStatement.getLinearlyPrevious()
Op03Blocks.Block3.getStart()
Methods in org.benf.cfr.reader.bytecode.analysis.opgraph that return types with arguments of type Op03SimpleStatementModifier and TypeMethodDescriptionstatic List<Op03SimpleStatement>
Op03Blocks.combineTryBlocks
(List<Op03SimpleStatement> statements) static List<Op03SimpleStatement>
Op02WithProcessedDataAndRefs.convertToOp03List
(List<Op02WithProcessedDataAndRefs> op2list, Method method, VariableFactory variableFactory, BlockIdentifierFactory blockIdentifierFactory, DCCommonState dcCommonState, DecompilerComments comments, TypeHintRecovery typeHintRecovery) private List<Op03SimpleStatement>
Op03Blocks.Block3.getContent()
Op03SimpleStatement.getSources()
Op03SimpleStatement.getTargets()
Op03SimpleStatement.splitCompound()
static List<Op03SimpleStatement>
Op03Blocks.topologicalSort
(List<Op03SimpleStatement> statements, DecompilerComments comments, Options options) Methods in org.benf.cfr.reader.bytecode.analysis.opgraph with parameters of type Op03SimpleStatementModifier and TypeMethodDescriptionvoid
Op03SimpleStatement.addSource
(Op03SimpleStatement source) void
Op03SimpleStatement.addTarget
(Op03SimpleStatement target) void
Op03Blocks.Block3.append
(Op03SimpleStatement s) void
Op03SimpleStatement.GraphVisitorCallee.call
(Op03SimpleStatement node, GraphVisitor<Op03SimpleStatement> graphVisitor) void
Op03SimpleStatement.markBlockStatement
(BlockIdentifier blockIdentifier, Op03SimpleStatement lastInBlock, Op03SimpleStatement blockEnd, List<Op03SimpleStatement> statements) void
Op03SimpleStatement.removeGotoTarget
(Op03SimpleStatement oldTarget) private static void
Op03SimpleStatement.removePointlessSwitchDefault
(Op03SimpleStatement swtch) void
Op03SimpleStatement.removeSource
(Op03SimpleStatement oldSource) void
Op03SimpleStatement.removeTarget
(Op03SimpleStatement oldTarget) private void
Op03SimpleStatement.replaceSingleSourceWith
(Op03SimpleStatement oldSource, List<Op03SimpleStatement> newSources) void
Op03SimpleStatement.replaceSource
(Op03SimpleStatement oldSource, Op03SimpleStatement newSource) void
Op03SimpleStatement.replaceTarget
(Op03SimpleStatement oldTarget, Op03SimpleStatement newTarget) void
Op03SimpleStatement.setLinearlyNext
(Op03SimpleStatement linearlyNext) void
Op03SimpleStatement.setLinearlyPrevious
(Op03SimpleStatement linearlyPrevious) void
Op03SimpleStatement.splice
(Op03SimpleStatement newSource) Method parameters in org.benf.cfr.reader.bytecode.analysis.opgraph with type arguments of type Op03SimpleStatementModifier and TypeMethodDescriptionstatic void
Op03SimpleStatement.assignSSAIdentifiers
(Method method, List<Op03SimpleStatement> statements) private static List<Op03Blocks.Block3>
Op03Blocks.buildBasicBlocks
(List<Op03SimpleStatement> statements) void
Op03SimpleStatement.GraphVisitorCallee.call
(Op03SimpleStatement node, GraphVisitor<Op03SimpleStatement> graphVisitor) static List<Op03SimpleStatement>
Op03Blocks.combineTryBlocks
(List<Op03SimpleStatement> statements) static Op04StructuredStatement
Op03SimpleStatement.createInitialStructuredBlock
(List<Op03SimpleStatement> statements) private static Map<BlockIdentifier,
Integer> Op03Blocks.findFirstInBlock
(List<Op03SimpleStatement> statements, Set<BlockIdentifier> mutableMissing) private static Map<BlockIdentifier,
BlockIdentifier> Op03Blocks.getTryBlockAliases
(List<Op03SimpleStatement> statements) void
Op03SimpleStatement.markBlockStatement
(BlockIdentifier blockIdentifier, Op03SimpleStatement lastInBlock, Op03SimpleStatement blockEnd, List<Op03SimpleStatement> statements) static void
Op03SimpleStatement.noteInterestingLifetimes
(List<Op03SimpleStatement> statements) static void
Op03SimpleStatement.removePointlessSwitchDefaults
(List<Op03SimpleStatement> statements) private void
Op03SimpleStatement.replaceSingleSourceWith
(Op03SimpleStatement oldSource, List<Op03SimpleStatement> newSources) private static boolean
Op03Blocks.stripBackExceptions
(List<Op03SimpleStatement> statements) private static void
Op03Blocks.stripTryBlockAliases
(List<Op03SimpleStatement> out, Map<BlockIdentifier, BlockIdentifier> tryBlockAliases) static List<Op03SimpleStatement>
Op03Blocks.topologicalSort
(List<Op03SimpleStatement> statements, DecompilerComments comments, Options options) Constructors in org.benf.cfr.reader.bytecode.analysis.opgraph with parameters of type Op03SimpleStatementConstructor parameters in org.benf.cfr.reader.bytecode.analysis.opgraph with type arguments of type Op03SimpleStatementModifierConstructorDescription(package private)
GraphVisitorCallee
(List<Op03SimpleStatement> reachableNodes) -
Uses of Op03SimpleStatement in org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters
Fields in org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters declared as Op03SimpleStatementModifier and TypeFieldDescription(package private) final Op03SimpleStatement
LoopIdentifier.LoopResult.blockStart
private Op03SimpleStatement
LinearScannedBlock.first
(package private) Op03SimpleStatement
KotlinSwitchHandler.OriginalSwitchLookupInfo.ifTest
private Op03SimpleStatement
LinearScannedBlock.last
private final Op03SimpleStatement
Misc.GraphVisitorBlockReachable.start
private final Op03SimpleStatement
SwitchReplacer.NodeReachable.start
private final Op03SimpleStatement
SwitchReplacer.NodesReachedUntil.start
(package private) Op03SimpleStatement
KotlinSwitchHandler.OriginalSwitchLookupInfo.stringMatchJump
private final Op03SimpleStatement
SwitchReplacer.NodeReachable.switchStatement
KotlinSwitchHandler.OriginalSwitchLookupInfo.target
private final Op03SimpleStatement
SwitchReplacer.NodesReachedUntil.target
Fields in org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters with type parameters of type Op03SimpleStatementModifier and TypeFieldDescriptionprivate final Set<Op03SimpleStatement>
SwitchReplacer.NodesReachedUntil.banned
private final Set<Op03SimpleStatement>
Misc.GraphVisitorBlockReachable.exits
private final Set<Op03SimpleStatement>
Misc.GraphVisitorBlockReachable.found
private final Set<Op03SimpleStatement>
SwitchReplacer.NodeReachable.inBlock
private final Map<Op03SimpleStatement,
Integer> Misc.GraphVisitorReachableInThese.instrToIdx
private final Set<Op03SimpleStatement>
SwitchReplacer.NodeReachable.otherCases
private final List<Op03SimpleStatement>
SwitchReplacer.NodeReachable.reaches
private final Set<Op03SimpleStatement>
SwitchReplacer.NodesReachedUntil.reaches
Methods in org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters that return Op03SimpleStatementModifier and TypeMethodDescriptionprivate static Op03SimpleStatement
SwitchReplacer.examineSwitchContiguity
(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, boolean pullCodeIntoCase, boolean allowMalformedSwitch, DecompilerComments comments, BytecodeMeta bytecodeMeta) private static Op03SimpleStatement
LoopIdentifier.findFirstConditional
(Op03SimpleStatement start) private static Op03SimpleStatement
WhileRewriter.findMovableAssignment
(Op03SimpleStatement start, LValue lValue) (package private) static Op03SimpleStatement
Misc.findSingleBackSource
(Op03SimpleStatement start) (package private) static Op03SimpleStatement
Misc.followNopGoto
(Op03SimpleStatement in, boolean requireJustOneSource, boolean aggressive) static Op03SimpleStatement
Misc.followNopGotoChain
(Op03SimpleStatement in, boolean requireJustOneSource, boolean skipLabels) static Op03SimpleStatement
Misc.followNopGotoChainUntil
(Op03SimpleStatement in, Op03SimpleStatement until, boolean requireJustOneSource, boolean skipLabels) (package private) static Op03SimpleStatement
LoopIdentifier.getCloseFwdJumpInto
(Op03SimpleStatement start, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements, int startIdx, int lastIdx) LinearScannedBlock.getFirst()
private static Op03SimpleStatement
WhileRewriter.getForInvariant
(Op03SimpleStatement start, LValue invariant, BlockIdentifier whileLoop) LinearScannedBlock.getLast()
private static Op03SimpleStatement
TryRewriter.getLastContiguousBlockStatement
(BlockIdentifier blockIdentifier, List<Op03SimpleStatement> in, Op03SimpleStatement preBlock) static Op03SimpleStatement
Misc.getLastInRangeByIndex
(Set<Op03SimpleStatement> stms) private Op03SimpleStatement
JumpsIntoLoopCloneRewriter.getPossLast
(Op03SimpleStatement stm, BlockIdentifier ident) private static Op03SimpleStatement
ExceptionRewriters.insertBlockPadding
(String comment, Op03SimpleStatement insertAfter, Op03SimpleStatement insertBefore, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements) Misc.GetBackJump.invoke
(Op03SimpleStatement in) private static Op03SimpleStatement
PointlessJumps.maybeMoveTarget
(Op03SimpleStatement expectedRetarget, Op03SimpleStatement source, List<Op03SimpleStatement> statements) private static Op03SimpleStatement
SwitchReplacer.moveSwitch
(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, Op03SimpleStatement firstCase, int idxFirstCase, List<Op03SimpleStatement> targets) private static Op03SimpleStatement
SwitchReplacer.replaceRawSwitch
(Method method, Op03SimpleStatement swatch, List<Op03SimpleStatement> in, BlockIdentifierFactory blockIdentifierFactory, Options options) static Op03SimpleStatement
Misc.skipComments
(Op03SimpleStatement stm) Methods in org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters that return types with arguments of type Op03SimpleStatementModifier and TypeMethodDescriptionstatic List<Op03SimpleStatement>
RemoveDeterministicJumps.apply
(Method method, List<Op03SimpleStatement> statements) (package private) static Set<Op03SimpleStatement>
Misc.collectAllSources
(Collection<Op03SimpleStatement> statements) static List<Op03SimpleStatement>
LValuePropSimple.condenseSimpleLValues
(List<Op03SimpleStatement> statementList) private List<Op03SimpleStatement>
JumpsIntoLoopCloneRewriter.copyBlock
(Op03SimpleStatement stm, Op03SimpleStatement caller, Op03SimpleStatement start, Op03SimpleStatement end, Set<Op03SimpleStatement> valid, BlockIdentifier containedIn, Set<Op03SimpleStatement> addSources, Map<Op03SimpleStatement, Op03SimpleStatement> orig2copy) private List<Op03SimpleStatement>
JumpsIntoLoopCloneRewriter.copyST
(List<Op03SimpleStatement> original, Map<Op03SimpleStatement, Op03SimpleStatement> replacements, boolean failIfMissing) (package private) static List<Op03SimpleStatement>
ExceptionRewriters.eliminateCatchTemporaries
(List<Op03SimpleStatement> statements) static List<Op03SimpleStatement>
Op03Rewriters.eliminateCatchTemporaries
(List<Op03SimpleStatement> op03SimpleParseNodes) static List<Op03SimpleStatement>
KotlinSwitchHandler.extractStringSwitches
(List<Op03SimpleStatement> in, BytecodeMeta bytecodeMeta) (package private) static Set<Op03SimpleStatement>
Misc.followNopGotoBackwards
(Op03SimpleStatement eventualtarget) (package private) static Set<Op03SimpleStatement>
Misc.GraphVisitorBlockReachable.getBlockReachable
(Op03SimpleStatement start, BlockIdentifier blockIdentifier) (package private) static Pair<Set<Op03SimpleStatement>,
Set<Op03SimpleStatement>> Misc.GraphVisitorBlockReachable.getBlockReachableAndExits
(Op03SimpleStatement start, BlockIdentifier blockIdentifier) (package private) static Pair<Set<Op03SimpleStatement>,
Set<Op03SimpleStatement>> Misc.GraphVisitorBlockReachable.getBlockReachableAndExits
(Op03SimpleStatement start, BlockIdentifier blockIdentifier) private static Map<BlockIdentifier,
Op03SimpleStatement> ExceptionRewriters.getFirstByBlock
(List<Op03SimpleStatement> in) private static List<Op03SimpleStatement>
WhileRewriter.getMutations
(List<Op03SimpleStatement> backSources, LValue loopVariable, BlockIdentifier whileBlockIdentifier) private static List<Op03SimpleStatement>
ExceptionRewriters.getTries
(List<Op03SimpleStatement> in) private Set<Op03SimpleStatement>
Misc.GraphVisitorBlockReachable.privGetBlockReachable()
private Pair<Set<Op03SimpleStatement>,
Set<Op03SimpleStatement>> Misc.GraphVisitorBlockReachable.privGetBlockReachableAndExits()
private Pair<Set<Op03SimpleStatement>,
Set<Op03SimpleStatement>> Misc.GraphVisitorBlockReachable.privGetBlockReachableAndExits()
static List<Op03SimpleStatement>
Op03Rewriters.pushThroughGoto
(List<Op03SimpleStatement> op03SimpleParseNodes) static List<Op03SimpleStatement>
PushThroughGoto.pushThroughGoto
(List<Op03SimpleStatement> statements) static List<Op03SimpleStatement>
Op03Rewriters.removeDeadConditionals
(List<Op03SimpleStatement> op03SimpleParseNodes) static List<Op03SimpleStatement>
Op03Rewriters.removeRedundantTries
(List<Op03SimpleStatement> op03SimpleParseNodes) static List<Op03SimpleStatement>
RedundantTries.removeRedundantTries
(List<Op03SimpleStatement> statements) static List<Op03SimpleStatement>
Cleaner.removeUnreachableCode
(List<Op03SimpleStatement> statements, boolean checkBackJumps) static List<Op03SimpleStatement>
Op03Rewriters.removeUselessNops
(List<Op03SimpleStatement> op03SimpleParseNodes) static List<Op03SimpleStatement>
UselessNops.removeUselessNops
(List<Op03SimpleStatement> in) DeadConditionalRemover.rewrite
(List<Op03SimpleStatement> statements) static List<Op03SimpleStatement>
StaticInitReturnRewriter.rewrite
(Options options, Method method, List<Op03SimpleStatement> statementList) static List<Op03SimpleStatement>
SwitchReplacer.rewriteDuff
(List<Op03SimpleStatement> statements, VariableFactory vf, DecompilerComments decompilerComments, Options options) static List<Op03SimpleStatement>
Cleaner.sortAndRenumber
(List<Op03SimpleStatement> statements) private GraphVisitor<Op03SimpleStatement>
JumpsIntoLoopCloneRewriter.visitCandidates
(BlockIdentifier blockIdent, Op03SimpleStatement possLast, Map<Op03SimpleStatement, Op03SimpleStatement> candidates) Methods in org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters with parameters of type Op03SimpleStatementModifier and TypeMethodDescriptionprivate static void
LValueCondense.applyLValueCondense
(AssignmentSimple a1, AssignmentSimple a2, Op03SimpleStatement stm1, Op03SimpleStatement stm2) private static void
LValueCondense.applyLValueSwap
(AssignmentSimple a1, AssignmentSimple a2, Op03SimpleStatement stm1, Op03SimpleStatement stm2) private static boolean
ConditionalCondenser.appropriateForIfAssignmentCollapse1
(Op03SimpleStatement statement) private static boolean
ConditionalCondenser.appropriateForIfAssignmentCollapse2
(Op03SimpleStatement statement) private static boolean
SwitchReplacer.blockIsContiguous
(List<Op03SimpleStatement> in, Op03SimpleStatement start, Set<Op03SimpleStatement> blockContent) private static void
SwitchReplacer.buildSwitchCases
(Op03SimpleStatement swatch, List<Op03SimpleStatement> targets, BlockIdentifier switchBlockIdentifier, List<Op03SimpleStatement> in, boolean forcedOrder) void
Misc.GraphVisitorBlockReachable.call
(Op03SimpleStatement arg1, GraphVisitor<Op03SimpleStatement> arg2) void
Misc.GraphVisitorReachableInThese.call
(Op03SimpleStatement node, GraphVisitor<Op03SimpleStatement> graphVisitor) void
SwitchReplacer.NodeReachable.call
(Op03SimpleStatement arg1, GraphVisitor<Op03SimpleStatement> arg2) void
SwitchReplacer.NodesReachedUntil.call
(Op03SimpleStatement arg1, GraphVisitor<Op03SimpleStatement> arg2) (package private) static void
SwitchUtils.checkFixNewCase
(Op03SimpleStatement possCaseItem, Op03SimpleStatement possCase) private static int
SwitchReplacer.checkPreSwitchJump
(List<Op03SimpleStatement> statements, Op03SimpleStatement switchStm, int idxLastStart, int idxLastEnd) private static void
ClassifyGotos.classifyCatchLeaveGoto
(Op03SimpleStatement gotoStm, int idx, Set<BlockIdentifier> tryBlockIdents, Map<BlockIdentifier, Op03SimpleStatement> tryStatementsByBlock, Map<BlockIdentifier, List<BlockIdentifier>> catchStatementByBlock, Map<BlockIdentifier, Set<BlockIdentifier>> catchBlockToTryBlocks, List<Op03SimpleStatement> in) private static boolean
ClassifyGotos.classifyTryCatchLeaveGoto
(Op03SimpleStatement gotoStm, Set<BlockIdentifier> blocks, int idx, Set<BlockIdentifier> tryBlockIdents, Map<BlockIdentifier, Op03SimpleStatement> tryStatementsByBlock, Map<BlockIdentifier, List<BlockIdentifier>> catchStatementByBlock, List<Op03SimpleStatement> in) private static boolean
ClassifyGotos.classifyTryLeaveGoto
(Op03SimpleStatement gotoStm, int idx, Set<BlockIdentifier> tryBlockIdents, Map<BlockIdentifier, Op03SimpleStatement> tryStatementsByBlock, Map<BlockIdentifier, List<BlockIdentifier>> catchStatementByBlock, List<Op03SimpleStatement> in) private void
ConditionalCondenser.collapseAssignmentsIntoConditional
(Op03SimpleStatement ifStatement) private static void
ExceptionRewriters.combineTryCatchBlocks
(Op03SimpleStatement tryStatement) private static void
TryRewriter.combineTryCatchEnds
(Op03SimpleStatement tryStatement, List<Op03SimpleStatement> in) int
CompareByIndex.compare
(Op03SimpleStatement a, Op03SimpleStatement b) private static boolean
CondenseConditionals.condenseConditional2_type1
(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> allStatements) private static boolean
CondenseConditionals.condenseConditional2_type2
(Op03SimpleStatement ifStatement) private static boolean
CondenseConditionals.condenseConditional2_type3
(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> allStatements) private static boolean
CondenseConditionals.condenseIfs
(Op03SimpleStatement if1, Op03SimpleStatement if2, Op03SimpleStatement taken1, Op03SimpleStatement taken2, Op03SimpleStatement fall2, boolean negated1) private void
StaticInstanceCondenser.consider
(Op03SimpleStatement stm) private static boolean
ConditionalRewriter.considerAsDexIf
(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> statements) private static BlockIdentifier
LoopIdentifier.considerAsDoLoopStart
(Op03SimpleStatement start, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Map<BlockIdentifier, Op03SimpleStatement> postBlockCache) private static void
LoopIdentifier.considerAsPathologicalLoop
(Op03SimpleStatement start, List<Op03SimpleStatement> statements) private static boolean
ConditionalRewriter.considerAsSimpleIf
(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Set<Op03SimpleStatement> ignoreTheseJumps, boolean reduceSimpleScope) private static boolean
ConditionalRewriter.considerAsTrivialIf
(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> statements) private static BlockIdentifier
LoopIdentifier.considerAsWhileLoopStart
(Method method, Op03SimpleStatement start, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Map<BlockIdentifier, Op03SimpleStatement> postBlockCache) (package private) static boolean
LoopIdentifier.containsTargetInBlock
(Op03SimpleStatement stm, BlockIdentifier block) private List<Op03SimpleStatement>
JumpsIntoLoopCloneRewriter.copyBlock
(Op03SimpleStatement stm, Op03SimpleStatement caller, Op03SimpleStatement start, Op03SimpleStatement end, Set<Op03SimpleStatement> valid, BlockIdentifier containedIn, Set<Op03SimpleStatement> addSources, Map<Op03SimpleStatement, Op03SimpleStatement> orig2copy) private void
InlineDeAssigner.deAssign
(Op03SimpleStatement container, List<Op03SimpleStatement> added) private void
InlineDeAssigner.deAssign
(AssignmentSimple assignmentSimple, Op03SimpleStatement container, List<Op03SimpleStatement> added) private static boolean
LoopLivenessClash.detect
(Op03SimpleStatement statement, BytecodeMeta bytecodeMeta) private static boolean
ConditionalRewriter.detectAndRemarkJumpIntoOther
(Set<BlockIdentifier> blocksAtStart, Set<BlockIdentifier> blocksAtEnd, Op03SimpleStatement realEnd, Op03SimpleStatement ifStatement) private static boolean
ExceptionRewriters.eliminateCatchTemporary
(Op03SimpleStatement catchh) private static Op03SimpleStatement
SwitchReplacer.examineSwitchContiguity
(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, boolean pullCodeIntoCase, boolean allowMalformedSwitch, DecompilerComments comments, BytecodeMeta bytecodeMeta) private static void
TryRewriter.extendTryBlock
(Op03SimpleStatement tryStatement, List<Op03SimpleStatement> in, DCCommonState dcCommonState) private static void
TryRewriter.extractExceptionJumps
(Op03SimpleStatement tryi, List<Op03SimpleStatement> in) private static boolean
ExceptionRewriters.extractExceptionMiddle
(Op03SimpleStatement trystm, List<Op03SimpleStatement> statements, ExceptionRewriters.SingleExceptionAddressing trycatch) private static boolean
KotlinSwitchHandler.extractStringSwitch
(Op03SimpleStatement swatch, List<Op03SimpleStatement> in, BytecodeMeta bytecodeMeta) private static Op03SimpleStatement
LoopIdentifier.findFirstConditional
(Op03SimpleStatement start) WhileRewriter.findForInvariants
(Op03SimpleStatement start, BlockIdentifier whileLoop) private static Op03SimpleStatement
WhileRewriter.findMovableAssignment
(Op03SimpleStatement start, LValue lValue) (package private) static Op03SimpleStatement
Misc.findSingleBackSource
(Op03SimpleStatement start) private static void
SynchronizedBlocks.findSynchronizedRange
(Op03SimpleStatement start, Expression monitorEnterExpression) (package private) static Op03SimpleStatement
Misc.followNopGoto
(Op03SimpleStatement in, boolean requireJustOneSource, boolean aggressive) (package private) static Set<Op03SimpleStatement>
Misc.followNopGotoBackwards
(Op03SimpleStatement eventualtarget) static Op03SimpleStatement
Misc.followNopGotoChain
(Op03SimpleStatement in, boolean requireJustOneSource, boolean skipLabels) static Op03SimpleStatement
Misc.followNopGotoChainUntil
(Op03SimpleStatement in, Op03SimpleStatement until, boolean requireJustOneSource, boolean skipLabels) (package private) static Set<Op03SimpleStatement>
Misc.GraphVisitorBlockReachable.getBlockReachable
(Op03SimpleStatement start, BlockIdentifier blockIdentifier) (package private) static Pair<Set<Op03SimpleStatement>,
Set<Op03SimpleStatement>> Misc.GraphVisitorBlockReachable.getBlockReachableAndExits
(Op03SimpleStatement start, BlockIdentifier blockIdentifier) (package private) static Op03SimpleStatement
LoopIdentifier.getCloseFwdJumpInto
(Op03SimpleStatement start, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements, int startIdx, int lastIdx) private static Op03SimpleStatement
WhileRewriter.getForInvariant
(Op03SimpleStatement start, LValue invariant, BlockIdentifier whileLoop) private static Op03SimpleStatement
TryRewriter.getLastContiguousBlockStatement
(BlockIdentifier blockIdentifier, List<Op03SimpleStatement> in, Op03SimpleStatement preBlock) private static LinearScannedBlock
ExceptionRewriters.getLinearScannedBlock
(List<Op03SimpleStatement> statements, int idx, Op03SimpleStatement stm, BlockIdentifier blockIdentifier, boolean prefix) private Op03SimpleStatement
JumpsIntoLoopCloneRewriter.getPossLast
(Op03SimpleStatement stm, BlockIdentifier ident) private static ExceptionRewriters.SingleExceptionAddressing
ExceptionRewriters.getSingleTryCatch
(Op03SimpleStatement trystm, List<Op03SimpleStatement> statements) private boolean
JumpsIntoLoopCloneRewriter.handleConditionalCaller
(Op03SimpleStatement stm, Op03SimpleStatement caller, Op03SimpleStatement target, Map<Op03SimpleStatement, Op03SimpleStatement> copies) private static void
ExceptionRewriters.identifyCatchBlock
(Op03SimpleStatement start, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements) private static Op03SimpleStatement
ExceptionRewriters.insertBlockPadding
(String comment, Op03SimpleStatement insertAfter, Op03SimpleStatement insertBefore, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements) Misc.GetBackJump.invoke
(Op03SimpleStatement in) private static Op03SimpleStatement
PointlessJumps.maybeMoveTarget
(Op03SimpleStatement expectedRetarget, Op03SimpleStatement source, List<Op03SimpleStatement> statements) private static void
SwitchReplacer.moveInternalJumpsToTerminal
(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, Op03SimpleStatement lastTgt, Op03SimpleStatement following, List<Op03SimpleStatement> forwardJumpSources) private static void
SwitchReplacer.moveJumpsToCaseStatements
(Op03SimpleStatement switchStatement) private static void
SwitchReplacer.moveJumpsToTerminalIfEmpty
(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements) private static Op03SimpleStatement
SwitchReplacer.moveSwitch
(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, Op03SimpleStatement firstCase, int idxFirstCase, List<Op03SimpleStatement> targets) private void
JumpsIntoLoopCloneRewriter.nopPointlessCondition
(IfStatement newConditionStatement, Op03SimpleStatement newCondition) private static boolean
DupAssigns.normalizeDupAssigns_type1
(Op03SimpleStatement stm) private static boolean
RemoveDeterministicJumps.propagateLiteralReturn
(Method method, Op03SimpleStatement original, Map<LValue, Literal> display) private static boolean
RemoveDeterministicJumps.propagateLiteralReturn
(Method method, Op03SimpleStatement original, Op03SimpleStatement orignext, LValue originalLValue, Expression originalRValue, Map<LValue, Literal> display) private static boolean
PrePostchangeAssignmentRewriter.pushPreChange
(Op03SimpleStatement preChange, boolean back) private static boolean
ReturnRewriter.pushReturnBack
(Op03SimpleStatement returnStm) private static boolean
PushThroughGoto.pushThroughGoto
(Op03SimpleStatement forwardGoto, List<Op03SimpleStatement> statements) private void
JumpsIntoLoopCloneRewriter.refactorDo
(List<Op03SimpleStatement> addThese, Op03SimpleStatement stm, BlockIdentifier ident) private void
JumpsIntoLoopCloneRewriter.refactorWhile
(List<Op03SimpleStatement> addThese, Op03SimpleStatement stm, BlockIdentifier ident) private static boolean
SynchronizedRewriter.removeSynchronizedCatchBlock
(Op03SimpleStatement start, List<Op03SimpleStatement> statements) private static void
RemoveDeterministicJumps.replace
(Op03SimpleStatement source, boolean isIf, ReturnStatement returnNothingStatement) private static void
RemoveDeterministicJumps.replaceAssignmentReturn
(Op03SimpleStatement assignment, ReturnStatement returnStatement) private static void
RemoveDeterministicJumps.replaceConditionalReturn
(Op03SimpleStatement conditional, ReturnStatement returnStatement) private static void
ConditionalSimplifier.replaceEclipseReturn
(Op03SimpleStatement statement, IfStatement ifStatement) private static void
PrePostchangeAssignmentRewriter.replacePostChangeAssignment
(Op03SimpleStatement statement) private static boolean
PrePostchangeAssignmentRewriter.replacePreChangeAssignment
(Op03SimpleStatement statement) private static Op03SimpleStatement
SwitchReplacer.replaceRawSwitch
(Method method, Op03SimpleStatement swatch, List<Op03SimpleStatement> in, BlockIdentifierFactory blockIdentifierFactory, Options options) private static void
ReturnRewriter.replaceReturningIf
(Op03SimpleStatement ifStatement, boolean aggressive) private static boolean
AnonymousArray.resugarAnonymousArray
(Op03SimpleStatement newArray) private boolean
DeadConditionalRemover.rewrite
(Op03SimpleStatement stm) private static void
InlineDeAssigner.rewrite
(InlineDeAssigner.Deassigner deassigner, Op03SimpleStatement container, List<Op03SimpleStatement> added) private static void
IterLoopRewriter.rewriteArrayForLoop
(Op03SimpleStatement loop, List<Op03SimpleStatement> statements) private static void
WhileRewriter.rewriteDoWhileTruePredAsWhile
(Op03SimpleStatement end, List<Op03SimpleStatement> statements) private static boolean
SwitchReplacer.rewriteDuff
(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, VariableFactory vf, DecompilerComments decompilerComments) private static void
LoopIdentifier.rewriteEndLoopOverlapStatement
(Op03SimpleStatement oldEnd, BlockIdentifier loopBlock) private static void
IterLoopRewriter.rewriteIteratorWhileLoop
(Op03SimpleStatement loop, List<Op03SimpleStatement> statements) private static void
TryRewriter.rewriteTryBackJump
(Op03SimpleStatement stm) private static void
WhileRewriter.rewriteWhileAsFor
(Op03SimpleStatement statement, boolean aggcapture) static Op03SimpleStatement
Misc.skipComments
(Op03SimpleStatement stm) boolean
ConditionalRewriter.IsForwardIf.test
(Op03SimpleStatement in) boolean
ExactTypeFilter.test
(Op03SimpleStatement in) boolean
Misc.HasBackJump.test
(Op03SimpleStatement in) boolean
Misc.IsBackJumpTo.test
(Op03SimpleStatement in) boolean
Misc.IsForwardJumpTo.test
(Op03SimpleStatement in) boolean
PrePostchangeAssignmentRewriter.StatementCanBePostMutation.test
(Op03SimpleStatement in) boolean
SynchronizedRewriter.FindBlockStarts.test
(Op03SimpleStatement in) boolean
TypeFilter.test
(Op03SimpleStatement in) private static ConditionalRewriter.DiscoveredTernary
ConditionalRewriter.testForTernary
(List<Op03SimpleStatement> ifBranch, List<Op03SimpleStatement> elseBranch, Op03SimpleStatement leaveIfBranch) private static void
SwitchReplacer.tightenJumpsToTerminal
(List<Op03SimpleStatement> statements, BlockIdentifier switchBlock, Op03SimpleStatement following, Op03SimpleStatement followingTrans) private static void
SwitchReplacer.tryInlineRawSwitchContent
(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements) private static int
LoopIdentifier.validateAndAssignLoopIdentifier
(List<Op03SimpleStatement> statements, int idxTestStart, int idxAfterEnd, BlockIdentifier blockIdentifier, Op03SimpleStatement start) private static boolean
SynchronizedRewriter.verifyLinearBlock
(Op03SimpleStatement current, BlockIdentifier block, int num) private GraphVisitor<Op03SimpleStatement>
JumpsIntoLoopCloneRewriter.visitCandidates
(BlockIdentifier blockIdent, Op03SimpleStatement possLast, Map<Op03SimpleStatement, Op03SimpleStatement> candidates) Method parameters in org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters with type arguments of type Op03SimpleStatementModifier and TypeMethodDescriptionprivate static boolean
SynchronizedBlocks.anyOpHasEffect
(List<Op03SimpleStatement> ops) static List<Op03SimpleStatement>
RemoveDeterministicJumps.apply
(Method method, List<Op03SimpleStatement> statements) private static boolean
SwitchReplacer.blockIsContiguous
(List<Op03SimpleStatement> in, Op03SimpleStatement start, Set<Op03SimpleStatement> blockContent) private static boolean
SwitchReplacer.blockIsContiguous
(List<Op03SimpleStatement> in, Op03SimpleStatement start, Set<Op03SimpleStatement> blockContent) private static void
SwitchReplacer.buildSwitchCases
(Op03SimpleStatement swatch, List<Op03SimpleStatement> targets, BlockIdentifier switchBlockIdentifier, List<Op03SimpleStatement> in, boolean forcedOrder) void
Misc.GraphVisitorBlockReachable.call
(Op03SimpleStatement arg1, GraphVisitor<Op03SimpleStatement> arg2) void
Misc.GraphVisitorReachableInThese.call
(Op03SimpleStatement node, GraphVisitor<Op03SimpleStatement> graphVisitor) void
SwitchReplacer.NodeReachable.call
(Op03SimpleStatement arg1, GraphVisitor<Op03SimpleStatement> arg2) void
SwitchReplacer.NodesReachedUntil.call
(Op03SimpleStatement arg1, GraphVisitor<Op03SimpleStatement> arg2) private static int
SwitchReplacer.checkPreSwitchJump
(List<Op03SimpleStatement> statements, Op03SimpleStatement switchStm, int idxLastStart, int idxLastEnd) (package private) static void
ClassifyGotos.classifyAnonymousBlockGotos
(List<Op03SimpleStatement> in, boolean agressive) static void
Op03Rewriters.classifyAnonymousBlockGotos
(List<Op03SimpleStatement> op03SimpleParseNodes, boolean aggressive) private static void
ClassifyGotos.classifyCatchLeaveGoto
(Op03SimpleStatement gotoStm, int idx, Set<BlockIdentifier> tryBlockIdents, Map<BlockIdentifier, Op03SimpleStatement> tryStatementsByBlock, Map<BlockIdentifier, List<BlockIdentifier>> catchStatementByBlock, Map<BlockIdentifier, Set<BlockIdentifier>> catchBlockToTryBlocks, List<Op03SimpleStatement> in) private static void
ClassifyGotos.classifyCatchLeaveGoto
(Op03SimpleStatement gotoStm, int idx, Set<BlockIdentifier> tryBlockIdents, Map<BlockIdentifier, Op03SimpleStatement> tryStatementsByBlock, Map<BlockIdentifier, List<BlockIdentifier>> catchStatementByBlock, Map<BlockIdentifier, Set<BlockIdentifier>> catchBlockToTryBlocks, List<Op03SimpleStatement> in) (package private) static void
ClassifyGotos.classifyGotos
(List<Op03SimpleStatement> in) static void
Op03Rewriters.classifyGotos
(List<Op03SimpleStatement> op03SimpleParseNodes) private static boolean
ClassifyGotos.classifyTryCatchLeaveGoto
(Op03SimpleStatement gotoStm, Set<BlockIdentifier> blocks, int idx, Set<BlockIdentifier> tryBlockIdents, Map<BlockIdentifier, Op03SimpleStatement> tryStatementsByBlock, Map<BlockIdentifier, List<BlockIdentifier>> catchStatementByBlock, List<Op03SimpleStatement> in) private static boolean
ClassifyGotos.classifyTryCatchLeaveGoto
(Op03SimpleStatement gotoStm, Set<BlockIdentifier> blocks, int idx, Set<BlockIdentifier> tryBlockIdents, Map<BlockIdentifier, Op03SimpleStatement> tryStatementsByBlock, Map<BlockIdentifier, List<BlockIdentifier>> catchStatementByBlock, List<Op03SimpleStatement> in) private static boolean
ClassifyGotos.classifyTryLeaveGoto
(Op03SimpleStatement gotoStm, int idx, Set<BlockIdentifier> tryBlockIdents, Map<BlockIdentifier, Op03SimpleStatement> tryStatementsByBlock, Map<BlockIdentifier, List<BlockIdentifier>> catchStatementByBlock, List<Op03SimpleStatement> in) private static boolean
ClassifyGotos.classifyTryLeaveGoto
(Op03SimpleStatement gotoStm, int idx, Set<BlockIdentifier> tryBlockIdents, Map<BlockIdentifier, Op03SimpleStatement> tryStatementsByBlock, Map<BlockIdentifier, List<BlockIdentifier>> catchStatementByBlock, List<Op03SimpleStatement> in) static void
Op03Rewriters.cloneCodeFromLoop
(List<Op03SimpleStatement> op03SimpleParseNodes, Options options, DecompilerComments comments) (package private) static void
ConditionalCondenser.collapseAssignmentsIntoConditionals
(List<Op03SimpleStatement> statements, Options options, ClassFileVersion classFileVersion) static void
Op03Rewriters.collapseAssignmentsIntoConditionals
(List<Op03SimpleStatement> op03SimpleParseNodes, Options options, ClassFileVersion classFileVersion) (package private) static Set<Op03SimpleStatement>
Misc.collectAllSources
(Collection<Op03SimpleStatement> statements) (package private) static void
ExceptionRewriters.combineTryCatchBlocks
(List<Op03SimpleStatement> in) static void
Op03Rewriters.combineTryCatchBlocks
(List<Op03SimpleStatement> op03SimpleParseNodes) static void
Op03Rewriters.combineTryCatchEnds
(List<Op03SimpleStatement> in) (package private) static void
TryRewriter.combineTryCatchEnds
(List<Op03SimpleStatement> in) private static void
TryRewriter.combineTryCatchEnds
(Op03SimpleStatement tryStatement, List<Op03SimpleStatement> in) static void
MonitorRewriter.commentMonitors
(List<Op03SimpleStatement> statements) static void
Op03Rewriters.commentMonitors
(List<Op03SimpleStatement> op03SimpleParseNodes) private static boolean
CondenseConditionals.condenseConditional2_type1
(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> allStatements) private static boolean
CondenseConditionals.condenseConditional2_type3
(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> allStatements) static boolean
CondenseConditionals.condenseConditionals
(List<Op03SimpleStatement> statements) static boolean
Op03Rewriters.condenseConditionals
(List<Op03SimpleStatement> op03SimpleParseNodes) static boolean
CondenseConditionals.condenseConditionals2
(List<Op03SimpleStatement> statements) static boolean
Op03Rewriters.condenseConditionals2
(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static void
CondenseConstruction.condenseConstruction
(DCCommonState state, Method method, List<Op03SimpleStatement> statements, AnonymousClassUsage anonymousClassUsage) static void
Op03Rewriters.condenseConstruction
(DCCommonState dcCommonState, Method method, List<Op03SimpleStatement> op03SimpleParseNodes, AnonymousClassUsage anonymousClassUsage) static void
LValueCondense.condenseLValueChain1
(List<Op03SimpleStatement> statements) static void
Op03Rewriters.condenseLValueChain1
(List<Op03SimpleStatement> op03SimpleParseNodes) static void
LValueCondense.condenseLValueChain2
(List<Op03SimpleStatement> statements) static void
Op03Rewriters.condenseLValueChain2
(List<Op03SimpleStatement> op03SimpleParseNodes) static void
LValueProp.condenseLValues
(List<Op03SimpleStatement> statements) static List<Op03SimpleStatement>
LValuePropSimple.condenseSimpleLValues
(List<Op03SimpleStatement> statementList) static void
Op03Rewriters.condenseStaticInstances
(List<Op03SimpleStatement> op03SimpleParseNodes) private static boolean
ConditionalRewriter.considerAsDexIf
(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> statements) private static BlockIdentifier
LoopIdentifier.considerAsDoLoopStart
(Op03SimpleStatement start, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Map<BlockIdentifier, Op03SimpleStatement> postBlockCache) private static BlockIdentifier
LoopIdentifier.considerAsDoLoopStart
(Op03SimpleStatement start, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Map<BlockIdentifier, Op03SimpleStatement> postBlockCache) private static void
LoopIdentifier.considerAsPathologicalLoop
(Op03SimpleStatement start, List<Op03SimpleStatement> statements) private static boolean
ConditionalRewriter.considerAsSimpleIf
(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Set<Op03SimpleStatement> ignoreTheseJumps, boolean reduceSimpleScope) private static boolean
ConditionalRewriter.considerAsSimpleIf
(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Set<Op03SimpleStatement> ignoreTheseJumps, boolean reduceSimpleScope) private static boolean
ConditionalRewriter.considerAsTrivialIf
(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> statements) private static BlockIdentifier
LoopIdentifier.considerAsWhileLoopStart
(Method method, Op03SimpleStatement start, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Map<BlockIdentifier, Op03SimpleStatement> postBlockCache) private static BlockIdentifier
LoopIdentifier.considerAsWhileLoopStart
(Method method, Op03SimpleStatement start, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Map<BlockIdentifier, Op03SimpleStatement> postBlockCache) private List<Op03SimpleStatement>
JumpsIntoLoopCloneRewriter.copyBlock
(Op03SimpleStatement stm, Op03SimpleStatement caller, Op03SimpleStatement start, Op03SimpleStatement end, Set<Op03SimpleStatement> valid, BlockIdentifier containedIn, Set<Op03SimpleStatement> addSources, Map<Op03SimpleStatement, Op03SimpleStatement> orig2copy) private List<Op03SimpleStatement>
JumpsIntoLoopCloneRewriter.copyBlock
(Op03SimpleStatement stm, Op03SimpleStatement caller, Op03SimpleStatement start, Op03SimpleStatement end, Set<Op03SimpleStatement> valid, BlockIdentifier containedIn, Set<Op03SimpleStatement> addSources, Map<Op03SimpleStatement, Op03SimpleStatement> orig2copy) private List<Op03SimpleStatement>
JumpsIntoLoopCloneRewriter.copyBlock
(Op03SimpleStatement stm, Op03SimpleStatement caller, Op03SimpleStatement start, Op03SimpleStatement end, Set<Op03SimpleStatement> valid, BlockIdentifier containedIn, Set<Op03SimpleStatement> addSources, Map<Op03SimpleStatement, Op03SimpleStatement> orig2copy) private List<Op03SimpleStatement>
JumpsIntoLoopCloneRewriter.copyST
(List<Op03SimpleStatement> original, Map<Op03SimpleStatement, Op03SimpleStatement> replacements, boolean failIfMissing) private List<Op03SimpleStatement>
JumpsIntoLoopCloneRewriter.copyST
(List<Op03SimpleStatement> original, Map<Op03SimpleStatement, Op03SimpleStatement> replacements, boolean failIfMissing) private List<Op03SimpleStatement>
JumpsIntoLoopCloneRewriter.copyST
(List<Op03SimpleStatement> original, Map<Op03SimpleStatement, Op03SimpleStatement> replacements, boolean failIfMissing) private void
InlineDeAssigner.deAssign
(Op03SimpleStatement container, List<Op03SimpleStatement> added) private void
InlineDeAssigner.deAssign
(AssignmentSimple assignmentSimple, Op03SimpleStatement container, List<Op03SimpleStatement> added) static boolean
LoopLivenessClash.detect
(List<Op03SimpleStatement> statements, BytecodeMeta bytecodeMeta) static void
EclipseLoops.eclipseLoopPass
(List<Op03SimpleStatement> statements) static void
Op03Rewriters.eclipseLoopPass
(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static List<Op03SimpleStatement>
ExceptionRewriters.eliminateCatchTemporaries
(List<Op03SimpleStatement> statements) static List<Op03SimpleStatement>
Op03Rewriters.eliminateCatchTemporaries
(List<Op03SimpleStatement> op03SimpleParseNodes) private static Op03SimpleStatement
SwitchReplacer.examineSwitchContiguity
(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, boolean pullCodeIntoCase, boolean allowMalformedSwitch, DecompilerComments comments, BytecodeMeta bytecodeMeta) private static void
TryRewriter.extendTryBlock
(Op03SimpleStatement tryStatement, List<Op03SimpleStatement> in, DCCommonState dcCommonState) static void
Op03Rewriters.extendTryBlocks
(DCCommonState dcCommonState, List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static void
TryRewriter.extendTryBlocks
(DCCommonState dcCommonState, List<Op03SimpleStatement> in) (package private) static void
AssertionJumps.extractAssertionJumps
(List<Op03SimpleStatement> in) static void
Op03Rewriters.extractAssertionJumps
(List<Op03SimpleStatement> op03SimpleParseNodes) static void
InlineDeAssigner.extractAssignments
(List<Op03SimpleStatement> statements) private static void
ExceptionRewriters.extractCatchEnd
(List<Op03SimpleStatement> statements, ExceptionRewriters.SingleExceptionAddressing trycatch) static void
Op03Rewriters.extractExceptionJumps
(List<Op03SimpleStatement> in) (package private) static void
TryRewriter.extractExceptionJumps
(List<Op03SimpleStatement> in) private static void
TryRewriter.extractExceptionJumps
(Op03SimpleStatement tryi, List<Op03SimpleStatement> in) (package private) static void
ExceptionRewriters.extractExceptionMiddle
(List<Op03SimpleStatement> in) private static boolean
ExceptionRewriters.extractExceptionMiddle
(Op03SimpleStatement trystm, List<Op03SimpleStatement> statements, ExceptionRewriters.SingleExceptionAddressing trycatch) static void
Op03Rewriters.extractExceptionMiddle
(List<Op03SimpleStatement> op03SimpleParseNodes) private static boolean
KotlinSwitchHandler.extractStringSwitch
(Op03SimpleStatement swatch, List<Op03SimpleStatement> in, BytecodeMeta bytecodeMeta) static List<Op03SimpleStatement>
KotlinSwitchHandler.extractStringSwitches
(List<Op03SimpleStatement> in, BytecodeMeta bytecodeMeta) (package private) static BlockIdentifier
Misc.findOuterBlock
(BlockIdentifier b1, BlockIdentifier b2, List<Op03SimpleStatement> statements) private static int
ConditionalRewriter.findOverIdx
(int startNext, List<Op03SimpleStatement> statements) static void
SynchronizedBlocks.findSynchronizedBlocks
(List<Op03SimpleStatement> statements) private static void
LoopIdentifier.fixLoopOverlaps
(List<Op03SimpleStatement> statements, List<LoopIdentifier.LoopResult> loopResults, Set<BlockIdentifier> relevantBlocks) static void
Misc.flattenCompoundStatements
(List<Op03SimpleStatement> statements) (package private) static Set<BlockIdentifier>
FinallyRewriter.getBlocksAffectedByFinally
(List<Op03SimpleStatement> statements) (package private) static Op03SimpleStatement
LoopIdentifier.getCloseFwdJumpInto
(Op03SimpleStatement start, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements, int startIdx, int lastIdx) (package private) static int
Misc.getFarthestReachableInRange
(List<Op03SimpleStatement> statements, int start, int afterEnd) private static Map<BlockIdentifier,
Op03SimpleStatement> ExceptionRewriters.getFirstByBlock
(List<Op03SimpleStatement> in) private static Op03SimpleStatement
TryRewriter.getLastContiguousBlockStatement
(BlockIdentifier blockIdentifier, List<Op03SimpleStatement> in, Op03SimpleStatement preBlock) static Op03SimpleStatement
Misc.getLastInRangeByIndex
(Set<Op03SimpleStatement> stms) private static LinearScannedBlock
ExceptionRewriters.getLinearScannedBlock
(List<Op03SimpleStatement> statements, int idx, Op03SimpleStatement stm, BlockIdentifier blockIdentifier, boolean prefix) private static List<Op03SimpleStatement>
WhileRewriter.getMutations
(List<Op03SimpleStatement> backSources, LValue loopVariable, BlockIdentifier whileBlockIdentifier) private static ExceptionRewriters.SingleExceptionAddressing
ExceptionRewriters.getSingleTryCatch
(Op03SimpleStatement trystm, List<Op03SimpleStatement> statements) private static List<Op03SimpleStatement>
ExceptionRewriters.getTries
(List<Op03SimpleStatement> in) private boolean
JumpsIntoLoopCloneRewriter.handleConditionalCaller
(Op03SimpleStatement stm, Op03SimpleStatement caller, Op03SimpleStatement target, Map<Op03SimpleStatement, Op03SimpleStatement> copies) private boolean
JumpsIntoLoopCloneRewriter.handleConditionalCaller
(Op03SimpleStatement stm, Op03SimpleStatement caller, Op03SimpleStatement target, Map<Op03SimpleStatement, Op03SimpleStatement> copies) static void
ExceptionRewriters.handleEmptyTries
(List<Op03SimpleStatement> in) private static void
ExceptionRewriters.identifyCatchBlock
(Op03SimpleStatement start, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements) (package private) static void
ExceptionRewriters.identifyCatchBlocks
(List<Op03SimpleStatement> in, BlockIdentifierFactory blockIdentifierFactory) static void
Op03Rewriters.identifyCatchBlocks
(List<Op03SimpleStatement> op03SimpleParseNodes, BlockIdentifierFactory blockIdentifierFactory) static void
FinallyRewriter.identifyFinally
(Options options, Method method, List<Op03SimpleStatement> in, BlockIdentifierFactory blockIdentifierFactory) static void
LoopIdentifier.identifyLoops1
(Method method, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory) static void
ConditionalRewriter.identifyNonjumpingConditionals
(List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Options options) static void
GenericInferer.inferGenericObjectInfoFromCalls
(List<Op03SimpleStatement> statements) private static Op03SimpleStatement
ExceptionRewriters.insertBlockPadding
(String comment, Op03SimpleStatement insertAfter, Op03SimpleStatement insertBefore, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements) private static boolean
ConditionalRewriter.isRangeOnlyReachable
(int startIdx, int endIdx, int tgtIdx, List<Op03SimpleStatement> statements, Set<Op03SimpleStatement> permittedSources) private static boolean
ConditionalRewriter.isRangeOnlyReachable
(int startIdx, int endIdx, int tgtIdx, List<Op03SimpleStatement> statements, Set<Op03SimpleStatement> permittedSources) static void
AnonymousBlocks.labelAnonymousBlocks
(List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory) static void
Op03Rewriters.labelAnonymousBlocks
(List<Op03SimpleStatement> op03SimpleParseNodes, BlockIdentifierFactory blockIdentifierFactory) (package private) static void
Misc.markWholeBlock
(List<Op03SimpleStatement> statements, BlockIdentifier blockIdentifier) private static Op03SimpleStatement
PointlessJumps.maybeMoveTarget
(Op03SimpleStatement expectedRetarget, Op03SimpleStatement source, List<Op03SimpleStatement> statements) private boolean
JumpsIntoDoRewriter.maybeRewriteImmediate
(List<Op03SimpleStatement> op03SimpleParseNodes, int x) private static void
SwitchReplacer.moveInternalJumpsToTerminal
(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, Op03SimpleStatement lastTgt, Op03SimpleStatement following, List<Op03SimpleStatement> forwardJumpSources) static void
Op03Rewriters.moveJumpsIntoDo
(VariableFactory vf, List<Op03SimpleStatement> op03SimpleParseNodes, Options options, DecompilerComments comments) private static void
SwitchReplacer.moveJumpsToTerminalIfEmpty
(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements) private static Op03SimpleStatement
SwitchReplacer.moveSwitch
(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, Op03SimpleStatement firstCase, int idxFirstCase, List<Op03SimpleStatement> targets) static void
Op03Rewriters.narrowAssignmentTypes
(Method method, List<Op03SimpleStatement> statements) (package private) static void
IsolatedStackValue.nopIsolatedStackValues
(List<Op03SimpleStatement> statements) static void
Op03Rewriters.nopIsolatedStackValues
(List<Op03SimpleStatement> op03SimpleParseNodes) static boolean
DupAssigns.normalizeDupAssigns
(List<Op03SimpleStatement> statements) static boolean
Op03Rewriters.normalizeDupAssigns
(List<Op03SimpleStatement> op03SimpleParseNodes) static void
Op03Rewriters.optimiseForTypes
(List<Op03SimpleStatement> statements) static void
RemoveDeterministicJumps.propagateToReturn
(Method method, List<Op03SimpleStatement> statements) static void
Op03Rewriters.propagateToReturn2
(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static void
ReturnRewriter.propagateToReturn2
(List<Op03SimpleStatement> statements) static void
Op03Rewriters.pushPreChangeBack
(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static void
PrePostchangeAssignmentRewriter.pushPreChangeBack
(List<Op03SimpleStatement> statements) static List<Op03SimpleStatement>
Op03Rewriters.pushThroughGoto
(List<Op03SimpleStatement> op03SimpleParseNodes) static List<Op03SimpleStatement>
PushThroughGoto.pushThroughGoto
(List<Op03SimpleStatement> statements) private static boolean
PushThroughGoto.pushThroughGoto
(Op03SimpleStatement forwardGoto, List<Op03SimpleStatement> statements) static void
SwitchReplacer.rebuildSwitches
(List<Op03SimpleStatement> statements, Options options, DecompilerComments comments, BytecodeMeta bytecodeMeta) private void
JumpsIntoLoopCloneRewriter.refactorDo
(List<Op03SimpleStatement> addThese, Op03SimpleStatement stm, BlockIdentifier ident) private void
JumpsIntoLoopCloneRewriter.refactorWhile
(List<Op03SimpleStatement> addThese, Op03SimpleStatement stm, BlockIdentifier ident) void
LinearScannedBlock.reindex
(List<Op03SimpleStatement> in) static void
Cleaner.reindexInPlace
(List<Op03SimpleStatement> statements) (package private) static void
JoinBlocks.rejoinBlocks
(List<Op03SimpleStatement> statements) static void
Op03Rewriters.rejoinBlocks
(List<Op03SimpleStatement> op03SimpleParseNodes) static void
Cleaner.reLinkInPlace
(List<Op03SimpleStatement> statements) static List<Op03SimpleStatement>
Op03Rewriters.removeDeadConditionals
(List<Op03SimpleStatement> op03SimpleParseNodes) static void
Op03Rewriters.removePointlessExpressionStatements
(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static void
PointlessExpressions.removePointlessExpressionStatements
(List<Op03SimpleStatement> statements) static void
Op03Rewriters.removePointlessJumps
(List<Op03SimpleStatement> statements) static void
PointlessJumps.removePointlessJumps
(List<Op03SimpleStatement> statements) static List<Op03SimpleStatement>
Op03Rewriters.removeRedundantTries
(List<Op03SimpleStatement> op03SimpleParseNodes) static List<Op03SimpleStatement>
RedundantTries.removeRedundantTries
(List<Op03SimpleStatement> statements) private static boolean
SynchronizedRewriter.removeSynchronizedCatchBlock
(Op03SimpleStatement start, List<Op03SimpleStatement> statements) static void
Op03Rewriters.removeSynchronizedCatchBlocks
(Options options, List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static void
SynchronizedRewriter.removeSynchronizedCatchBlocks
(Options options, List<Op03SimpleStatement> in) static List<Op03SimpleStatement>
Cleaner.removeUnreachableCode
(List<Op03SimpleStatement> statements, boolean checkBackJumps) static List<Op03SimpleStatement>
Op03Rewriters.removeUselessNops
(List<Op03SimpleStatement> op03SimpleParseNodes) static List<Op03SimpleStatement>
UselessNops.removeUselessNops
(List<Op03SimpleStatement> in) static void
Op03Rewriters.replacePrePostChangeAssignments
(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static void
PrePostchangeAssignmentRewriter.replacePrePostChangeAssignments
(List<Op03SimpleStatement> statements) private static Op03SimpleStatement
SwitchReplacer.replaceRawSwitch
(Method method, Op03SimpleStatement swatch, List<Op03SimpleStatement> in, BlockIdentifierFactory blockIdentifierFactory, Options options) static void
SwitchReplacer.replaceRawSwitches
(Method method, List<Op03SimpleStatement> in, BlockIdentifierFactory blockIdentifierFactory, Options options, DecompilerComments comments, BytecodeMeta bytecodeMeta) static void
Op03Rewriters.replaceReturningIfs
(List<Op03SimpleStatement> op03SimpleParseNodes, boolean aggressive) (package private) static void
ReturnRewriter.replaceReturningIfs
(List<Op03SimpleStatement> statements, boolean aggressive) static void
Op03Rewriters.replaceStackVarsWithLocals
(List<Op03SimpleStatement> op03SimpleParseNodes) static void
AnonymousArray.resugarAnonymousArrays
(List<Op03SimpleStatement> statements) void
BadCompareRewriter.rewrite
(List<Op03SimpleStatement> op03SimpleParseNodes) DeadConditionalRemover.rewrite
(List<Op03SimpleStatement> statements) private static void
InlineDeAssigner.rewrite
(InlineDeAssigner.Deassigner deassigner, Op03SimpleStatement container, List<Op03SimpleStatement> added) void
JumpsIntoDoRewriter.rewrite
(List<Op03SimpleStatement> op03SimpleParseNodes, DecompilerComments comments) void
JumpsIntoLoopCloneRewriter.rewrite
(List<Op03SimpleStatement> op03SimpleParseNodes, DecompilerComments comments) static void
NarrowingTypeRewriter.rewrite
(Method method, List<Op03SimpleStatement> statements) static List<Op03SimpleStatement>
StaticInitReturnRewriter.rewrite
(Options options, Method method, List<Op03SimpleStatement> statementList) void
StaticInstanceCondenser.rewrite
(List<Op03SimpleStatement> statements) private static void
IterLoopRewriter.rewriteArrayForLoop
(Op03SimpleStatement loop, List<Op03SimpleStatement> statements) static void
IterLoopRewriter.rewriteArrayForLoops
(List<Op03SimpleStatement> statements) static void
Op03Rewriters.rewriteBadCompares
(VariableFactory vf, List<Op03SimpleStatement> op03SimpleParseNodes) static void
BreakRewriter.rewriteBreakStatements
(List<Op03SimpleStatement> statements) static void
Op03Rewriters.rewriteBreakStatements
(List<Op03SimpleStatement> op03SimpleParseNodes) static void
Op03Rewriters.rewriteDoWhileTruePredAsWhile
(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static void
WhileRewriter.rewriteDoWhileTruePredAsWhile
(List<Op03SimpleStatement> statements) private static void
WhileRewriter.rewriteDoWhileTruePredAsWhile
(Op03SimpleStatement end, List<Op03SimpleStatement> statements) static List<Op03SimpleStatement>
SwitchReplacer.rewriteDuff
(List<Op03SimpleStatement> statements, VariableFactory vf, DecompilerComments decompilerComments, Options options) private static boolean
SwitchReplacer.rewriteDuff
(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, VariableFactory vf, DecompilerComments decompilerComments) private static void
IterLoopRewriter.rewriteIteratorWhileLoop
(Op03SimpleStatement loop, List<Op03SimpleStatement> statements) static void
IterLoopRewriter.rewriteIteratorWhileLoops
(List<Op03SimpleStatement> statements) static void
NegativeJumps.rewriteNegativeJumps
(List<Op03SimpleStatement> statements, boolean requireChainedConditional) static void
Op03Rewriters.rewriteNegativeJumps
(List<Op03SimpleStatement> statements, boolean requireChainedConditional) static void
Op03Rewriters.rewriteTryBackJumps
(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static void
TryRewriter.rewriteTryBackJumps
(List<Op03SimpleStatement> in) static void
Op03Rewriters.rewriteWhilesAsFors
(Options options, List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static void
WhileRewriter.rewriteWhilesAsFors
(Options options, List<Op03SimpleStatement> statements) static void
Op03Rewriters.rewriteWith
(List<Op03SimpleStatement> in, ExpressionRewriter expressionRewriter) (package private) static void
ConditionalSimplifier.simplifyConditionals
(List<Op03SimpleStatement> statements, boolean aggressive, Method method) static void
Op03Rewriters.simplifyConditionals
(List<Op03SimpleStatement> op03SimpleParseNodes, boolean aggressive, Method method) static List<Op03SimpleStatement>
Cleaner.sortAndRenumber
(List<Op03SimpleStatement> statements) (package private) static void
Cleaner.sortAndRenumberFromInPlace
(List<Op03SimpleStatement> statements, InstrIndex start) (package private) static void
Cleaner.sortAndRenumberInPlace
(List<Op03SimpleStatement> statements) private static ConditionalRewriter.DiscoveredTernary
ConditionalRewriter.testForTernary
(List<Op03SimpleStatement> ifBranch, List<Op03SimpleStatement> elseBranch, Op03SimpleStatement leaveIfBranch) private static void
SwitchReplacer.tightenJumpsToTerminal
(List<Op03SimpleStatement> statements, BlockIdentifier switchBlock, Op03SimpleStatement following, Op03SimpleStatement followingTrans) private static void
SwitchReplacer.tryInlineRawSwitchContent
(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements) private static int
LoopIdentifier.validateAndAssignLoopIdentifier
(List<Op03SimpleStatement> statements, int idxTestStart, int idxAfterEnd, BlockIdentifier blockIdentifier, Op03SimpleStatement start) private GraphVisitor<Op03SimpleStatement>
JumpsIntoLoopCloneRewriter.visitCandidates
(BlockIdentifier blockIdent, Op03SimpleStatement possLast, Map<Op03SimpleStatement, Op03SimpleStatement> candidates) private GraphVisitor<Op03SimpleStatement>
JumpsIntoLoopCloneRewriter.visitCandidates
(BlockIdentifier blockIdent, Op03SimpleStatement possLast, Map<Op03SimpleStatement, Op03SimpleStatement> candidates) Constructors in org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters with parameters of type Op03SimpleStatementModifierConstructorDescriptionprivate
GraphVisitorBlockReachable
(Op03SimpleStatement start, BlockIdentifier blockIdentifier) LinearScannedBlock
(Op03SimpleStatement first, Op03SimpleStatement last, int idxFirst, int idxLast) private
LoopResult
(BlockIdentifier blockIdentifier, Op03SimpleStatement blockStart) private
NodeReachable
(Set<Op03SimpleStatement> otherCases, Op03SimpleStatement start, Op03SimpleStatement switchStatement, boolean forcedOrder) private
NodesReachedUntil
(Op03SimpleStatement start, Op03SimpleStatement target, Set<Op03SimpleStatement> banned) (package private)
OriginalSwitchLookupInfo
(Op03SimpleStatement ifTest, Op03SimpleStatement stringMatchJump, TypedLiteral literal, Op03SimpleStatement target) Constructor parameters in org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters with type arguments of type Op03SimpleStatementModifierConstructorDescription(package private)
GraphVisitorReachableInThese
(Set<Integer> reachable, Map<Op03SimpleStatement, Integer> instrToIdx) private
NodeReachable
(Set<Op03SimpleStatement> otherCases, Op03SimpleStatement start, Op03SimpleStatement switchStatement, boolean forcedOrder) private
NodesReachedUntil
(Op03SimpleStatement start, Op03SimpleStatement target, Set<Op03SimpleStatement> banned) -
Uses of Op03SimpleStatement in org.benf.cfr.reader.bytecode.analysis.parse.utils
Fields in org.benf.cfr.reader.bytecode.analysis.parse.utils declared as Op03SimpleStatementModifier and TypeFieldDescriptionprivate final Op03SimpleStatement
LValueAssignmentExpressionRewriter.source
Methods in org.benf.cfr.reader.bytecode.analysis.parse.utils with parameters of type Op03SimpleStatementModifier and TypeMethodDescriptionprivate boolean
LValueAssignmentAndAliasCondenser.jumpsMethods
(Op03SimpleStatement lvSc, Op03SimpleStatement statementContainer) Constructors in org.benf.cfr.reader.bytecode.analysis.parse.utils with parameters of type Op03SimpleStatementModifierConstructorDescriptionLValueAssignmentExpressionRewriter
(LValue lValue, AbstractAssignmentExpression lValueReplacement, Op03SimpleStatement source) -
Uses of Op03SimpleStatement in org.benf.cfr.reader.bytecode.analysis.parse.utils.finalhelp
Fields in org.benf.cfr.reader.bytecode.analysis.parse.utils.finalhelp declared as Op03SimpleStatementModifier and TypeFieldDescriptionprivate final Op03SimpleStatement
Result.afterEnd
private final Op03SimpleStatement
FinallyCatchBody.catchCodeStart
private final Op03SimpleStatement
PeerTries.possibleFinallyCatch
private final Op03SimpleStatement
Result.start
private final Op03SimpleStatement
FinallyCatchBody.throwOp
Fields in org.benf.cfr.reader.bytecode.analysis.parse.utils.finalhelp with type parameters of type Op03SimpleStatementModifier and TypeFieldDescriptionprivate final List<Op03SimpleStatement>
FinallyCatchBody.body
private final Set<Op03SimpleStatement>
FinallyCatchBody.bodySet
private final Set<Op03SimpleStatement>
PeerTries.PeerTrySet.content
private Map<BlockIdentifier,
Op03SimpleStatement> PeerTries.guessPeerTryMap
private Set<Op03SimpleStatement>
PeerTries.guessPeerTryStarts
private final Set<Op03SimpleStatement>
PeerTries.seenEver
private final LinkedList<Op03SimpleStatement>
PeerTries.toProcess
private final Set<Op03SimpleStatement>
Result.toRemove
Methods in org.benf.cfr.reader.bytecode.analysis.parse.utils.finalhelp that return Op03SimpleStatementModifier and TypeMethodDescriptionprivate static Op03SimpleStatement
FinalAnalyzer.findPossibleFinallyCatch
(Set<Op03SimpleStatement> possibleCatches) Result.getAfterEnd()
(package private) Op03SimpleStatement
FinallyCatchBody.getCatchCodeStart()
(package private) Op03SimpleStatement
PeerTries.getOriginalFinally()
Result.getStart()
(package private) Op03SimpleStatement
FinallyCatchBody.getThrowOp()
(package private) Op03SimpleStatement
PeerTries.removeNext()
Methods in org.benf.cfr.reader.bytecode.analysis.parse.utils.finalhelp that return types with arguments of type Op03SimpleStatementModifier and TypeMethodDescriptionprivate List<Op03SimpleStatement>
FinallyGraphHelper.filterFalseNegatives
(List<Op03SimpleStatement> in, Set<Op03SimpleStatement> toRemove) (package private) Map<BlockIdentifier,
Op03SimpleStatement> PeerTries.getGuessPeerTryMap()
(package private) Set<Op03SimpleStatement>
PeerTries.getGuessPeerTryStarts()
(package private) Collection<Op03SimpleStatement>
PeerTries.PeerTrySet.getPeerTries()
Result.getToRemove()
Methods in org.benf.cfr.reader.bytecode.analysis.parse.utils.finalhelp with parameters of type Op03SimpleStatementModifier and TypeMethodDescriptionvoid
PeerTries.add
(Op03SimpleStatement tryStatement) void
PeerTries.PeerTrySet.add
(Op03SimpleStatement op) static FinallyCatchBody
FinallyCatchBody.build
(Op03SimpleStatement catchStart, List<Op03SimpleStatement> allStatements) boolean
FinallyCatchBody.contains
(Op03SimpleStatement stm) static void
FinalAnalyzer.identifyFinally
(Method method, Op03SimpleStatement in, List<Op03SimpleStatement> allStatements, BlockIdentifierFactory blockIdentifierFactory, Set<Op03SimpleStatement> analysedTries) private static boolean
FinalAnalyzer.identifyFinally2
(Op03SimpleStatement in, PeerTries peerTries, FinallyGraphHelper finallyGraphHelper, Set<Result> results) FinallyGraphHelper.match
(Op03SimpleStatement test) private boolean
FinallyGraphHelper.treatAsJava13Finally
(Op03SimpleStatement b, Statement sb) private static boolean
FinalAnalyzer.verifyCatchFinally
(Op03SimpleStatement in, FinallyGraphHelper finallyGraphHelper, PeerTries peerTries, Set<Result> results) Method parameters in org.benf.cfr.reader.bytecode.analysis.parse.utils.finalhelp with type arguments of type Op03SimpleStatementModifier and TypeMethodDescriptionprivate static void
FinalAnalyzer.addPeerTries
(Collection<Op03SimpleStatement> possibleFinally, PeerTries peerTries) static FinallyCatchBody
FinallyCatchBody.build
(Op03SimpleStatement catchStart, List<Op03SimpleStatement> allStatements) private List<Op03SimpleStatement>
FinallyGraphHelper.filterFalseNegatives
(List<Op03SimpleStatement> in, Set<Op03SimpleStatement> toRemove) private List<Op03SimpleStatement>
FinallyGraphHelper.filterFalseNegatives
(List<Op03SimpleStatement> in, Set<Op03SimpleStatement> toRemove) private static Op03SimpleStatement
FinalAnalyzer.findPossibleFinallyCatch
(Set<Op03SimpleStatement> possibleCatches) static void
FinalAnalyzer.identifyFinally
(Method method, Op03SimpleStatement in, List<Op03SimpleStatement> allStatements, BlockIdentifierFactory blockIdentifierFactory, Set<Op03SimpleStatement> analysedTries) static void
FinalAnalyzer.identifyFinally
(Method method, Op03SimpleStatement in, List<Op03SimpleStatement> allStatements, BlockIdentifierFactory blockIdentifierFactory, Set<Op03SimpleStatement> analysedTries) Constructors in org.benf.cfr.reader.bytecode.analysis.parse.utils.finalhelp with parameters of type Op03SimpleStatementModifierConstructorDescriptionCompositeBlockIdentifierKey
(Op03SimpleStatement statement) private
FinallyCatchBody
(Op03SimpleStatement throwOp, boolean isEmpty, Op03SimpleStatement catchCodeStart, List<Op03SimpleStatement> body) (package private)
PeerTries
(Op03SimpleStatement possibleFinallyCatch) Result
(Set<Op03SimpleStatement> toRemove, Op03SimpleStatement start, Op03SimpleStatement afterEnd) Constructor parameters in org.benf.cfr.reader.bytecode.analysis.parse.utils.finalhelp with type arguments of type Op03SimpleStatementModifierConstructorDescriptionprivate
FinallyCatchBody
(Op03SimpleStatement throwOp, boolean isEmpty, Op03SimpleStatement catchCodeStart, List<Op03SimpleStatement> body) Result
(Set<Op03SimpleStatement> toRemove, Op03SimpleStatement start, Op03SimpleStatement afterEnd)