Class PeerTries
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.utils.finalhelp.PeerTries
-
public class PeerTries extends java.lang.Object
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 Modifier and Type Class Description static class
PeerTries.PeerTrySet
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<BlockIdentifier>
guessPeerTryBlocks
private java.util.Map<BlockIdentifier,Op03SimpleStatement>
guessPeerTryMap
private java.util.Set<Op03SimpleStatement>
guessPeerTryStarts
private int
nextIdx
private Op03SimpleStatement
possibleFinallyCatch
private java.util.Set<Op03SimpleStatement>
seenEver
private java.util.LinkedList<Op03SimpleStatement>
toProcess
private java.util.Map<CompositeBlockIdentifierKey,PeerTries.PeerTrySet>
triesByLevel
-
Constructor Summary
Constructors Constructor Description PeerTries(Op03SimpleStatement possibleFinallyCatch)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(Op03SimpleStatement tryStatement)
(package private) java.util.Set<BlockIdentifier>
getGuessPeerTryBlocks()
(package private) java.util.Map<BlockIdentifier,Op03SimpleStatement>
getGuessPeerTryMap()
(package private) java.util.Set<Op03SimpleStatement>
getGuessPeerTryStarts()
(package private) Op03SimpleStatement
getOriginalFinally()
(package private) java.util.List<PeerTries.PeerTrySet>
getPeerTryGroups()
boolean
hasNext()
(package private) Op03SimpleStatement
removeNext()
-
-
-
Field Detail
-
possibleFinallyCatch
private final Op03SimpleStatement possibleFinallyCatch
-
seenEver
private final java.util.Set<Op03SimpleStatement> seenEver
-
toProcess
private final java.util.LinkedList<Op03SimpleStatement> toProcess
-
nextIdx
private int nextIdx
-
guessPeerTryBlocks
private java.util.Set<BlockIdentifier> guessPeerTryBlocks
-
guessPeerTryMap
private java.util.Map<BlockIdentifier,Op03SimpleStatement> guessPeerTryMap
-
guessPeerTryStarts
private java.util.Set<Op03SimpleStatement> guessPeerTryStarts
-
triesByLevel
private final java.util.Map<CompositeBlockIdentifierKey,PeerTries.PeerTrySet> triesByLevel
-
-
Constructor Detail
-
PeerTries
PeerTries(Op03SimpleStatement possibleFinallyCatch)
-
-
Method Detail
-
getOriginalFinally
Op03SimpleStatement getOriginalFinally()
-
getGuessPeerTryBlocks
java.util.Set<BlockIdentifier> getGuessPeerTryBlocks()
-
getGuessPeerTryMap
java.util.Map<BlockIdentifier,Op03SimpleStatement> getGuessPeerTryMap()
-
getGuessPeerTryStarts
java.util.Set<Op03SimpleStatement> getGuessPeerTryStarts()
-
add
public void add(Op03SimpleStatement tryStatement)
-
hasNext
public boolean hasNext()
-
removeNext
Op03SimpleStatement removeNext()
-
getPeerTryGroups
java.util.List<PeerTries.PeerTrySet> getPeerTryGroups()
-
-