ProgramDependences
A container of Edge edges that act as a program dependence graph (PDG). The canonical version of this lives in Node.prevPDGEdges / Node.nextPDGEdges and is populated by the ProgramDependenceGraphPass.
After population, this collection will contain a direct combination of two other edge collections (Dataflows and ControlDependences). If we would only handle an in-memory graph, we could just store the edges in their original collection (e.g. DFG) as well as in the PDG. But the Neo4J OGM does not support this, so unfortunately, we need to clone the edges before inserting them into the collection. If we ever got rid of the Neo4J OGM we could potentially also remove the cloning.
Properties
This computed property returns the common type in a Collection of Type objects. For example, if two types A
and B
both derive from the interface C`` then
C` would be returned.
Functions
This function returns the first node that matches the name on the supplied list of nodes.
A shortcut to call firstOrNull using the []
syntax.
A shortcut to call byNameOrNull using the []
syntax.
This function will be executed after the edge was added to the container. This can be used to propagate the edge to other properties or register additional handlers, e.g. a TypeObserver.
This function will be executed after an edge was removed from the container. This can be used to unregister additional handlers, e.g. a TypeObserver.
Clears the collection and adds the nodes.
Converts this collection of edges into a collection of nodes for easier access to the "target" nodes.
Returns an UnwrappedEdgeSet magic container which holds a structure that provides easy access to the "target" nodes without edge information.