Enum Cpg.CpgStruct.Edge.EdgeType

  • All Implemented Interfaces:
    com.google.protobuf.Internal.EnumLite, com.google.protobuf.ProtocolMessageEnum, java.io.Serializable, java.lang.Comparable<Cpg.CpgStruct.Edge.EdgeType>
    Enclosing class:
    Cpg.CpgStruct.Edge

    public static enum Cpg.CpgStruct.Edge.EdgeType
    extends java.lang.Enum<Cpg.CpgStruct.Edge.EdgeType>
    implements com.google.protobuf.ProtocolMessageEnum
     Edge type.
     
    Protobuf enum cpg.CpgStruct.Edge.EdgeType
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      ALIAS_OF
      This edge represents an alias relation between a type declaration and a type.
      ARGUMENT
      Argument edges connect call sites (node type `CALL`) to their arguments (node type `EXPRESSION`) as well as `RETURN` nodes to the expressions that return.
      AST
      This edge connects a parent node to its child in the syntax tree.
      BINDS
      This edge connects a type declaration (`TYPE_DECL`) with a binding node (`BINDING`) and indicates that the type declaration has the binding represented by the binding node, in other words, there is a (name, signature) pair that can be resolved for the type declaration as stored in the binding node.
      BINDS_TO
      This edge connects type arguments to type parameters to indicate that the type argument is used to instantiate the type parameter.
      CALL
      This edge connects call sites, i.e., nodes with the type `CALL`, to the method node that represent the method they invoke.
      CAPTURE
      Represents the capturing of a variable into a closure
      CAPTURED_BY
      Connection between a captured LOCAL and the corresponding CLOSURE_BINDING
      CDG
      A CDG edge expresses that the destination node is control dependent on the source node.
      CFG
      This edge indicates control flow from the source to the destination node.
      CONDITION
      The edge connects control structure nodes to the expressions that holds their conditions.
      CONTAINS
      This edge connects a node to the method that contains it.
      DOMINATE
      This edge indicates that the source node immediately dominates the destination node.
      EVAL_TYPE
      This edge connects a node to its evaluation type.
      INHERITS_FROM
      Inheritance relation between a type declaration and a type.
      PARAMETER_LINK
      This edge connects a method input parameter to the corresponding method output parameter.
      POST_DOMINATE
      This edge indicates that the source node immediately post dominates the destination node.
      REACHING_DEF
      A reaching definition edge indicates that a variable produced at the source node reaches the destination node without being reassigned on the way.
      RECEIVER
      Similar to `ARGUMENT` edges, `RECEIVER` edges connect call sites to their receiver arguments.
      REF
      This edge indicates that the source node is an identifier that denotes access to the destination node.
      SOURCE_FILE
      This edge connects a node to the node that represents its source file.
      TAGGED_BY
      Edges from nodes to the tags they are tagged by.
      UNKNOWN_EDGE_TYPE
      UNKNOWN_EDGE_TYPE = 0;
      UNRECOGNIZED  
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ALIAS_OF_VALUE
      This edge represents an alias relation between a type declaration and a type.
      static int ARGUMENT_VALUE
      Argument edges connect call sites (node type `CALL`) to their arguments (node type `EXPRESSION`) as well as `RETURN` nodes to the expressions that return.
      static int AST_VALUE
      This edge connects a parent node to its child in the syntax tree.
      static int BINDS_TO_VALUE
      This edge connects type arguments to type parameters to indicate that the type argument is used to instantiate the type parameter.
      static int BINDS_VALUE
      This edge connects a type declaration (`TYPE_DECL`) with a binding node (`BINDING`) and indicates that the type declaration has the binding represented by the binding node, in other words, there is a (name, signature) pair that can be resolved for the type declaration as stored in the binding node.
      static int CALL_VALUE
      This edge connects call sites, i.e., nodes with the type `CALL`, to the method node that represent the method they invoke.
      static int CAPTURE_VALUE
      Represents the capturing of a variable into a closure
      static int CAPTURED_BY_VALUE
      Connection between a captured LOCAL and the corresponding CLOSURE_BINDING
      static int CDG_VALUE
      A CDG edge expresses that the destination node is control dependent on the source node.
      static int CFG_VALUE
      This edge indicates control flow from the source to the destination node.
      static int CONDITION_VALUE
      The edge connects control structure nodes to the expressions that holds their conditions.
      static int CONTAINS_VALUE
      This edge connects a node to the method that contains it.
      static int DOMINATE_VALUE
      This edge indicates that the source node immediately dominates the destination node.
      static int EVAL_TYPE_VALUE
      This edge connects a node to its evaluation type.
      static int INHERITS_FROM_VALUE
      Inheritance relation between a type declaration and a type.
      static int PARAMETER_LINK_VALUE
      This edge connects a method input parameter to the corresponding method output parameter.
      static int POST_DOMINATE_VALUE
      This edge indicates that the source node immediately post dominates the destination node.
      static int REACHING_DEF_VALUE
      A reaching definition edge indicates that a variable produced at the source node reaches the destination node without being reassigned on the way.
      static int RECEIVER_VALUE
      Similar to `ARGUMENT` edges, `RECEIVER` edges connect call sites to their receiver arguments.
      static int REF_VALUE
      This edge indicates that the source node is an identifier that denotes access to the destination node.
      static int SOURCE_FILE_VALUE
      This edge connects a node to the node that represents its source file.
      static int TAGGED_BY_VALUE
      Edges from nodes to the tags they are tagged by.
      static int UNKNOWN_EDGE_TYPE_VALUE
      UNKNOWN_EDGE_TYPE = 0;
    • Enum Constant Detail

      • CALL

        public static final Cpg.CpgStruct.Edge.EdgeType CALL
         This edge connects call sites, i.e., nodes with the type `CALL`, to the
        method node that represent the method they invoke. The frontend MAY create
        `CALL` edges but is not required to do so. Instead, of the `METHOD_FULL_NAME`
        field of the `CALL` node is set correctly, `CALL` edges are created
        automatically as the CPG is first loaded. 
         
        CALL = 6;
      • REF

        public static final Cpg.CpgStruct.Edge.EdgeType REF
         This edge indicates that the source node is an identifier that denotes
        access to the destination node. For example, an identifier may reference
        a local variable. 
         
        REF = 10;
      • TAGGED_BY

        public static final Cpg.CpgStruct.Edge.EdgeType TAGGED_BY
         Edges from nodes to the tags they are tagged by. 
         
        TAGGED_BY = 11;
      • PARAMETER_LINK

        public static final Cpg.CpgStruct.Edge.EdgeType PARAMETER_LINK
         This edge connects a method input parameter to the corresponding
        method output parameter. 
         
        PARAMETER_LINK = 12;
      • CFG

        public static final Cpg.CpgStruct.Edge.EdgeType CFG
         This edge indicates control flow from the source to the destination node. 
         
        CFG = 19;
      • EVAL_TYPE

        public static final Cpg.CpgStruct.Edge.EdgeType EVAL_TYPE
         This edge connects a node to its evaluation type. 
         
        EVAL_TYPE = 21;
      • BINDS_TO

        public static final Cpg.CpgStruct.Edge.EdgeType BINDS_TO
         This edge connects type arguments to type parameters to indicate
        that the type argument is used to instantiate the type parameter. 
         
        BINDS_TO = 22;
      • INHERITS_FROM

        public static final Cpg.CpgStruct.Edge.EdgeType INHERITS_FROM
         Inheritance relation between a type declaration and a type. This edge MUST NOT
        be created by the language frontend as it is automatically created from
        `INHERITS_FROM_TYPE_FULL_NAME` fields then the CPG is first loaded. 
         
        INHERITS_FROM = 23;
      • CONTAINS

        public static final Cpg.CpgStruct.Edge.EdgeType CONTAINS
         This edge connects a node to the method that contains it. 
         
        CONTAINS = 28;
      • CAPTURED_BY

        public static final Cpg.CpgStruct.Edge.EdgeType CAPTURED_BY
         Connection between a captured LOCAL and the corresponding CLOSURE_BINDING 
         
        CAPTURED_BY = 41;
      • RECEIVER

        public static final Cpg.CpgStruct.Edge.EdgeType RECEIVER
         Similar to `ARGUMENT` edges, `RECEIVER` edges connect call sites
        to their receiver arguments. A receiver argument is the object on
        which a method operates, that is, it is the expression that is
        assigned to the `this` pointer as control is transferred to the method. 
         
        RECEIVER = 55;
      • CONDITION

        public static final Cpg.CpgStruct.Edge.EdgeType CONDITION
         The edge connects control structure nodes to the expressions that holds their conditions. 
         
        CONDITION = 56;
      • REACHING_DEF

        public static final Cpg.CpgStruct.Edge.EdgeType REACHING_DEF
         A reaching definition edge indicates that a variable produced at the source node reaches
        the destination node without being reassigned on the way. The `VARIABLE` property indicates
        which variable is propagated. 
         
        REACHING_DEF = 137;
      • ALIAS_OF

        public static final Cpg.CpgStruct.Edge.EdgeType ALIAS_OF
         This edge represents an alias relation between a type declaration and a type.
        The language frontend MUST NOT create `ALIAS_OF` edges as they are created
        automatically based on `ALIAS_TYPE_FULL_NAME` fields when the CPG is first loaded. 
         
        ALIAS_OF = 138;
      • BINDS

        public static final Cpg.CpgStruct.Edge.EdgeType BINDS
         This edge connects a type declaration (`TYPE_DECL`) with a binding node (`BINDING`) and
        indicates that the type declaration has the binding represented by the binding node, in
        other words, there is a (name, signature) pair that can be resolved for the type
        declaration as stored in the binding node. 
         
        BINDS = 155;
      • ARGUMENT

        public static final Cpg.CpgStruct.Edge.EdgeType ARGUMENT
         Argument edges connect call sites (node type `CALL`) to their arguments
        (node type `EXPRESSION`) as well as `RETURN` nodes to the expressions
        that return. 
         
        ARGUMENT = 156;
      • SOURCE_FILE

        public static final Cpg.CpgStruct.Edge.EdgeType SOURCE_FILE
         This edge connects a node to the node that represents its source file. These
        edges MUST not be created by the language frontend but are automatically
        created based on `FILENAME` fields. 
         
        SOURCE_FILE = 157;
      • DOMINATE

        public static final Cpg.CpgStruct.Edge.EdgeType DOMINATE
         This edge indicates that the source node immediately dominates the destination node. 
         
        DOMINATE = 181;
      • POST_DOMINATE

        public static final Cpg.CpgStruct.Edge.EdgeType POST_DOMINATE
         This edge indicates that the source node immediately post dominates the destination node. 
         
        POST_DOMINATE = 182;
      • CDG

        public static final Cpg.CpgStruct.Edge.EdgeType CDG
         A CDG edge expresses that the destination node is control dependent on the source node. 
         
        CDG = 183;
    • Field Detail

      • UNKNOWN_EDGE_TYPE_VALUE

        public static final int UNKNOWN_EDGE_TYPE_VALUE
        UNKNOWN_EDGE_TYPE = 0;
        See Also:
        Constant Field Values
      • AST_VALUE

        public static final int AST_VALUE
         This edge connects a parent node to its child in the syntax tree. 
         
        AST = 3;
        See Also:
        Constant Field Values
      • CALL_VALUE

        public static final int CALL_VALUE
         This edge connects call sites, i.e., nodes with the type `CALL`, to the
        method node that represent the method they invoke. The frontend MAY create
        `CALL` edges but is not required to do so. Instead, of the `METHOD_FULL_NAME`
        field of the `CALL` node is set correctly, `CALL` edges are created
        automatically as the CPG is first loaded. 
         
        CALL = 6;
        See Also:
        Constant Field Values
      • REF_VALUE

        public static final int REF_VALUE
         This edge indicates that the source node is an identifier that denotes
        access to the destination node. For example, an identifier may reference
        a local variable. 
         
        REF = 10;
        See Also:
        Constant Field Values
      • TAGGED_BY_VALUE

        public static final int TAGGED_BY_VALUE
         Edges from nodes to the tags they are tagged by. 
         
        TAGGED_BY = 11;
        See Also:
        Constant Field Values
      • PARAMETER_LINK_VALUE

        public static final int PARAMETER_LINK_VALUE
         This edge connects a method input parameter to the corresponding
        method output parameter. 
         
        PARAMETER_LINK = 12;
        See Also:
        Constant Field Values
      • CFG_VALUE

        public static final int CFG_VALUE
         This edge indicates control flow from the source to the destination node. 
         
        CFG = 19;
        See Also:
        Constant Field Values
      • EVAL_TYPE_VALUE

        public static final int EVAL_TYPE_VALUE
         This edge connects a node to its evaluation type. 
         
        EVAL_TYPE = 21;
        See Also:
        Constant Field Values
      • BINDS_TO_VALUE

        public static final int BINDS_TO_VALUE
         This edge connects type arguments to type parameters to indicate
        that the type argument is used to instantiate the type parameter. 
         
        BINDS_TO = 22;
        See Also:
        Constant Field Values
      • INHERITS_FROM_VALUE

        public static final int INHERITS_FROM_VALUE
         Inheritance relation between a type declaration and a type. This edge MUST NOT
        be created by the language frontend as it is automatically created from
        `INHERITS_FROM_TYPE_FULL_NAME` fields then the CPG is first loaded. 
         
        INHERITS_FROM = 23;
        See Also:
        Constant Field Values
      • CONTAINS_VALUE

        public static final int CONTAINS_VALUE
         This edge connects a node to the method that contains it. 
         
        CONTAINS = 28;
        See Also:
        Constant Field Values
      • CAPTURE_VALUE

        public static final int CAPTURE_VALUE
         Represents the capturing of a variable into a closure 
         
        CAPTURE = 40;
        See Also:
        Constant Field Values
      • CAPTURED_BY_VALUE

        public static final int CAPTURED_BY_VALUE
         Connection between a captured LOCAL and the corresponding CLOSURE_BINDING 
         
        CAPTURED_BY = 41;
        See Also:
        Constant Field Values
      • RECEIVER_VALUE

        public static final int RECEIVER_VALUE
         Similar to `ARGUMENT` edges, `RECEIVER` edges connect call sites
        to their receiver arguments. A receiver argument is the object on
        which a method operates, that is, it is the expression that is
        assigned to the `this` pointer as control is transferred to the method. 
         
        RECEIVER = 55;
        See Also:
        Constant Field Values
      • CONDITION_VALUE

        public static final int CONDITION_VALUE
         The edge connects control structure nodes to the expressions that holds their conditions. 
         
        CONDITION = 56;
        See Also:
        Constant Field Values
      • REACHING_DEF_VALUE

        public static final int REACHING_DEF_VALUE
         A reaching definition edge indicates that a variable produced at the source node reaches
        the destination node without being reassigned on the way. The `VARIABLE` property indicates
        which variable is propagated. 
         
        REACHING_DEF = 137;
        See Also:
        Constant Field Values
      • ALIAS_OF_VALUE

        public static final int ALIAS_OF_VALUE
         This edge represents an alias relation between a type declaration and a type.
        The language frontend MUST NOT create `ALIAS_OF` edges as they are created
        automatically based on `ALIAS_TYPE_FULL_NAME` fields when the CPG is first loaded. 
         
        ALIAS_OF = 138;
        See Also:
        Constant Field Values
      • BINDS_VALUE

        public static final int BINDS_VALUE
         This edge connects a type declaration (`TYPE_DECL`) with a binding node (`BINDING`) and
        indicates that the type declaration has the binding represented by the binding node, in
        other words, there is a (name, signature) pair that can be resolved for the type
        declaration as stored in the binding node. 
         
        BINDS = 155;
        See Also:
        Constant Field Values
      • ARGUMENT_VALUE

        public static final int ARGUMENT_VALUE
         Argument edges connect call sites (node type `CALL`) to their arguments
        (node type `EXPRESSION`) as well as `RETURN` nodes to the expressions
        that return. 
         
        ARGUMENT = 156;
        See Also:
        Constant Field Values
      • SOURCE_FILE_VALUE

        public static final int SOURCE_FILE_VALUE
         This edge connects a node to the node that represents its source file. These
        edges MUST not be created by the language frontend but are automatically
        created based on `FILENAME` fields. 
         
        SOURCE_FILE = 157;
        See Also:
        Constant Field Values
      • DOMINATE_VALUE

        public static final int DOMINATE_VALUE
         This edge indicates that the source node immediately dominates the destination node. 
         
        DOMINATE = 181;
        See Also:
        Constant Field Values
      • POST_DOMINATE_VALUE

        public static final int POST_DOMINATE_VALUE
         This edge indicates that the source node immediately post dominates the destination node. 
         
        POST_DOMINATE = 182;
        See Also:
        Constant Field Values
      • CDG_VALUE

        public static final int CDG_VALUE
         A CDG edge expresses that the destination node is control dependent on the source node. 
         
        CDG = 183;
        See Also:
        Constant Field Values
    • Method Detail

      • values

        public static Cpg.CpgStruct.Edge.EdgeType[] 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 (Cpg.CpgStruct.Edge.EdgeType c : Cpg.CpgStruct.Edge.EdgeType.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Cpg.CpgStruct.Edge.EdgeType valueOf​(java.lang.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:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • getNumber

        public final int getNumber()
        Specified by:
        getNumber in interface com.google.protobuf.Internal.EnumLite
        Specified by:
        getNumber in interface com.google.protobuf.ProtocolMessageEnum
      • valueOf

        @Deprecated
        public static Cpg.CpgStruct.Edge.EdgeType valueOf​(int value)
        Deprecated.
        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:
        value - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • forNumber

        public static Cpg.CpgStruct.Edge.EdgeType forNumber​(int value)
        Parameters:
        value - The numeric wire value of the corresponding enum entry.
        Returns:
        The enum associated with the given numeric wire value.
      • getValueDescriptor

        public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
        Specified by:
        getValueDescriptor in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptorForType

        public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptor

        public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
      • valueOf

        public static Cpg.CpgStruct.Edge.EdgeType valueOf​(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
        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:
        desc - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null