OptionalcleanEnv: REnvironmentInformationOptionalidMap: AstIdMapThe file writes within function bodies whose readers read the calls writing their file as well, so only a slice starting in their body needs every call they have an EdgeType.SideEffectOnCall on.
ProtectedrootContains the vertices of the root level graph (i.e., included those vertices from the complete graph, that are nested within function definitions)
Where the top-level statements of every file start and end running, counted in the order they first do, as a statement sourcing a file runs that file's statements in between.
Retrieves the id-map to the normalized AST attached to the dataflow graph
Retrieves the set of vertices which have side effects that we do not know anything about.
StaticfromConstructs a dataflow graph instance from the given JSON data, e.g. as sent by the flowR server for further analysis.
Adds vertex to the graph, filling in fallbackEnv if it carries no environment.
The ids of all calls recorded as touching the global state. The iterator is live, so do not record or forget while you iterate.
What the call id reads and writes of the global state, if it touches any, see AmbientAccess.
Adds an argument edge with from as function call, and to as argument.
States that R prints the top-level values ids by an implicit print, which reads the printing options, or every option for a value a method may print (dispatched), see autoPrintReads.
Adds a vertex for a function call (V2).
Optionalinfo: {OptionalbuiltInEnvironment?: IEnvironmentOptionalcds?: readonly ControlDependency[]Optionalenvironment?: REnvironmentInformationOptionalkeepsEnvironment?: booleanwhether a call of only built-ins keeps its environment, as one looking names up in it does (get)
Optionallink?: DataflowGraphVertexAstLinkOptionalomitArgs?: booleanOptionalonlyBuiltIn?: booleanOptionalorigin?: BuiltInProcName[]Optionalreads?: readonly NodeId[]Optionalreturns?: readonly NodeId[]Adds a call edge with from as caller, and to as callee.
Adds a vertex for a constant value (V6).
Optionaloptions: { cds?: readonly ControlDependency[] }Adds a defined-by edge with from as defined variable, and to as a variable/function contributing to its definition.
Adds a defined-by-on-call edge with from as definition, and to as variable.
Adds a vertex for a function definition (V1).
Optionalinfo: {Adds a defines-on-call edge with from as variable, and to as its definition
Adds a vertex for a variable definition (V4).
Optionalname: BrandedIdentifierOptionalinfo: { cds?: readonly ControlDependency[]; definedBy?: NodeId[] }Ids of all edges in the graph together with their edge information, see DataflowGraph#vertices.
The edges leaving id, i.e. what it depends on, as a map from target to edge.
The edges arriving at id, i.e. what depends on it, as a map from source to edge.
Forgets what the call id was recorded to touch, for code that never runs, like the calls of an expression that is only quoted.
Gets the DataflowGraphVertexInfo attached to id (searching function definitions too if includeDefinedFunctions) and its outgoing edges.
Gets the DataflowGraphVertexInfo attached to id, but only if it is a root-level vertex, see DataflowGraph#getVertex.
Gets the DataflowGraphVertexInfo attached to id, see DataflowGraph#getRootVertex.
Whether the graph contains a node with id (checking function definitions too if includeDefinedFunctions).
How often a read arriving at id was added or removed since tracking started; an equal number means the reads are unchanged.
The edges arriving at id, building the incoming index on first use.
Whether id is quoted, i.e. affected by a EdgeType.NonStandardEvaluation edge that keeps it from being evaluated (a loop's own NSE-marked body still is evaluated, so that does not count).
Returns true if the root level of the graph contains a node with the given id.
Merges otherGraph into this one in-place (the return value is only for convenience); mergeRootVertices = false excludes its root vertices (useful when merging in a function definition).
Adds a non-standard evaluation edge with from as vertex, and to as vertex.
The edges leaving id, the mutable map the graph stores, undefined for a vertex that has none.
explicitly overwrite the root ids of the graph, this is just an easier variant in case you working with a lot of functions this saves you a lot of false flags.
The cached pkg::fn name of the call id, asking resolve only for a call the cache does not know yet.
The cached pkg::fn name of every call, resolving the calls that are still missing.
Adds a read edge.
Records that the call id touches the global state like given, adding to what it is known to touch already.
Adds a return edge with from as function, and to as exit point.
Marks the vertex referenced by reference as a definition, with sourceIds as the source vertex ids of the def if known.
Allows setting the id-map explicitly (which should only be used when, e.g., you plan to compare two dataflow graphs on the same AST-basis)
The walks shared while DataflowGraph#sharingTargetWalks runs, made by create on demand, else undefined.
Adds a side-effect-on-call edge with from as vertex, and to as vertex.
Starts (or stops) counting the reads added to or removed from each vertex, see incomingReadsVersion.
Marks the vertex info.id in the graph to be a function call with the new info.
Adds a vertex for variable use (V5). Intended for creating dataflow graphs as part of function tests.
Optionalname: BrandedIdentifierOptionalinfo: Partial<DataflowGraphVertexUse>The ids of DataflowGraph#verticesOfType|verticesOfType, as a fresh array the caller may keep.
Ids of all toplevel vertices (or all, including those nested in function definitions, if includeDefinedFunctions) with their info, see DataflowGraph#edges.
Every vertex carrying type, in the order the graph learned of them.
A view of this graph without the environments of its vertices and subflows, sharing everything else.
This DataflowGraphBuilder extends DataflowGraph with builder methods to easily and compactly add vertices and edges to a dataflow graph.