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 Op03SimpleStatementOp03SimpleStatement.linearlyNextprivate Op03SimpleStatementOp03SimpleStatement.linearlyPreviousFields in org.benf.cfr.reader.bytecode.analysis.opgraph with type parameters of type Op03SimpleStatementModifier and TypeFieldDescription(package private) List<Op03SimpleStatement> Op03Blocks.Block3.contentprivate final List<Op03SimpleStatement> Op03SimpleStatement.GraphVisitorCallee.reachableNodesprivate final List<Op03SimpleStatement> Op03SimpleStatement.sourcesprivate final List<Op03SimpleStatement> Op03SimpleStatement.targetsMethods 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 TypeMethodDescriptionvoidOp03SimpleStatement.addSource(Op03SimpleStatement source) voidOp03SimpleStatement.addTarget(Op03SimpleStatement target) voidOp03Blocks.Block3.append(Op03SimpleStatement s) voidOp03SimpleStatement.GraphVisitorCallee.call(Op03SimpleStatement node, GraphVisitor<Op03SimpleStatement> graphVisitor) voidOp03SimpleStatement.markBlockStatement(BlockIdentifier blockIdentifier, Op03SimpleStatement lastInBlock, Op03SimpleStatement blockEnd, List<Op03SimpleStatement> statements) voidOp03SimpleStatement.removeGotoTarget(Op03SimpleStatement oldTarget) private static voidOp03SimpleStatement.removePointlessSwitchDefault(Op03SimpleStatement swtch) voidOp03SimpleStatement.removeSource(Op03SimpleStatement oldSource) voidOp03SimpleStatement.removeTarget(Op03SimpleStatement oldTarget) private voidOp03SimpleStatement.replaceSingleSourceWith(Op03SimpleStatement oldSource, List<Op03SimpleStatement> newSources) voidOp03SimpleStatement.replaceSource(Op03SimpleStatement oldSource, Op03SimpleStatement newSource) voidOp03SimpleStatement.replaceTarget(Op03SimpleStatement oldTarget, Op03SimpleStatement newTarget) voidOp03SimpleStatement.setLinearlyNext(Op03SimpleStatement linearlyNext) voidOp03SimpleStatement.setLinearlyPrevious(Op03SimpleStatement linearlyPrevious) voidOp03SimpleStatement.splice(Op03SimpleStatement newSource) Method parameters in org.benf.cfr.reader.bytecode.analysis.opgraph with type arguments of type Op03SimpleStatementModifier and TypeMethodDescriptionstatic voidOp03SimpleStatement.assignSSAIdentifiers(Method method, List<Op03SimpleStatement> statements) private static List<Op03Blocks.Block3> Op03Blocks.buildBasicBlocks(List<Op03SimpleStatement> statements) voidOp03SimpleStatement.GraphVisitorCallee.call(Op03SimpleStatement node, GraphVisitor<Op03SimpleStatement> graphVisitor) static List<Op03SimpleStatement> Op03Blocks.combineTryBlocks(List<Op03SimpleStatement> statements) static Op04StructuredStatementOp03SimpleStatement.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) voidOp03SimpleStatement.markBlockStatement(BlockIdentifier blockIdentifier, Op03SimpleStatement lastInBlock, Op03SimpleStatement blockEnd, List<Op03SimpleStatement> statements) static voidOp03SimpleStatement.noteInterestingLifetimes(List<Op03SimpleStatement> statements) static voidOp03SimpleStatement.removePointlessSwitchDefaults(List<Op03SimpleStatement> statements) private voidOp03SimpleStatement.replaceSingleSourceWith(Op03SimpleStatement oldSource, List<Op03SimpleStatement> newSources) private static booleanOp03Blocks.stripBackExceptions(List<Op03SimpleStatement> statements) private static voidOp03Blocks.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 Op03SimpleStatementLoopIdentifier.LoopResult.blockStartprivate Op03SimpleStatementLinearScannedBlock.first(package private) Op03SimpleStatementKotlinSwitchHandler.OriginalSwitchLookupInfo.ifTestprivate Op03SimpleStatementLinearScannedBlock.lastprivate final Op03SimpleStatementMisc.GraphVisitorBlockReachable.startprivate final Op03SimpleStatementSwitchReplacer.NodeReachable.startprivate final Op03SimpleStatementSwitchReplacer.NodesReachedUntil.start(package private) Op03SimpleStatementKotlinSwitchHandler.OriginalSwitchLookupInfo.stringMatchJumpprivate final Op03SimpleStatementSwitchReplacer.NodeReachable.switchStatementKotlinSwitchHandler.OriginalSwitchLookupInfo.targetprivate final Op03SimpleStatementSwitchReplacer.NodesReachedUntil.targetFields in org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters with type parameters of type Op03SimpleStatementModifier and TypeFieldDescriptionprivate final Set<Op03SimpleStatement> SwitchReplacer.NodesReachedUntil.bannedprivate final Set<Op03SimpleStatement> Misc.GraphVisitorBlockReachable.exitsprivate final Set<Op03SimpleStatement> Misc.GraphVisitorBlockReachable.foundprivate final Set<Op03SimpleStatement> SwitchReplacer.NodeReachable.inBlockprivate final Map<Op03SimpleStatement, Integer> Misc.GraphVisitorReachableInThese.instrToIdxprivate final Set<Op03SimpleStatement> SwitchReplacer.NodeReachable.otherCasesprivate final List<Op03SimpleStatement> SwitchReplacer.NodeReachable.reachesprivate final Set<Op03SimpleStatement> SwitchReplacer.NodesReachedUntil.reachesMethods in org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters that return Op03SimpleStatementModifier and TypeMethodDescriptionprivate static Op03SimpleStatementSwitchReplacer.examineSwitchContiguity(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, boolean pullCodeIntoCase, boolean allowMalformedSwitch, DecompilerComments comments, BytecodeMeta bytecodeMeta) private static Op03SimpleStatementLoopIdentifier.findFirstConditional(Op03SimpleStatement start) private static Op03SimpleStatementWhileRewriter.findMovableAssignment(Op03SimpleStatement start, LValue lValue) (package private) static Op03SimpleStatementMisc.findSingleBackSource(Op03SimpleStatement start) (package private) static Op03SimpleStatementMisc.followNopGoto(Op03SimpleStatement in, boolean requireJustOneSource, boolean aggressive) static Op03SimpleStatementMisc.followNopGotoChain(Op03SimpleStatement in, boolean requireJustOneSource, boolean skipLabels) static Op03SimpleStatementMisc.followNopGotoChainUntil(Op03SimpleStatement in, Op03SimpleStatement until, boolean requireJustOneSource, boolean skipLabels) (package private) static Op03SimpleStatementLoopIdentifier.getCloseFwdJumpInto(Op03SimpleStatement start, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements, int startIdx, int lastIdx) LinearScannedBlock.getFirst()private static Op03SimpleStatementWhileRewriter.getForInvariant(Op03SimpleStatement start, LValue invariant, BlockIdentifier whileLoop) LinearScannedBlock.getLast()private static Op03SimpleStatementTryRewriter.getLastContiguousBlockStatement(BlockIdentifier blockIdentifier, List<Op03SimpleStatement> in, Op03SimpleStatement preBlock) static Op03SimpleStatementMisc.getLastInRangeByIndex(Set<Op03SimpleStatement> stms) private Op03SimpleStatementJumpsIntoLoopCloneRewriter.getPossLast(Op03SimpleStatement stm, BlockIdentifier ident) private static Op03SimpleStatementExceptionRewriters.insertBlockPadding(String comment, Op03SimpleStatement insertAfter, Op03SimpleStatement insertBefore, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements) Misc.GetBackJump.invoke(Op03SimpleStatement in) private static Op03SimpleStatementPointlessJumps.maybeMoveTarget(Op03SimpleStatement expectedRetarget, Op03SimpleStatement source, List<Op03SimpleStatement> statements) private static Op03SimpleStatementSwitchReplacer.moveSwitch(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, Op03SimpleStatement firstCase, int idxFirstCase, List<Op03SimpleStatement> targets) private static Op03SimpleStatementSwitchReplacer.replaceRawSwitch(Method method, Op03SimpleStatement swatch, List<Op03SimpleStatement> in, BlockIdentifierFactory blockIdentifierFactory, Options options) static Op03SimpleStatementMisc.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 voidLValueCondense.applyLValueCondense(AssignmentSimple a1, AssignmentSimple a2, Op03SimpleStatement stm1, Op03SimpleStatement stm2) private static voidLValueCondense.applyLValueSwap(AssignmentSimple a1, AssignmentSimple a2, Op03SimpleStatement stm1, Op03SimpleStatement stm2) private static booleanConditionalCondenser.appropriateForIfAssignmentCollapse1(Op03SimpleStatement statement) private static booleanConditionalCondenser.appropriateForIfAssignmentCollapse2(Op03SimpleStatement statement) private static booleanSwitchReplacer.blockIsContiguous(List<Op03SimpleStatement> in, Op03SimpleStatement start, Set<Op03SimpleStatement> blockContent) private static voidSwitchReplacer.buildSwitchCases(Op03SimpleStatement swatch, List<Op03SimpleStatement> targets, BlockIdentifier switchBlockIdentifier, List<Op03SimpleStatement> in, boolean forcedOrder) voidMisc.GraphVisitorBlockReachable.call(Op03SimpleStatement arg1, GraphVisitor<Op03SimpleStatement> arg2) voidMisc.GraphVisitorReachableInThese.call(Op03SimpleStatement node, GraphVisitor<Op03SimpleStatement> graphVisitor) voidSwitchReplacer.NodeReachable.call(Op03SimpleStatement arg1, GraphVisitor<Op03SimpleStatement> arg2) voidSwitchReplacer.NodesReachedUntil.call(Op03SimpleStatement arg1, GraphVisitor<Op03SimpleStatement> arg2) (package private) static voidSwitchUtils.checkFixNewCase(Op03SimpleStatement possCaseItem, Op03SimpleStatement possCase) private static intSwitchReplacer.checkPreSwitchJump(List<Op03SimpleStatement> statements, Op03SimpleStatement switchStm, int idxLastStart, int idxLastEnd) private static voidClassifyGotos.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 booleanClassifyGotos.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 booleanClassifyGotos.classifyTryLeaveGoto(Op03SimpleStatement gotoStm, int idx, Set<BlockIdentifier> tryBlockIdents, Map<BlockIdentifier, Op03SimpleStatement> tryStatementsByBlock, Map<BlockIdentifier, List<BlockIdentifier>> catchStatementByBlock, List<Op03SimpleStatement> in) private voidConditionalCondenser.collapseAssignmentsIntoConditional(Op03SimpleStatement ifStatement) private static voidExceptionRewriters.combineTryCatchBlocks(Op03SimpleStatement tryStatement) private static voidTryRewriter.combineTryCatchEnds(Op03SimpleStatement tryStatement, List<Op03SimpleStatement> in) intCompareByIndex.compare(Op03SimpleStatement a, Op03SimpleStatement b) private static booleanCondenseConditionals.condenseConditional2_type1(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> allStatements) private static booleanCondenseConditionals.condenseConditional2_type2(Op03SimpleStatement ifStatement) private static booleanCondenseConditionals.condenseConditional2_type3(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> allStatements) private static booleanCondenseConditionals.condenseIfs(Op03SimpleStatement if1, Op03SimpleStatement if2, Op03SimpleStatement taken1, Op03SimpleStatement taken2, Op03SimpleStatement fall2, boolean negated1) private voidStaticInstanceCondenser.consider(Op03SimpleStatement stm) private static booleanConditionalRewriter.considerAsDexIf(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> statements) private static BlockIdentifierLoopIdentifier.considerAsDoLoopStart(Op03SimpleStatement start, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Map<BlockIdentifier, Op03SimpleStatement> postBlockCache) private static voidLoopIdentifier.considerAsPathologicalLoop(Op03SimpleStatement start, List<Op03SimpleStatement> statements) private static booleanConditionalRewriter.considerAsSimpleIf(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Set<Op03SimpleStatement> ignoreTheseJumps, boolean reduceSimpleScope) private static booleanConditionalRewriter.considerAsTrivialIf(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> statements) private static BlockIdentifierLoopIdentifier.considerAsWhileLoopStart(Method method, Op03SimpleStatement start, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Map<BlockIdentifier, Op03SimpleStatement> postBlockCache) (package private) static booleanLoopIdentifier.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 voidInlineDeAssigner.deAssign(Op03SimpleStatement container, List<Op03SimpleStatement> added) private voidInlineDeAssigner.deAssign(AssignmentSimple assignmentSimple, Op03SimpleStatement container, List<Op03SimpleStatement> added) private static booleanLoopLivenessClash.detect(Op03SimpleStatement statement, BytecodeMeta bytecodeMeta) private static booleanConditionalRewriter.detectAndRemarkJumpIntoOther(Set<BlockIdentifier> blocksAtStart, Set<BlockIdentifier> blocksAtEnd, Op03SimpleStatement realEnd, Op03SimpleStatement ifStatement) private static booleanExceptionRewriters.eliminateCatchTemporary(Op03SimpleStatement catchh) private static Op03SimpleStatementSwitchReplacer.examineSwitchContiguity(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, boolean pullCodeIntoCase, boolean allowMalformedSwitch, DecompilerComments comments, BytecodeMeta bytecodeMeta) private static voidTryRewriter.extendTryBlock(Op03SimpleStatement tryStatement, List<Op03SimpleStatement> in, DCCommonState dcCommonState) private static voidTryRewriter.extractExceptionJumps(Op03SimpleStatement tryi, List<Op03SimpleStatement> in) private static booleanExceptionRewriters.extractExceptionMiddle(Op03SimpleStatement trystm, List<Op03SimpleStatement> statements, ExceptionRewriters.SingleExceptionAddressing trycatch) private static booleanKotlinSwitchHandler.extractStringSwitch(Op03SimpleStatement swatch, List<Op03SimpleStatement> in, BytecodeMeta bytecodeMeta) private static Op03SimpleStatementLoopIdentifier.findFirstConditional(Op03SimpleStatement start) WhileRewriter.findForInvariants(Op03SimpleStatement start, BlockIdentifier whileLoop) private static Op03SimpleStatementWhileRewriter.findMovableAssignment(Op03SimpleStatement start, LValue lValue) (package private) static Op03SimpleStatementMisc.findSingleBackSource(Op03SimpleStatement start) private static voidSynchronizedBlocks.findSynchronizedRange(Op03SimpleStatement start, Expression monitorEnterExpression) (package private) static Op03SimpleStatementMisc.followNopGoto(Op03SimpleStatement in, boolean requireJustOneSource, boolean aggressive) (package private) static Set<Op03SimpleStatement> Misc.followNopGotoBackwards(Op03SimpleStatement eventualtarget) static Op03SimpleStatementMisc.followNopGotoChain(Op03SimpleStatement in, boolean requireJustOneSource, boolean skipLabels) static Op03SimpleStatementMisc.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 Op03SimpleStatementLoopIdentifier.getCloseFwdJumpInto(Op03SimpleStatement start, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements, int startIdx, int lastIdx) private static Op03SimpleStatementWhileRewriter.getForInvariant(Op03SimpleStatement start, LValue invariant, BlockIdentifier whileLoop) private static Op03SimpleStatementTryRewriter.getLastContiguousBlockStatement(BlockIdentifier blockIdentifier, List<Op03SimpleStatement> in, Op03SimpleStatement preBlock) private static LinearScannedBlockExceptionRewriters.getLinearScannedBlock(List<Op03SimpleStatement> statements, int idx, Op03SimpleStatement stm, BlockIdentifier blockIdentifier, boolean prefix) private Op03SimpleStatementJumpsIntoLoopCloneRewriter.getPossLast(Op03SimpleStatement stm, BlockIdentifier ident) private static ExceptionRewriters.SingleExceptionAddressingExceptionRewriters.getSingleTryCatch(Op03SimpleStatement trystm, List<Op03SimpleStatement> statements) private booleanJumpsIntoLoopCloneRewriter.handleConditionalCaller(Op03SimpleStatement stm, Op03SimpleStatement caller, Op03SimpleStatement target, Map<Op03SimpleStatement, Op03SimpleStatement> copies) private static voidExceptionRewriters.identifyCatchBlock(Op03SimpleStatement start, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements) private static Op03SimpleStatementExceptionRewriters.insertBlockPadding(String comment, Op03SimpleStatement insertAfter, Op03SimpleStatement insertBefore, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements) Misc.GetBackJump.invoke(Op03SimpleStatement in) static booleanMisc.justReachableFrom(Op03SimpleStatement target, Op03SimpleStatement maybeSource, int checkDepth) private static Op03SimpleStatementPointlessJumps.maybeMoveTarget(Op03SimpleStatement expectedRetarget, Op03SimpleStatement source, List<Op03SimpleStatement> statements) private static voidSwitchReplacer.moveInternalJumpsToTerminal(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, Op03SimpleStatement lastTgt, Op03SimpleStatement following, List<Op03SimpleStatement> forwardJumpSources) private static voidSwitchReplacer.moveJumpsToCaseStatements(Op03SimpleStatement switchStatement) private static voidSwitchReplacer.moveJumpsToTerminalIfEmpty(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements) private static Op03SimpleStatementSwitchReplacer.moveSwitch(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, Op03SimpleStatement firstCase, int idxFirstCase, List<Op03SimpleStatement> targets) private voidJumpsIntoLoopCloneRewriter.nopPointlessCondition(IfStatement newConditionStatement, Op03SimpleStatement newCondition) private static booleanDupAssigns.normalizeDupAssigns_type1(Op03SimpleStatement stm) private static booleanRemoveDeterministicJumps.propagateLiteralReturn(Method method, Op03SimpleStatement original, Map<LValue, Literal> display) private static booleanRemoveDeterministicJumps.propagateLiteralReturn(Method method, Op03SimpleStatement original, Op03SimpleStatement orignext, LValue originalLValue, Expression originalRValue, Map<LValue, Literal> display) private static booleanPrePostchangeAssignmentRewriter.pushPreChange(Op03SimpleStatement preChange, boolean back) private static booleanReturnRewriter.pushReturnBack(Op03SimpleStatement returnStm) private static booleanPushThroughGoto.pushThroughGoto(Op03SimpleStatement forwardGoto, List<Op03SimpleStatement> statements) private voidJumpsIntoLoopCloneRewriter.refactorDo(List<Op03SimpleStatement> addThese, Op03SimpleStatement stm, BlockIdentifier ident) private voidJumpsIntoLoopCloneRewriter.refactorWhile(List<Op03SimpleStatement> addThese, Op03SimpleStatement stm, BlockIdentifier ident) private static booleanSynchronizedRewriter.removeSynchronizedCatchBlock(Op03SimpleStatement start, List<Op03SimpleStatement> statements) private static voidRemoveDeterministicJumps.replace(Op03SimpleStatement source, boolean isIf, ReturnStatement returnNothingStatement) private static voidRemoveDeterministicJumps.replaceAssignmentReturn(Op03SimpleStatement assignment, ReturnStatement returnStatement) private static voidRemoveDeterministicJumps.replaceConditionalReturn(Op03SimpleStatement conditional, ReturnStatement returnStatement) private static voidConditionalSimplifier.replaceEclipseReturn(Op03SimpleStatement statement, IfStatement ifStatement) private static voidPrePostchangeAssignmentRewriter.replacePostChangeAssignment(Op03SimpleStatement statement) private static booleanPrePostchangeAssignmentRewriter.replacePreChangeAssignment(Op03SimpleStatement statement) private static Op03SimpleStatementSwitchReplacer.replaceRawSwitch(Method method, Op03SimpleStatement swatch, List<Op03SimpleStatement> in, BlockIdentifierFactory blockIdentifierFactory, Options options) private static voidReturnRewriter.replaceReturningIf(Op03SimpleStatement ifStatement, boolean aggressive) private static booleanAnonymousArray.resugarAnonymousArray(Op03SimpleStatement newArray) private booleanDeadConditionalRemover.rewrite(Op03SimpleStatement stm) private static voidInlineDeAssigner.rewrite(InlineDeAssigner.Deassigner deassigner, Op03SimpleStatement container, List<Op03SimpleStatement> added) private voidInstanceConstants.rewrite1(JavaRefTypeInstance thisType, Op03SimpleStatement stm, DCCommonState state) private static voidIterLoopRewriter.rewriteArrayForLoop(Op03SimpleStatement loop, List<Op03SimpleStatement> statements) private static voidWhileRewriter.rewriteDoWhileTruePredAsWhile(Op03SimpleStatement end, List<Op03SimpleStatement> statements) private static booleanSwitchReplacer.rewriteDuff(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, VariableFactory vf, DecompilerComments decompilerComments) private static voidLoopIdentifier.rewriteEndLoopOverlapStatement(Op03SimpleStatement oldEnd, BlockIdentifier loopBlock) private static voidIterLoopRewriter.rewriteIteratorWhileLoop(Op03SimpleStatement loop, List<Op03SimpleStatement> statements) private static voidTryRewriter.rewriteTryBackJump(Op03SimpleStatement stm) private static voidWhileRewriter.rewriteWhileAsFor(Op03SimpleStatement statement, boolean aggcapture) static Op03SimpleStatementMisc.skipComments(Op03SimpleStatement stm) booleanConditionalRewriter.IsForwardIf.test(Op03SimpleStatement in) booleanExactTypeFilter.test(Op03SimpleStatement in) booleanMisc.HasBackJump.test(Op03SimpleStatement in) booleanMisc.IsBackJumpTo.test(Op03SimpleStatement in) booleanMisc.IsForwardJumpTo.test(Op03SimpleStatement in) booleanPrePostchangeAssignmentRewriter.StatementCanBePostMutation.test(Op03SimpleStatement in) booleanSynchronizedRewriter.FindBlockStarts.test(Op03SimpleStatement in) booleanTypeFilter.test(Op03SimpleStatement in) private static ConditionalRewriter.DiscoveredTernaryConditionalRewriter.testForTernary(List<Op03SimpleStatement> ifBranch, List<Op03SimpleStatement> elseBranch, Op03SimpleStatement leaveIfBranch) private static voidSwitchReplacer.tightenJumpsToTerminal(List<Op03SimpleStatement> statements, BlockIdentifier switchBlock, Op03SimpleStatement following, Op03SimpleStatement followingTrans) private static voidSwitchReplacer.tryInlineRawSwitchContent(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements) private static intLoopIdentifier.validateAndAssignLoopIdentifier(List<Op03SimpleStatement> statements, int idxTestStart, int idxAfterEnd, BlockIdentifier blockIdentifier, Op03SimpleStatement start) private static booleanSynchronizedRewriter.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 booleanSynchronizedBlocks.anyOpHasEffect(List<Op03SimpleStatement> ops) static List<Op03SimpleStatement> RemoveDeterministicJumps.apply(Method method, List<Op03SimpleStatement> statements) private static booleanSwitchReplacer.blockIsContiguous(List<Op03SimpleStatement> in, Op03SimpleStatement start, Set<Op03SimpleStatement> blockContent) private static booleanSwitchReplacer.blockIsContiguous(List<Op03SimpleStatement> in, Op03SimpleStatement start, Set<Op03SimpleStatement> blockContent) private static voidSwitchReplacer.buildSwitchCases(Op03SimpleStatement swatch, List<Op03SimpleStatement> targets, BlockIdentifier switchBlockIdentifier, List<Op03SimpleStatement> in, boolean forcedOrder) voidMisc.GraphVisitorBlockReachable.call(Op03SimpleStatement arg1, GraphVisitor<Op03SimpleStatement> arg2) voidMisc.GraphVisitorReachableInThese.call(Op03SimpleStatement node, GraphVisitor<Op03SimpleStatement> graphVisitor) voidSwitchReplacer.NodeReachable.call(Op03SimpleStatement arg1, GraphVisitor<Op03SimpleStatement> arg2) voidSwitchReplacer.NodesReachedUntil.call(Op03SimpleStatement arg1, GraphVisitor<Op03SimpleStatement> arg2) private static intSwitchReplacer.checkPreSwitchJump(List<Op03SimpleStatement> statements, Op03SimpleStatement switchStm, int idxLastStart, int idxLastEnd) (package private) static voidClassifyGotos.classifyAnonymousBlockGotos(List<Op03SimpleStatement> in, boolean agressive) static voidOp03Rewriters.classifyAnonymousBlockGotos(List<Op03SimpleStatement> op03SimpleParseNodes, boolean aggressive) private static voidClassifyGotos.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 voidClassifyGotos.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 voidClassifyGotos.classifyGotos(List<Op03SimpleStatement> in) static voidOp03Rewriters.classifyGotos(List<Op03SimpleStatement> op03SimpleParseNodes) private static booleanClassifyGotos.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 booleanClassifyGotos.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 booleanClassifyGotos.classifyTryLeaveGoto(Op03SimpleStatement gotoStm, int idx, Set<BlockIdentifier> tryBlockIdents, Map<BlockIdentifier, Op03SimpleStatement> tryStatementsByBlock, Map<BlockIdentifier, List<BlockIdentifier>> catchStatementByBlock, List<Op03SimpleStatement> in) private static booleanClassifyGotos.classifyTryLeaveGoto(Op03SimpleStatement gotoStm, int idx, Set<BlockIdentifier> tryBlockIdents, Map<BlockIdentifier, Op03SimpleStatement> tryStatementsByBlock, Map<BlockIdentifier, List<BlockIdentifier>> catchStatementByBlock, List<Op03SimpleStatement> in) static voidOp03Rewriters.cloneCodeFromLoop(List<Op03SimpleStatement> op03SimpleParseNodes, Options options, DecompilerComments comments) (package private) static voidConditionalCondenser.collapseAssignmentsIntoConditionals(List<Op03SimpleStatement> statements, Options options, ClassFileVersion classFileVersion) static voidOp03Rewriters.collapseAssignmentsIntoConditionals(List<Op03SimpleStatement> op03SimpleParseNodes, Options options, ClassFileVersion classFileVersion) (package private) static Set<Op03SimpleStatement> Misc.collectAllSources(Collection<Op03SimpleStatement> statements) (package private) static voidExceptionRewriters.combineTryCatchBlocks(List<Op03SimpleStatement> in) static voidOp03Rewriters.combineTryCatchBlocks(List<Op03SimpleStatement> op03SimpleParseNodes) static voidOp03Rewriters.combineTryCatchEnds(List<Op03SimpleStatement> in) (package private) static voidTryRewriter.combineTryCatchEnds(List<Op03SimpleStatement> in) private static voidTryRewriter.combineTryCatchEnds(Op03SimpleStatement tryStatement, List<Op03SimpleStatement> in) static voidMonitorRewriter.commentMonitors(List<Op03SimpleStatement> statements) static voidOp03Rewriters.commentMonitors(List<Op03SimpleStatement> op03SimpleParseNodes) private static booleanCondenseConditionals.condenseConditional2_type1(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> allStatements) private static booleanCondenseConditionals.condenseConditional2_type3(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> allStatements) static booleanCondenseConditionals.condenseConditionals(List<Op03SimpleStatement> statements) static booleanOp03Rewriters.condenseConditionals(List<Op03SimpleStatement> op03SimpleParseNodes) static booleanCondenseConditionals.condenseConditionals2(List<Op03SimpleStatement> statements) static booleanOp03Rewriters.condenseConditionals2(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static voidCondenseConstruction.condenseConstruction(DCCommonState state, Method method, List<Op03SimpleStatement> statements, AnonymousClassUsage anonymousClassUsage) static voidOp03Rewriters.condenseConstruction(DCCommonState dcCommonState, Method method, List<Op03SimpleStatement> op03SimpleParseNodes, AnonymousClassUsage anonymousClassUsage) static voidLValueCondense.condenseLValueChain1(List<Op03SimpleStatement> statements) static voidOp03Rewriters.condenseLValueChain1(List<Op03SimpleStatement> op03SimpleParseNodes) static voidLValueCondense.condenseLValueChain2(List<Op03SimpleStatement> statements) static voidOp03Rewriters.condenseLValueChain2(List<Op03SimpleStatement> op03SimpleParseNodes) static voidLValueProp.condenseLValues(List<Op03SimpleStatement> statements) static List<Op03SimpleStatement> LValuePropSimple.condenseSimpleLValues(List<Op03SimpleStatement> statementList) static voidOp03Rewriters.condenseStaticInstances(List<Op03SimpleStatement> op03SimpleParseNodes) private static booleanConditionalRewriter.considerAsDexIf(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> statements) private static BlockIdentifierLoopIdentifier.considerAsDoLoopStart(Op03SimpleStatement start, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Map<BlockIdentifier, Op03SimpleStatement> postBlockCache) private static BlockIdentifierLoopIdentifier.considerAsDoLoopStart(Op03SimpleStatement start, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Map<BlockIdentifier, Op03SimpleStatement> postBlockCache) private static voidLoopIdentifier.considerAsPathologicalLoop(Op03SimpleStatement start, List<Op03SimpleStatement> statements) private static booleanConditionalRewriter.considerAsSimpleIf(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Set<Op03SimpleStatement> ignoreTheseJumps, boolean reduceSimpleScope) private static booleanConditionalRewriter.considerAsSimpleIf(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Set<Op03SimpleStatement> ignoreTheseJumps, boolean reduceSimpleScope) private static booleanConditionalRewriter.considerAsTrivialIf(Op03SimpleStatement ifStatement, List<Op03SimpleStatement> statements) private static BlockIdentifierLoopIdentifier.considerAsWhileLoopStart(Method method, Op03SimpleStatement start, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Map<BlockIdentifier, Op03SimpleStatement> postBlockCache) private static BlockIdentifierLoopIdentifier.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 voidInlineDeAssigner.deAssign(Op03SimpleStatement container, List<Op03SimpleStatement> added) private voidInlineDeAssigner.deAssign(AssignmentSimple assignmentSimple, Op03SimpleStatement container, List<Op03SimpleStatement> added) static booleanLoopLivenessClash.detect(List<Op03SimpleStatement> statements, BytecodeMeta bytecodeMeta) static voidEclipseLoops.eclipseLoopPass(List<Op03SimpleStatement> statements) static voidOp03Rewriters.eclipseLoopPass(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static List<Op03SimpleStatement> ExceptionRewriters.eliminateCatchTemporaries(List<Op03SimpleStatement> statements) static List<Op03SimpleStatement> Op03Rewriters.eliminateCatchTemporaries(List<Op03SimpleStatement> op03SimpleParseNodes) private static Op03SimpleStatementSwitchReplacer.examineSwitchContiguity(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, boolean pullCodeIntoCase, boolean allowMalformedSwitch, DecompilerComments comments, BytecodeMeta bytecodeMeta) private static voidTryRewriter.extendTryBlock(Op03SimpleStatement tryStatement, List<Op03SimpleStatement> in, DCCommonState dcCommonState) static voidOp03Rewriters.extendTryBlocks(DCCommonState dcCommonState, List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static voidTryRewriter.extendTryBlocks(DCCommonState dcCommonState, List<Op03SimpleStatement> in) (package private) static voidAssertionJumps.extractAssertionJumps(List<Op03SimpleStatement> in) static voidOp03Rewriters.extractAssertionJumps(List<Op03SimpleStatement> op03SimpleParseNodes) static voidInlineDeAssigner.extractAssignments(List<Op03SimpleStatement> statements) private static voidExceptionRewriters.extractCatchEnd(List<Op03SimpleStatement> statements, ExceptionRewriters.SingleExceptionAddressing trycatch) static voidOp03Rewriters.extractExceptionJumps(List<Op03SimpleStatement> in) (package private) static voidTryRewriter.extractExceptionJumps(List<Op03SimpleStatement> in) private static voidTryRewriter.extractExceptionJumps(Op03SimpleStatement tryi, List<Op03SimpleStatement> in) (package private) static voidExceptionRewriters.extractExceptionMiddle(List<Op03SimpleStatement> in) private static booleanExceptionRewriters.extractExceptionMiddle(Op03SimpleStatement trystm, List<Op03SimpleStatement> statements, ExceptionRewriters.SingleExceptionAddressing trycatch) static voidOp03Rewriters.extractExceptionMiddle(List<Op03SimpleStatement> op03SimpleParseNodes) private static booleanKotlinSwitchHandler.extractStringSwitch(Op03SimpleStatement swatch, List<Op03SimpleStatement> in, BytecodeMeta bytecodeMeta) static List<Op03SimpleStatement> KotlinSwitchHandler.extractStringSwitches(List<Op03SimpleStatement> in, BytecodeMeta bytecodeMeta) (package private) static BlockIdentifierMisc.findOuterBlock(BlockIdentifier b1, BlockIdentifier b2, List<Op03SimpleStatement> statements) private static intConditionalRewriter.findOverIdx(int startNext, List<Op03SimpleStatement> statements) static voidSynchronizedBlocks.findSynchronizedBlocks(List<Op03SimpleStatement> statements) private static voidLoopIdentifier.fixLoopOverlaps(List<Op03SimpleStatement> statements, List<LoopIdentifier.LoopResult> loopResults, Set<BlockIdentifier> relevantBlocks) static voidMisc.flattenCompoundStatements(List<Op03SimpleStatement> statements) (package private) static Set<BlockIdentifier> FinallyRewriter.getBlocksAffectedByFinally(List<Op03SimpleStatement> statements) (package private) static Op03SimpleStatementLoopIdentifier.getCloseFwdJumpInto(Op03SimpleStatement start, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements, int startIdx, int lastIdx) (package private) static intMisc.getFarthestReachableInRange(List<Op03SimpleStatement> statements, int start, int afterEnd) private static Map<BlockIdentifier, Op03SimpleStatement> ExceptionRewriters.getFirstByBlock(List<Op03SimpleStatement> in) private static Op03SimpleStatementTryRewriter.getLastContiguousBlockStatement(BlockIdentifier blockIdentifier, List<Op03SimpleStatement> in, Op03SimpleStatement preBlock) static Op03SimpleStatementMisc.getLastInRangeByIndex(Set<Op03SimpleStatement> stms) private static LinearScannedBlockExceptionRewriters.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.SingleExceptionAddressingExceptionRewriters.getSingleTryCatch(Op03SimpleStatement trystm, List<Op03SimpleStatement> statements) private static List<Op03SimpleStatement> ExceptionRewriters.getTries(List<Op03SimpleStatement> in) private booleanJumpsIntoLoopCloneRewriter.handleConditionalCaller(Op03SimpleStatement stm, Op03SimpleStatement caller, Op03SimpleStatement target, Map<Op03SimpleStatement, Op03SimpleStatement> copies) private booleanJumpsIntoLoopCloneRewriter.handleConditionalCaller(Op03SimpleStatement stm, Op03SimpleStatement caller, Op03SimpleStatement target, Map<Op03SimpleStatement, Op03SimpleStatement> copies) static voidExceptionRewriters.handleEmptyTries(List<Op03SimpleStatement> in) private static voidExceptionRewriters.identifyCatchBlock(Op03SimpleStatement start, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements) (package private) static voidExceptionRewriters.identifyCatchBlocks(List<Op03SimpleStatement> in, BlockIdentifierFactory blockIdentifierFactory) static voidOp03Rewriters.identifyCatchBlocks(List<Op03SimpleStatement> op03SimpleParseNodes, BlockIdentifierFactory blockIdentifierFactory) static voidFinallyRewriter.identifyFinally(Options options, Method method, List<Op03SimpleStatement> in, BlockIdentifierFactory blockIdentifierFactory) static voidLoopIdentifier.identifyLoops1(Method method, List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory) static voidConditionalRewriter.identifyNonjumpingConditionals(List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory, Options options) static voidGenericInferer.inferGenericObjectInfoFromCalls(List<Op03SimpleStatement> statements) private static Op03SimpleStatementExceptionRewriters.insertBlockPadding(String comment, Op03SimpleStatement insertAfter, Op03SimpleStatement insertBefore, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements) private static booleanConditionalRewriter.isRangeOnlyReachable(int startIdx, int endIdx, int tgtIdx, List<Op03SimpleStatement> statements, Set<Op03SimpleStatement> permittedSources) private static booleanConditionalRewriter.isRangeOnlyReachable(int startIdx, int endIdx, int tgtIdx, List<Op03SimpleStatement> statements, Set<Op03SimpleStatement> permittedSources) static voidAnonymousBlocks.labelAnonymousBlocks(List<Op03SimpleStatement> statements, BlockIdentifierFactory blockIdentifierFactory) static voidOp03Rewriters.labelAnonymousBlocks(List<Op03SimpleStatement> op03SimpleParseNodes, BlockIdentifierFactory blockIdentifierFactory) (package private) static voidMisc.markWholeBlock(List<Op03SimpleStatement> statements, BlockIdentifier blockIdentifier) private static Op03SimpleStatementPointlessJumps.maybeMoveTarget(Op03SimpleStatement expectedRetarget, Op03SimpleStatement source, List<Op03SimpleStatement> statements) private booleanJumpsIntoDoRewriter.maybeRewriteImmediate(List<Op03SimpleStatement> op03SimpleParseNodes, int x) private static voidSwitchReplacer.moveInternalJumpsToTerminal(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, Op03SimpleStatement lastTgt, Op03SimpleStatement following, List<Op03SimpleStatement> forwardJumpSources) static voidOp03Rewriters.moveJumpsIntoDo(VariableFactory vf, List<Op03SimpleStatement> op03SimpleParseNodes, Options options, DecompilerComments comments) private static voidSwitchReplacer.moveJumpsToTerminalIfEmpty(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements) private static Op03SimpleStatementSwitchReplacer.moveSwitch(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, Op03SimpleStatement firstCase, int idxFirstCase, List<Op03SimpleStatement> targets) static voidOp03Rewriters.narrowAssignmentTypes(Method method, List<Op03SimpleStatement> statements) (package private) static voidIsolatedStackValue.nopIsolatedStackValues(List<Op03SimpleStatement> statements) static voidOp03Rewriters.nopIsolatedStackValues(List<Op03SimpleStatement> op03SimpleParseNodes) static booleanDupAssigns.normalizeDupAssigns(List<Op03SimpleStatement> statements) static booleanOp03Rewriters.normalizeDupAssigns(List<Op03SimpleStatement> op03SimpleParseNodes) static voidOp03Rewriters.optimiseForTypes(List<Op03SimpleStatement> statements) static voidRemoveDeterministicJumps.propagateToReturn(Method method, List<Op03SimpleStatement> statements) static voidOp03Rewriters.propagateToReturn2(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static voidReturnRewriter.propagateToReturn2(List<Op03SimpleStatement> statements) static voidOp03Rewriters.pushPreChangeBack(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static voidPrePostchangeAssignmentRewriter.pushPreChangeBack(List<Op03SimpleStatement> statements) static List<Op03SimpleStatement> Op03Rewriters.pushThroughGoto(List<Op03SimpleStatement> op03SimpleParseNodes) static List<Op03SimpleStatement> PushThroughGoto.pushThroughGoto(List<Op03SimpleStatement> statements) private static booleanPushThroughGoto.pushThroughGoto(Op03SimpleStatement forwardGoto, List<Op03SimpleStatement> statements) static voidSwitchReplacer.rebuildSwitches(List<Op03SimpleStatement> statements, Options options, DecompilerComments comments, BytecodeMeta bytecodeMeta) private voidJumpsIntoLoopCloneRewriter.refactorDo(List<Op03SimpleStatement> addThese, Op03SimpleStatement stm, BlockIdentifier ident) private voidJumpsIntoLoopCloneRewriter.refactorWhile(List<Op03SimpleStatement> addThese, Op03SimpleStatement stm, BlockIdentifier ident) voidLinearScannedBlock.reindex(List<Op03SimpleStatement> in) static voidCleaner.reindexInPlace(List<Op03SimpleStatement> statements) (package private) static voidJoinBlocks.rejoinBlocks(List<Op03SimpleStatement> statements) static voidOp03Rewriters.rejoinBlocks(List<Op03SimpleStatement> op03SimpleParseNodes) static voidCleaner.reLinkInPlace(List<Op03SimpleStatement> statements) static voidOp03Rewriters.relinkInstanceConstants(JavaRefTypeInstance thisType, List<Op03SimpleStatement> op03SimpleParseNodes, DCCommonState dcCommonState) static List<Op03SimpleStatement> Op03Rewriters.removeDeadConditionals(List<Op03SimpleStatement> op03SimpleParseNodes) static voidOp03Rewriters.removePointlessExpressionStatements(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static voidPointlessExpressions.removePointlessExpressionStatements(List<Op03SimpleStatement> statements) static voidOp03Rewriters.removePointlessJumps(List<Op03SimpleStatement> statements) static voidPointlessJumps.removePointlessJumps(List<Op03SimpleStatement> statements) static List<Op03SimpleStatement> Op03Rewriters.removeRedundantTries(List<Op03SimpleStatement> op03SimpleParseNodes) static List<Op03SimpleStatement> RedundantTries.removeRedundantTries(List<Op03SimpleStatement> statements) private static booleanSynchronizedRewriter.removeSynchronizedCatchBlock(Op03SimpleStatement start, List<Op03SimpleStatement> statements) static voidOp03Rewriters.removeSynchronizedCatchBlocks(Options options, List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static voidSynchronizedRewriter.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 voidOp03Rewriters.replacePrePostChangeAssignments(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static voidPrePostchangeAssignmentRewriter.replacePrePostChangeAssignments(List<Op03SimpleStatement> statements) private static Op03SimpleStatementSwitchReplacer.replaceRawSwitch(Method method, Op03SimpleStatement swatch, List<Op03SimpleStatement> in, BlockIdentifierFactory blockIdentifierFactory, Options options) static voidSwitchReplacer.replaceRawSwitches(Method method, List<Op03SimpleStatement> in, BlockIdentifierFactory blockIdentifierFactory, Options options, DecompilerComments comments, BytecodeMeta bytecodeMeta) static voidOp03Rewriters.replaceReturningIfs(List<Op03SimpleStatement> op03SimpleParseNodes, boolean aggressive) (package private) static voidReturnRewriter.replaceReturningIfs(List<Op03SimpleStatement> statements, boolean aggressive) static voidOp03Rewriters.replaceStackVarsWithLocals(List<Op03SimpleStatement> op03SimpleParseNodes) static voidAnonymousArray.resugarAnonymousArrays(List<Op03SimpleStatement> statements) voidBadCompareRewriter.rewrite(List<Op03SimpleStatement> op03SimpleParseNodes) DeadConditionalRemover.rewrite(List<Op03SimpleStatement> statements) private static voidInlineDeAssigner.rewrite(InlineDeAssigner.Deassigner deassigner, Op03SimpleStatement container, List<Op03SimpleStatement> added) voidInstanceConstants.rewrite(JavaRefTypeInstance thisType, List<Op03SimpleStatement> op03SimpleParseNodes, DCCommonState state) voidJumpsIntoDoRewriter.rewrite(List<Op03SimpleStatement> op03SimpleParseNodes, DecompilerComments comments) voidJumpsIntoLoopCloneRewriter.rewrite(List<Op03SimpleStatement> op03SimpleParseNodes, DecompilerComments comments) static voidNarrowingTypeRewriter.rewrite(Method method, List<Op03SimpleStatement> statements) static List<Op03SimpleStatement> StaticInitReturnRewriter.rewrite(Options options, Method method, List<Op03SimpleStatement> statementList) voidStaticInstanceCondenser.rewrite(List<Op03SimpleStatement> statements) private static voidIterLoopRewriter.rewriteArrayForLoop(Op03SimpleStatement loop, List<Op03SimpleStatement> statements) static voidIterLoopRewriter.rewriteArrayForLoops(List<Op03SimpleStatement> statements) static voidOp03Rewriters.rewriteBadCompares(VariableFactory vf, List<Op03SimpleStatement> op03SimpleParseNodes) static voidBreakRewriter.rewriteBreakStatements(List<Op03SimpleStatement> statements) static voidOp03Rewriters.rewriteBreakStatements(List<Op03SimpleStatement> op03SimpleParseNodes) static voidOp03Rewriters.rewriteDoWhileTruePredAsWhile(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static voidWhileRewriter.rewriteDoWhileTruePredAsWhile(List<Op03SimpleStatement> statements) private static voidWhileRewriter.rewriteDoWhileTruePredAsWhile(Op03SimpleStatement end, List<Op03SimpleStatement> statements) static List<Op03SimpleStatement> SwitchReplacer.rewriteDuff(List<Op03SimpleStatement> statements, VariableFactory vf, DecompilerComments decompilerComments, Options options) private static booleanSwitchReplacer.rewriteDuff(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements, VariableFactory vf, DecompilerComments decompilerComments) private static voidIterLoopRewriter.rewriteIteratorWhileLoop(Op03SimpleStatement loop, List<Op03SimpleStatement> statements) static voidIterLoopRewriter.rewriteIteratorWhileLoops(List<Op03SimpleStatement> statements) static voidNegativeJumps.rewriteNegativeJumps(List<Op03SimpleStatement> statements, boolean requireChainedConditional) static voidOp03Rewriters.rewriteNegativeJumps(List<Op03SimpleStatement> statements, boolean requireChainedConditional) static voidOp03Rewriters.rewriteTryBackJumps(List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static voidTryRewriter.rewriteTryBackJumps(List<Op03SimpleStatement> in) static voidOp03Rewriters.rewriteWhilesAsFors(Options options, List<Op03SimpleStatement> op03SimpleParseNodes) (package private) static voidWhileRewriter.rewriteWhilesAsFors(Options options, List<Op03SimpleStatement> statements) static voidOp03Rewriters.rewriteWith(List<Op03SimpleStatement> in, ExpressionRewriter expressionRewriter) (package private) static voidConditionalSimplifier.simplifyConditionals(List<Op03SimpleStatement> statements, boolean aggressive, Method method) static voidOp03Rewriters.simplifyConditionals(List<Op03SimpleStatement> op03SimpleParseNodes, boolean aggressive, Method method) static List<Op03SimpleStatement> Cleaner.sortAndRenumber(List<Op03SimpleStatement> statements) (package private) static voidCleaner.sortAndRenumberFromInPlace(List<Op03SimpleStatement> statements, InstrIndex start) (package private) static voidCleaner.sortAndRenumberInPlace(List<Op03SimpleStatement> statements) private static ConditionalRewriter.DiscoveredTernaryConditionalRewriter.testForTernary(List<Op03SimpleStatement> ifBranch, List<Op03SimpleStatement> elseBranch, Op03SimpleStatement leaveIfBranch) private static voidSwitchReplacer.tightenJumpsToTerminal(List<Op03SimpleStatement> statements, BlockIdentifier switchBlock, Op03SimpleStatement following, Op03SimpleStatement followingTrans) private static voidSwitchReplacer.tryInlineRawSwitchContent(Op03SimpleStatement switchStatement, List<Op03SimpleStatement> statements) private static intLoopIdentifier.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 Op03SimpleStatementModifierConstructorDescriptionprivateGraphVisitorBlockReachable(Op03SimpleStatement start, BlockIdentifier blockIdentifier) LinearScannedBlock(Op03SimpleStatement first, Op03SimpleStatement last, int idxFirst, int idxLast) privateLoopResult(BlockIdentifier blockIdentifier, Op03SimpleStatement blockStart) privateNodeReachable(Set<Op03SimpleStatement> otherCases, Op03SimpleStatement start, Op03SimpleStatement switchStatement, boolean forcedOrder) privateNodesReachedUntil(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) privateNodeReachable(Set<Op03SimpleStatement> otherCases, Op03SimpleStatement start, Op03SimpleStatement switchStatement, boolean forcedOrder) privateNodesReachedUntil(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 Op03SimpleStatementLValueAssignmentExpressionRewriter.sourceMethods in org.benf.cfr.reader.bytecode.analysis.parse.utils with parameters of type Op03SimpleStatementModifier and TypeMethodDescriptionprivate booleanLValueAssignmentAndAliasCondenser.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 Op03SimpleStatementResult.afterEndprivate final Op03SimpleStatementFinallyCatchBody.catchCodeStartprivate final Op03SimpleStatementPeerTries.possibleFinallyCatchprivate final Op03SimpleStatementResult.startprivate final Op03SimpleStatementFinallyCatchBody.throwOpFields in org.benf.cfr.reader.bytecode.analysis.parse.utils.finalhelp with type parameters of type Op03SimpleStatementModifier and TypeFieldDescriptionprivate final List<Op03SimpleStatement> FinallyCatchBody.bodyprivate final Set<Op03SimpleStatement> FinallyCatchBody.bodySetprivate final Set<Op03SimpleStatement> PeerTries.PeerTrySet.contentprivate Map<BlockIdentifier, Op03SimpleStatement> PeerTries.guessPeerTryMapprivate Set<Op03SimpleStatement> PeerTries.guessPeerTryStartsprivate final Set<Op03SimpleStatement> PeerTries.seenEverprivate final LinkedList<Op03SimpleStatement> PeerTries.toProcessprivate final Set<Op03SimpleStatement> Result.toRemoveMethods in org.benf.cfr.reader.bytecode.analysis.parse.utils.finalhelp that return Op03SimpleStatementModifier and TypeMethodDescriptionprivate static Op03SimpleStatementFinalAnalyzer.findPossibleFinallyCatch(Set<Op03SimpleStatement> possibleCatches) Result.getAfterEnd()(package private) Op03SimpleStatementFinallyCatchBody.getCatchCodeStart()(package private) Op03SimpleStatementPeerTries.getOriginalFinally()Result.getStart()(package private) Op03SimpleStatementFinallyCatchBody.getThrowOp()(package private) Op03SimpleStatementPeerTries.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 TypeMethodDescriptionvoidPeerTries.add(Op03SimpleStatement tryStatement) voidPeerTries.PeerTrySet.add(Op03SimpleStatement op) static FinallyCatchBodyFinallyCatchBody.build(Op03SimpleStatement catchStart, List<Op03SimpleStatement> allStatements) booleanFinallyCatchBody.contains(Op03SimpleStatement stm) static voidFinalAnalyzer.identifyFinally(Method method, Op03SimpleStatement in, List<Op03SimpleStatement> allStatements, BlockIdentifierFactory blockIdentifierFactory, Set<Op03SimpleStatement> analysedTries) private static booleanFinalAnalyzer.identifyFinally2(Op03SimpleStatement in, PeerTries peerTries, FinallyGraphHelper finallyGraphHelper, Set<Result> results) FinallyGraphHelper.match(Op03SimpleStatement test) private booleanFinallyGraphHelper.treatAsJava13Finally(Op03SimpleStatement b, Statement sb) private static booleanFinalAnalyzer.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 voidFinalAnalyzer.addPeerTries(Collection<Op03SimpleStatement> possibleFinally, PeerTries peerTries) static FinallyCatchBodyFinallyCatchBody.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 Op03SimpleStatementFinalAnalyzer.findPossibleFinallyCatch(Set<Op03SimpleStatement> possibleCatches) static voidFinalAnalyzer.identifyFinally(Method method, Op03SimpleStatement in, List<Op03SimpleStatement> allStatements, BlockIdentifierFactory blockIdentifierFactory, Set<Op03SimpleStatement> analysedTries) static voidFinalAnalyzer.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) privateFinallyCatchBody(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 Op03SimpleStatementModifierConstructorDescriptionprivateFinallyCatchBody(Op03SimpleStatement throwOp, boolean isEmpty, Op03SimpleStatement catchCodeStart, List<Op03SimpleStatement> body) Result(Set<Op03SimpleStatement> toRemove, Op03SimpleStatement start, Op03SimpleStatement afterEnd)