Package io.shiftleft.proto.cpg
Enum Cpg.CpgStruct.Edge.EdgeType
- java.lang.Object
-
- java.lang.Enum<Cpg.CpgStruct.Edge.EdgeType>
-
- io.shiftleft.proto.cpg.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 enumcpg.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 closureCAPTURED_BY
Connection between a captured LOCAL and the corresponding CLOSURE_BINDINGCDG
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 closurestatic int
CAPTURED_BY_VALUE
Connection between a captured LOCAL and the corresponding CLOSURE_BINDINGstatic 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;
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static Cpg.CpgStruct.Edge.EdgeType
forNumber(int value)
static com.google.protobuf.Descriptors.EnumDescriptor
getDescriptor()
com.google.protobuf.Descriptors.EnumDescriptor
getDescriptorForType()
int
getNumber()
com.google.protobuf.Descriptors.EnumValueDescriptor
getValueDescriptor()
static com.google.protobuf.Internal.EnumLiteMap<Cpg.CpgStruct.Edge.EdgeType>
internalGetValueMap()
static Cpg.CpgStruct.Edge.EdgeType
valueOf(int value)
Deprecated.static Cpg.CpgStruct.Edge.EdgeType
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Returns the enum constant of this type with the specified name.static Cpg.CpgStruct.Edge.EdgeType
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static Cpg.CpgStruct.Edge.EdgeType[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
UNKNOWN_EDGE_TYPE
public static final Cpg.CpgStruct.Edge.EdgeType UNKNOWN_EDGE_TYPE
UNKNOWN_EDGE_TYPE = 0;
-
AST
public static final Cpg.CpgStruct.Edge.EdgeType AST
This edge connects a parent node to its child in the syntax tree.
AST = 3;
-
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;
-
CAPTURE
public static final Cpg.CpgStruct.Edge.EdgeType CAPTURE
Represents the capturing of a variable into a closure
CAPTURE = 40;
-
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;
-
UNRECOGNIZED
public static final Cpg.CpgStruct.Edge.EdgeType UNRECOGNIZED
-
-
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 namejava.lang.NullPointerException
- if the argument is null
-
getNumber
public final int getNumber()
- Specified by:
getNumber
in interfacecom.google.protobuf.Internal.EnumLite
- Specified by:
getNumber
in interfacecom.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 namejava.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.
-
internalGetValueMap
public static com.google.protobuf.Internal.EnumLiteMap<Cpg.CpgStruct.Edge.EdgeType> internalGetValueMap()
-
getValueDescriptor
public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
- Specified by:
getValueDescriptor
in interfacecom.google.protobuf.ProtocolMessageEnum
-
getDescriptorForType
public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
- Specified by:
getDescriptorForType
in interfacecom.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 namejava.lang.NullPointerException
- if the argument is null
-
-