EvaluationOrder

class EvaluationOrder(start: Node, end: Node, var unreachable: Boolean = false, var branch: Boolean? = null) : Edge<Node>

An edge in our Evaluation Order Graph (EOG). It considers the order in which our AST statements would be "evaluated" (e.g. by a compiler or interpreter). See EvaluationOrderGraphPass for more details.

Constructors

Link copied to clipboard
constructor(start: Node, end: Node, unreachable: Boolean = false, branch: Boolean? = null)

Properties

Link copied to clipboard

If we have multiple EOG edges the branch property indicates which EOG edge leads to true branch (expression evaluated to true) or the false branch (e.g. with an if/else condition). Otherwise, this property is null.

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
var end: Node
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
open override var labels: Set<String>
Link copied to clipboard
var name: String?

An optional name.

Link copied to clipboard
var start: Node
Link copied to clipboard

True, if the edge flows into unreachable code e.g. a branch condition which is always false.

Functions

Link copied to clipboard
open override fun clone(): Edge<Node>
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