Edge

abstract class Edge<NodeType : Node> : Persistable, Cloneable

This class represents an edge between two Node objects in a Neo4J graph. It can be used to store additional information that relate to the relationship between the two nodes that belong to neither of the two nodes directly.

An example would be the name (in this case a) of an argument between a CallExpression (foo) and its argument (a Literal of 2) in languages that support keyword arguments, such as Python:

foo("bar", a = 2)

Inheritors

Constructors

Link copied to clipboard
constructor(start: Node, end: NodeType)
constructor(edge: Edge<NodeType>)

Types

Link copied to clipboard
object Companion
Link copied to clipboard
inner class Delegate<ThisType : Node>

Properties

Link copied to clipboard

The type of dependence (e.g. control or data or none). This field is intentionally nullable, because not all Edge edges are selected in the PDG. This selection is performed in the ProgramDependenceGraphPass.

Link copied to clipboard
Link copied to clipboard
var index: Int?

The index of this node, if it is stored in an de.fraunhofer.aisec.cpg.graph.edges.collections.EdgeList.

Link copied to clipboard
abstract var labels: Set<String>
Link copied to clipboard
var name: String?

An optional name.

Link copied to clipboard
var start: Node

Functions

Link copied to clipboard
open override fun clone(): Edge<NodeType>
Link copied to clipboard
Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard

Returns the Persistable's properties. This DOES NOT include relationships, but only properties directly attached to the node/edge.

Link copied to clipboard
Link copied to clipboard
open override fun toString(): String