Class ExceptionAggregator
- java.lang.Object
-
- org.benf.cfr.reader.entities.exceptions.ExceptionAggregator
-
public class ExceptionAggregator extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
ExceptionAggregator.ByTarget
private static class
ExceptionAggregator.CompareExceptionTablesByRange
private static class
ExceptionAggregator.ValidException
-
Field Summary
Fields Modifier and Type Field Description private boolean
aggressiveAggregate
private boolean
aggressiveAggregate2
private java.util.List<ExceptionGroup>
exceptionsByRange
private java.util.List<Op01WithProcessedDataAndByteJumps>
instrs
private java.util.Map<java.lang.Integer,java.lang.Integer>
lutByOffset
private boolean
removedLoopingExceptions
-
Constructor Summary
Constructors Constructor Description ExceptionAggregator(java.util.List<ExceptionTableEntry> rawExceptions, BlockIdentifierFactory blockIdentifierFactory, java.util.Map<java.lang.Integer,java.lang.Integer> lutByOffset, java.util.List<Op01WithProcessedDataAndByteJumps> instrs, Options options, ConstantPool cp, DecompilerComments comments)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
aggressiveImpossiblePruning()
void
aggressiveRethrowPruning()
private static int
canExpandTryBy(int idx, java.util.List<Op01WithProcessedDataAndByteJumps> statements)
private boolean
canExtendTo(ExceptionTableEntry a, ExceptionTableEntry b, DecompilerComments comments)
java.util.List<ExceptionGroup>
getExceptionsGroups()
boolean
RemovedLoopingExceptions()
void
removeSynchronisedHandlers(java.util.Map<java.lang.Integer,java.lang.Integer> lutByIdx)
-
-
-
Field Detail
-
exceptionsByRange
private final java.util.List<ExceptionGroup> exceptionsByRange
-
lutByOffset
private final java.util.Map<java.lang.Integer,java.lang.Integer> lutByOffset
-
instrs
private final java.util.List<Op01WithProcessedDataAndByteJumps> instrs
-
aggressiveAggregate
private final boolean aggressiveAggregate
-
aggressiveAggregate2
private final boolean aggressiveAggregate2
-
removedLoopingExceptions
private final boolean removedLoopingExceptions
-
-
Constructor Detail
-
ExceptionAggregator
public ExceptionAggregator(java.util.List<ExceptionTableEntry> rawExceptions, BlockIdentifierFactory blockIdentifierFactory, java.util.Map<java.lang.Integer,java.lang.Integer> lutByOffset, java.util.List<Op01WithProcessedDataAndByteJumps> instrs, Options options, ConstantPool cp, DecompilerComments comments)
-
-
Method Detail
-
canExtendTo
private boolean canExtendTo(ExceptionTableEntry a, ExceptionTableEntry b, DecompilerComments comments)
-
canExpandTryBy
private static int canExpandTryBy(int idx, java.util.List<Op01WithProcessedDataAndByteJumps> statements)
-
getExceptionsGroups
public java.util.List<ExceptionGroup> getExceptionsGroups()
-
removeSynchronisedHandlers
public void removeSynchronisedHandlers(java.util.Map<java.lang.Integer,java.lang.Integer> lutByIdx)
-
aggressiveRethrowPruning
public void aggressiveRethrowPruning()
-
aggressiveImpossiblePruning
public void aggressiveImpossiblePruning()
-
RemovedLoopingExceptions
public boolean RemovedLoopingExceptions()
-
-