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
A JvmCfaNode representing the beginning of a catch or finally block.

The finally blocks are identified by catch type 0.

  • Constructor Details

    • 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 to
      offset - a number indicating the program location offset of the node
      catchType - an integer representing the exception type caught by the handler in the node's method exception table
      clazz - the class of the method the node belongs to
    • JvmCatchCfaNode

      public JvmCatchCfaNode(List<JvmCfaEdge> leavingEdges, 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 node
      enteringEdges - a list of edges entering the node
      signature - the signature of the method the node belongs to
      offset - a number indicating the program location offset of the node
      catchType - an integer representing the exception type caught by the handler in the node's method exception table
      clazz - the class of the method the node belongs to
  • Method Details

    • getCatchType

      public int getCatchType()
      Returns the integer representing the exception type in the exception table of the method the node belongs to.
    • isFinallyNode

      public boolean isFinallyNode()
      Returns true if the catch node represents the beginning of a finally block.