Package jadx.core.dex.trycatch
Class TryEdgeScopeGroupMap
java.lang.Object
jadx.core.dex.trycatch.TryEdgeScopeGroupMap
public final class TryEdgeScopeGroupMap
extends Object
implements Map<TryEdge,Map<TryEdge,BlockNode>>
A map which stores the information of how try edges correlate with each other.
K is a try edge and V contains all other try edges whose who share the same logical scope.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionTryEdgeScopeGroupMap(MethodNode mth, TryCatchBlockAttr tryCatch, int initialCapacity) -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()booleancontainsKey(Object key) booleancontainsValue(Object value) entrySet()getMergedNodeFromEdge(TryEdge edge) getScopeEnds(MethodNode mth) Returns a map of all points where edges meet with each other, dictating the end of that edge's scope.booleanbooleanisEmpty()keySet()mergeSameScopes(Map<TryEdge, BlockNode> handlers) If two scopes ever merge, as in if one edge leads to the same execution point as the target of another edge, this function will record it.voidpopulateFromEdges(Map<TryEdge, BlockNode> edges) voidintsize()values()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Field Details
-
mergedEdges
-
tryCatch
-
underlyingMap
-
-
Constructor Details
-
TryEdgeScopeGroupMap
-
-
Method Details
-
clear
public void clear() -
containsKey
-
containsValue
-
entrySet
-
get
-
isEmpty
public boolean isEmpty() -
keySet
-
put
-
putAll
-
remove
-
size
public int size() -
values
-
hasMergedEdges
public boolean hasMergedEdges() -
getMergedScopes
-
populateFromEdges
-
getScopeEnds
Returns a map of all points where edges meet with each other, dictating the end of that edge's scope. -
getMergedNodeFromEdge
-
createEdgeTerminusMap
-
mergeSameScopes
If two scopes ever merge, as in if one edge leads to the same execution point as the target of another edge, this function will record it.- Parameters:
handlers-- Returns:
-