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 classExceptionAggregator.ByTargetprivate static classExceptionAggregator.CompareExceptionTablesByRangeprivate static classExceptionAggregator.ValidException
-
Field Summary
Fields Modifier and Type Field Description private booleanaggressiveAggregateprivate booleanaggressiveAggregate2private java.util.List<ExceptionGroup>exceptionsByRangeprivate java.util.List<Op01WithProcessedDataAndByteJumps>instrsprivate java.util.Map<java.lang.Integer,java.lang.Integer>lutByOffsetprivate booleanremovedLoopingExceptions
-
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 voidaggressiveImpossiblePruning()voidaggressiveRethrowPruning()private static intcanExpandTryBy(int idx, java.util.List<Op01WithProcessedDataAndByteJumps> statements)private booleancanExtendTo(ExceptionTableEntry a, ExceptionTableEntry b, DecompilerComments comments)java.util.List<ExceptionGroup>getExceptionsGroups()booleanRemovedLoopingExceptions()voidremoveSynchronisedHandlers(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()
-
-