Enum CPGNodeType

    • Enum Constant Detail

      • METHOD

        public static final CPGNodeType METHOD
        A whole method, the root that its blocks and locals belong to.
      • BLOCK

        public static final CPGNodeType BLOCK
        A basic block, a run of instructions entered only at its head.
      • INSTRUCTION

        public static final CPGNodeType INSTRUCTION
        A single IR instruction inside a block.
      • PARAMETER

        public static final CPGNodeType PARAMETER
        A formal parameter of the method, live from entry rather than assigned by a body instruction.
      • LOCAL

        public static final CPGNodeType LOCAL
        A local variable of the method, distinct from its declared parameters.
      • CALL_SITE

        public static final CPGNodeType CALL_SITE
        A single invocation, the anchor interprocedural edges attach to.
      • LITERAL

        public static final CPGNodeType LITERAL
        A compile-time constant operand, such as a number or string literal.
      • TYPE

        public static final CPGNodeType TYPE
        A named class or descriptor type mentioned by the code, not a value of that type.
      • FIELD_REF

        public static final CPGNodeType FIELD_REF
        A reference to a field, covering both reads and writes of it.
      • AST_EXPRESSION

        public static final CPGNodeType AST_EXPRESSION
        An expression in the recovered source tree, evaluating to a value.
      • AST_STATEMENT

        public static final CPGNodeType AST_STATEMENT
        A statement in the recovered source tree, executed for effect rather than for a value.
      • PDG_ENTRY

        public static final CPGNodeType PDG_ENTRY
        The synthetic root that unconditionally executed code hangs its control dependence from.
      • PDG_EXIT

        public static final CPGNodeType PDG_EXIT
        The synthetic sink every path out of the method converges on.
      • SDG_FORMAL_IN

        public static final CPGNodeType SDG_FORMAL_IN
        A value entering a method at its entry, the callee side of an actual-in.
      • SDG_FORMAL_OUT

        public static final CPGNodeType SDG_FORMAL_OUT
        A value leaving a method at its exit, the callee side of an actual-out.
      • SDG_ACTUAL_IN

        public static final CPGNodeType SDG_ACTUAL_IN
        An argument supplied at a call site, paired with the callee's formal-in.
      • SDG_ACTUAL_OUT

        public static final CPGNodeType SDG_ACTUAL_OUT
        The value handed back to the caller at a call site, paired with the callee's formal-out.
    • Method Detail

      • values

        public static CPGNodeType[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (CPGNodeType c : CPGNodeType.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static CPGNodeType valueOf​(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • getShortName

        public String getShortName()
        Returns:
        the short name
      • getDescription

        public String getDescription()
        Returns:
        the description
      • isIRNode

        public boolean isIRNode()
        Returns:
        whether this is an IR-layer node type
      • isASTNode

        public boolean isASTNode()
        Returns:
        whether this is an AST-layer node type
      • isPDGNode

        public boolean isPDGNode()
        Returns:
        whether this is a PDG-layer node type
      • isSDGNode

        public boolean isSDGNode()
        Returns:
        whether this is an SDG parameter node type