Class PeerTries
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.parse.utils.finalhelp.PeerTries
These are the tries we've identified as being connected via a finally.
So
try {
if (a ) return 1;
if ( b) return 2
} finally {
x
}
would become
try {
if (!a) jump l2:
}
x
return 1;
l2:
try {
if (!b) jump l3
jump after catch
}
x
return 2;
catch (Throwable ) {
x;
}
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Set<BlockIdentifier>
private Map<BlockIdentifier,
Op03SimpleStatement> private Set<Op03SimpleStatement>
private int
private final Op03SimpleStatement
private final Set<Op03SimpleStatement>
private final LinkedList<Op03SimpleStatement>
private final Map<CompositeBlockIdentifierKey,
PeerTries.PeerTrySet> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(Op03SimpleStatement tryStatement) (package private) Set<BlockIdentifier>
(package private) Map<BlockIdentifier,
Op03SimpleStatement> (package private) Set<Op03SimpleStatement>
(package private) Op03SimpleStatement
(package private) List<PeerTries.PeerTrySet>
boolean
hasNext()
(package private) Op03SimpleStatement
-
Field Details
-
possibleFinallyCatch
-
seenEver
-
toProcess
-
nextIdx
private int nextIdx -
guessPeerTryBlocks
-
guessPeerTryMap
-
guessPeerTryStarts
-
triesByLevel
-
-
Constructor Details
-
PeerTries
PeerTries(Op03SimpleStatement possibleFinallyCatch)
-
-
Method Details
-
getOriginalFinally
Op03SimpleStatement getOriginalFinally() -
getGuessPeerTryBlocks
Set<BlockIdentifier> getGuessPeerTryBlocks() -
getGuessPeerTryMap
Map<BlockIdentifier,Op03SimpleStatement> getGuessPeerTryMap() -
getGuessPeerTryStarts
Set<Op03SimpleStatement> getGuessPeerTryStarts() -
add
-
hasNext
public boolean hasNext() -
removeNext
Op03SimpleStatement removeNext() -
getPeerTryGroups
List<PeerTries.PeerTrySet> getPeerTryGroups()
-