Class PeerTries
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.utils.finalhelp.PeerTries
-
public class PeerTries extends java.lang.ObjectThese 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 classPeerTries.PeerTrySet
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<BlockIdentifier>guessPeerTryBlocksprivate java.util.Map<BlockIdentifier,Op03SimpleStatement>guessPeerTryMapprivate java.util.Set<Op03SimpleStatement>guessPeerTryStartsprivate intnextIdxprivate Op03SimpleStatementpossibleFinallyCatchprivate java.util.Set<Op03SimpleStatement>seenEverprivate java.util.LinkedList<Op03SimpleStatement>toProcessprivate 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 voidadd(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) Op03SimpleStatementgetOriginalFinally()(package private) java.util.List<PeerTries.PeerTrySet>getPeerTryGroups()booleanhasNext()(package private) Op03SimpleStatementremoveNext()
-
-
-
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()
-
-