Class ExceptionRewriters
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters.ExceptionRewriters
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) static void
private static void
combineTryCatchBlocks
(Op03SimpleStatement tryStatement) (package private) static List<Op03SimpleStatement>
eliminateCatchTemporaries
(List<Op03SimpleStatement> statements) private static boolean
private static void
extractCatchEnd
(List<Op03SimpleStatement> statements, ExceptionRewriters.SingleExceptionAddressing trycatch) (package private) static void
private static boolean
extractExceptionMiddle
(Op03SimpleStatement trystm, List<Op03SimpleStatement> statements, ExceptionRewriters.SingleExceptionAddressing trycatch) private static Map<BlockIdentifier,
Op03SimpleStatement> private static LinearScannedBlock
getLinearScannedBlock
(List<Op03SimpleStatement> statements, int idx, Op03SimpleStatement stm, BlockIdentifier blockIdentifier, boolean prefix) private static ExceptionRewriters.SingleExceptionAddressing
getSingleTryCatch
(Op03SimpleStatement trystm, List<Op03SimpleStatement> statements) private static List<Op03SimpleStatement>
static void
private static void
identifyCatchBlock
(Op03SimpleStatement start, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements) (package private) static void
identifyCatchBlocks
(List<Op03SimpleStatement> in, BlockIdentifierFactory blockIdentifierFactory) private static Op03SimpleStatement
insertBlockPadding
(String comment, Op03SimpleStatement insertAfter, Op03SimpleStatement insertBefore, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements)
-
Constructor Details
-
ExceptionRewriters
public ExceptionRewriters()
-
-
Method Details
-
eliminateCatchTemporaries
-
eliminateCatchTemporary
-
identifyCatchBlocks
static void identifyCatchBlocks(List<Op03SimpleStatement> in, BlockIdentifierFactory blockIdentifierFactory) -
identifyCatchBlock
private static void identifyCatchBlock(Op03SimpleStatement start, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements) -
combineTryCatchBlocks
-
getTries
-
combineTryCatchBlocks
-
insertBlockPadding
private static Op03SimpleStatement insertBlockPadding(String comment, Op03SimpleStatement insertAfter, Op03SimpleStatement insertBefore, BlockIdentifier blockIdentifier, List<Op03SimpleStatement> statements) -
extractExceptionMiddle
-
handleEmptyTries
-
getFirstByBlock
private static Map<BlockIdentifier,Op03SimpleStatement> getFirstByBlock(List<Op03SimpleStatement> in) -
getSingleTryCatch
private static ExceptionRewriters.SingleExceptionAddressing getSingleTryCatch(Op03SimpleStatement trystm, List<Op03SimpleStatement> statements) -
extractExceptionMiddle
private static boolean extractExceptionMiddle(Op03SimpleStatement trystm, List<Op03SimpleStatement> statements, ExceptionRewriters.SingleExceptionAddressing trycatch) -
extractCatchEnd
private static void extractCatchEnd(List<Op03SimpleStatement> statements, ExceptionRewriters.SingleExceptionAddressing trycatch) -
getLinearScannedBlock
private static LinearScannedBlock getLinearScannedBlock(List<Op03SimpleStatement> statements, int idx, Op03SimpleStatement stm, BlockIdentifier blockIdentifier, boolean prefix)
-