ConstThe ids of the arguments a parameter of a function definition is bound to on calls (EdgeType.DefinedByOnCall), empty if there are none.
The value a plain assignment binds to the definition def, undefined for any other kind of definition (class(x) <- , assign, a parameter, ...).
The ids of the function definitions a call is linked to by a EdgeType.Calls edge (empty if none, e.g. for built-ins).
The function definition vertices the call with the given id is linked to by a EdgeType.Calls edge (none if it is unresolved or built-in).
The calls within the body of a function definition, id and vertex paired.
Whether every function the call may run is a built-in or one the program defines, so that what flowR knows about those functions is all there is to know about the call.
Optionalenvironment: REnvironmentInformationAll known targets of a call, as well as the name sources which define them (empty if there are none).
Optionalenvironment: REnvironmentInformationOptionalresolver: LinkedFunctionResolverReadonlycreate: {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).
Whether the definition def is made by a super assignment (v <<- 5, v$a <<- 5), see Dataflow.superAssigns.
Every variable definition of the graph by its unquoted name, in a single pass.
Readonlydiff: {The pieces a graph comparison is built from, for a view that brings its own edge shape.
Compares the outgoing edges of a single vertex, handing each pair of edges to diffEdge.
Reports a vertex of the left graph that the right one lacks, unless the right is declared a subgraph.
Compares all edges of both graphs vertex by vertex, handing each pair to diffEdges.
Optionalproject: (edges: EdgeMap) => (...) | (...)Reports a differing number of vertices unless the smaller side is declared a subgraph.
Compare two dataflow graphs and return a report on the differences.
Optionalconfig: Partial<GenericDiffConfiguration>Whether any argument of the call carries a value the program worked out, rather than only literals the author typed: cat("starting\n") is a log line, cat("n =", length(m)) is a finding.
Whether there is an edge from from to to that carries any of types.
Inverts the given dataflow graph by reversing all edges.
See DataflowGraph#isQuoted, which this answers for graph.
Readonlylibrary: {What library(pkg) does, asked without analyzing any code.
Readonlyattaches: (The search() entries library(pkg) adds; see libraryAttachesOf.
Readonlylayers: (The environment layers library(pkg) adds to the search path; see libraryLayersOf.
Readonlyloads: (The namespaces library(pkg) loads; see libraryLoadsOf.
Readonlyname: "library"Readonlyreexports: (The exports of pkg that re-export another package's function, with that package; see libraryReexportsOf.
Readonlyname: "Dataflow"Readonlyorigin: (this: void, dfg: DataflowGraph, id: NodeId) => Origin[] | undefinedReturns the origin of a vertex in the dataflow graph
The packages the given nodes call into, as Dataflow.qualify resolves every call among them.
The ids of the parameters of a function definition, in order (empty if it has none).
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!
Optionalconsider: ReadonlySet<NodeId>A convenience wrapper for reducing the provenance of a graph.
Optionalconsider: ReadonlySet<NodeId>The qualified identifier of the call with the given id, or undefined if it does not resolve to a package export and is not itself already namespaced (with purrr loaded, a map() call yields Identifier.make('map', 'purrr'); an explicit pkg::fn() call yields pkg::fn unchanged).
The qualified name of every call of the graph, undefined for the calls that do not qualify.
The ids reachable from seed (itself included) by following outgoing edges in the graph.
Determines whether there is a path from from to to in the given graph (via any edge type, only respecting direction)
Equivalent to reduceGraph followed by invertGraph but in a single pass over the graph, allocating only one intermediate object instead of two.
Only returns the sub-part of the graph that is determined by the given selection.
The definitions and references to the symbol with the given id (including itself), or undefined if it is no symbol of the graph.
Resolves the dataflow graph ids from slicing criterion form to ids.
OptionalidMap: AstIdMapReadonlysideEffects: {Interprocedural propagation of escaped side effects (attached packages, <<- definitions) to their callers.
ReadonlyambientAccess: (What running the given code reads and writes of the global state (pseudo variables like #option:digits, see AmbientStateName), the global variables the functions it calls bind, and its drawing calls (SemanticCallTag.Graphics), including what the functions it calls access.
ReadonlyambientAccessOfFunctions: (this: void, from: AmbientSource) => Map<NodeId, AmbientAccess>Dataflow.sideEffects.ambientAccess for every function definition when it is called, including what the functions it calls access.
ReadonlycallGraphSummaries: <T>(ReadonlyfoldCallGraph: <M>(ReadonlypropagateTransitive: (The ids at the near end of the incoming edges of node that carry any of types (empty if there are none).
Whether the call at id binds with <<- (or ->>), be it the assignment itself or a replacement it runs: x$a <<- v rebinds x in an enclosing frame just like x <<- v does.
The ids at the far end of the outgoing edges of node that carry any of types (empty if there are none).
Whether the call's result is passed on -- assigned, handed to another call, returned -- rather than left for R to auto-print.
The vertices the value at id originates from: an argument is followed to its value, a read to the definitions it reads, a definition to what it is defined by (other than the assignment making it) or, for a replacement (e$f <- v), to what the variable held before, and with throughAccess an access to what it accesses.
Optionalopts: { budget?: number; throughAccess?: boolean }A simple visitor akin to RNode.visitAst to traverse the dataflow graph starting from the start id and only respecting edge direction.
Readonlyvisualize: {Maps to the mermaid-centric visualization helper for dataflow graphs and their views
Readonlymermaid: {Mermaid rendering helper for dataflow graphs - DataflowMermaid.url, DataflowMermaid.raw - to render the graph as a mermaid graph (e.g., in markdown or the mermaid live editor) - DataflowMermaid.convert - for the underlying transformation
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.convert
OptionalincludeEnvironments: booleanOptionalmark: ReadonlySet<(...)>Converts a dataflow graph to a mermaid url that visualizes the graph. This is basically a combination of DataflowMermaid.raw and Mermaid.codeToUrl.
the dataflow graph to render
OptionalincludeEnvironments: boolean
whether to include the environment content in the output
Optionalmark: ReadonlySet<(...)>
which vertices to highlight in the visualization
whether to show a simplified use of the graph with fewer details on the vertices and edges
show the edge-free base-R qualification (stats::acf); false when the signature database is disabled
Readonlyquads: {Readonlyconvert: (graph: DataflowGraph, config: QuadSerializationConfiguration) => string
This is the root helper object to work with the DataflowGraph.