ConstReadonlycreate: {Dispatches to helper functions to create new dataflow graphs, e.g. from a pipeline or an empty graph.
Readonlyempty: (Creates an empty dataflow graph with the given id map (or a new one if not provided).
Compare two dataflow graphs and return a report on the differences.
If you simply want to check whether they equal, use <result>.isEqual().
Optionalconfig: Partial<GenericDiffConfiguration>Readonlyedge: {Maps to flowR's dataflow edge helper to work with the edges in the dataflow graph
Check if the given-edge type does not include the given type.
As types are bitmasks, you can combine multiple types with a bitwise OR (|).
Counterpart of DfEdge#includesType.
Check if the given-edge type has any of the given types.
As types are bitmasks, you can combine multiple types with a bitwise OR (|).
Readonlyname: "DfEdge"Takes joint edge types and splits them into their individual components.
Takes joint edge types and returns their human-readable names.
Only use this function to retrieve a human-readable name if you know that it is a single bitmask. Otherwise, use DfEdge#typesToNames which handles these cases.
Readonlygraph: typeof DataflowGraphMaps to flowR's main graph object to store and manipulate the dataflow graph
Inverts the given dataflow graph by reversing all edges.
Readonlyname: "Dataflow"Readonlyorigin: (this: void, dfg: DataflowGraph, id: NodeId) => undefined | Origin[]Returns the origin of a vertex in the dataflow graph
getOriginInDfg - for the underlying function
Given the id of a vertex (usually a variable use), this returns a reachable provenance set by calculating a non-interprocedural and non-context sensitive backward slice, but stopping at the given ids! You can obtain the corresponding graph using Dataflow.reduceGraph.
The id to use as a seed for provenance calculation
The graph to perform the provenance calculation on
Optionalconsider: ReadonlySet<NodeId>The ids to restrict the calculation too (e.g., the ids contained within a function definition to restrict the analysis to)
Dataflow.provenanceGraph - for a convenience wrapper to directly obtain the graph of the provenance.
A convenience wrapper for reducing the provenance of a graph.
The id to use as a seed for provenance calculation
The graph to perform the provenance calculation on
Optionalconsider: ReadonlySet<NodeId>The ids to restrict the calculation too (e.g., the ids contained within a function definition to restrict the analysis to)
Only returns the sub-part of the graph that is determined by the given selection. In other words, this will return a graph with only vertices that are part of the selected ids, and edges that are between such selected vertices.
the dataflow graph to slice for
the ids to select in the reduced graph
if set to true, this will include edges which target vertices that are not selected!
Resolves the dataflow graph ids from slicing criterion form to ids.
This returns a new graph with the resolved ids.
The main use-case for this is testing - if you do not know/want to fix the specific id,
you can use, e.g. 2@x as a placeholder for the first x in the second line!
OptionalidMap: AstIdMapReadonlyviews: {Dispatches to helper objects that relate to (sub-) views of the dataflow graph, e.g. the call graph.
ReadonlycallGraph: {Maps to flowR's helper object for the call-graph
Computes the call graph from the given dataflow graph.
Compare two dataflow graphs and return a report on the differences.
If you simply want to check whether they equal, use <result>.isEqual().
Optionalconfig: Partial<GenericDiffConfiguration>Inverts the given dataflow graph by reversing all edges.
Readonlyname: "CallGraph"Determines whether there is a path from from to to in the given graph (via any edge type, only respecting direction)
Resolves the dataflow graph ids from slicing criterion form to ids.
This returns a new graph with the resolved ids.
The main use-case for this is testing - if you do not know/want to fix the specific id,
you can use, e.g. 2@x as a placeholder for the first x in the second line!
OptionalidMap: AstIdMapReadonlyvisualize: {Maps to the mermaid-centric visualization helper for dataflow graphs and their views
Readonlymermaid: {Mermaid rendering helper for dataflow graphs
Converts a dataflow graph to mermaid graph code that visualizes the graph.
DataflowMermaid.url - render the given graph to a url to mermaid.live
Readonlyname: "DataflowMermaid"This is a simplified version of DataflowMermaid.convertToMermaid
OptionalincludeEnvironments: booleanOptionalmark: ReadonlySet<NodeId>Converts a dataflow graph to a mermaid url that visualizes the graph. This is basically a combination of DataflowMermaid.mermaidRaw and Mermaid.codeToUrl.
the dataflow graph to render
OptionalincludeEnvironments: booleanwhether to include the environment content in the output
Optionalmark: ReadonlySet<NodeId>which vertices to highlight in the visualization
whether to show a simplified use of the graph with fewer details on the vertices and edges
Readonlyquads: {Readonlyconvert: (graph: DataflowGraph, config: QuadSerializationConfiguration) => stringReadonlyvisualize: {Maps to the mermaid-centric visualization helper for dataflow graphs and their views
Readonlymermaid: {Mermaid rendering helper for dataflow graphs
Converts a dataflow graph to mermaid graph code that visualizes the graph.
DataflowMermaid.url - render the given graph to a url to mermaid.live
Readonlyname: "DataflowMermaid"This is a simplified version of DataflowMermaid.convertToMermaid
OptionalincludeEnvironments: booleanOptionalmark: ReadonlySet<NodeId>Converts a dataflow graph to a mermaid url that visualizes the graph. This is basically a combination of DataflowMermaid.mermaidRaw and Mermaid.codeToUrl.
the dataflow graph to render
OptionalincludeEnvironments: booleanwhether to include the environment content in the output
Optionalmark: ReadonlySet<NodeId>which vertices to highlight in the visualization
whether to show a simplified use of the graph with fewer details on the vertices and edges
Readonlyquads: {Readonlyconvert: (graph: DataflowGraph, config: QuadSerializationConfiguration) => string
This is the root helper object to work with the DataflowGraph.