Class JvmCatchCfaNode
- java.lang.Object
-
- proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
-
- proguard.analysis.cpa.jvm.cfa.nodes.JvmCatchCfaNode
-
- All Implemented Interfaces:
CfaNode<JvmCfaEdge,MethodSignature>
public class JvmCatchCfaNode extends JvmCfaNode
AJvmCfaNode
representing the beginning of a catch or finally block.The finally blocks are identified by catch type 0.
-
-
Field Summary
-
Fields inherited from interface proguard.analysis.cpa.interfaces.CfaNode
EXCEPTION_EXIT_NODE_OFFSET, RETURN_EXIT_NODE_OFFSET
-
-
Constructor Summary
Constructors Constructor Description JvmCatchCfaNode(java.util.List<JvmCfaEdge> leavingEdges, java.util.List<JvmCfaEdge> enteringEdges, MethodSignature signature, int offset, int catchType, Clazz clazz)
Create JVM CFA catch node with the specified entering and exiting edges.JvmCatchCfaNode(MethodSignature signature, int offset, int catchType, Clazz clazz)
Create a JVM CFA catch node without edges.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getCatchType()
Returns the integer representing the exception type in the exception table of the method the node belongs to.boolean
isFinallyNode()
Returns true if the catch node represents the beginning of a finally block.-
Methods inherited from class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
addEnteringEdge, addLeavingEdge, getClazz, getEnteringEdges, getEnteringIntraproceduralEdges, getEnteringInvokeEdge, getKnownMethodCallEdges, getLeavingEdges, getLeavingInterproceduralEdges, getLeavingIntraproceduralEdges, getLeavingInvokeEdge, getOffset, getSignature, hashCode, isEntryNode, isExitNode, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface proguard.analysis.cpa.interfaces.CfaNode
isExceptionExitNode, isReturnExitNode, isUnknownNode
-
-
-
-
Constructor Detail
-
JvmCatchCfaNode
public JvmCatchCfaNode(MethodSignature signature, int offset, int catchType, Clazz clazz)
Create a JVM CFA catch node without edges. Since in most cases we expect to have just one element in the lists of leaving and entering edges the lists are initialized with size 1.- Parameters:
signature
- the signature of the method the node belongs tooffset
- a number indicating the program location offset of the nodecatchType
- an integer representing the exception type caught by the handler in the node's method exception tableclazz
- the class of the method the node belongs to
-
JvmCatchCfaNode
public JvmCatchCfaNode(java.util.List<JvmCfaEdge> leavingEdges, java.util.List<JvmCfaEdge> enteringEdges, MethodSignature signature, int offset, int catchType, Clazz clazz)
Create JVM CFA catch node with the specified entering and exiting edges.- Parameters:
leavingEdges
- a list of edges leaving the nodeenteringEdges
- a list of edges entering the nodesignature
- the signature of the method the node belongs tooffset
- a number indicating the program location offset of the nodecatchType
- an integer representing the exception type caught by the handler in the node's method exception tableclazz
- the class of the method the node belongs to
-
-