UNPKG

@eagleoutice/flowr-dev

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

20 lines (19 loc) 1.2 kB
import { NodeId } from '../../../r-bridge/lang-4.x/ast/model/processing/node-id'; import type { CallGraph } from '../../../dataflow/graph/call-graph'; import type { ReadOnlyFlowrAnalyzerDependenciesContext } from '../../../project/context/flowr-analyzer-dependencies-context'; /** the internal callees of a library/built-in leaf call, and the package they belong to */ export interface LibraryLeafExpansion { readonly pkg: string; readonly callees: readonly string[]; } /** * The transitive internal callees of a library/built-in leaf call `id` (a `built-in:pkg:fn` node id), resolved * from the project's loaded signature-database sources. */ export declare function transitiveLibraryCallees(id: NodeId, deps: ReadOnlyFlowrAnalyzerDependenciesContext): LibraryLeafExpansion | undefined; /** * Expands every library/built-in leaf call reachable in `graph` into its internal callees (see * {@link transitiveLibraryCallees}), adding one synthetic `pkg:calleeName` edge per expanded callee straight off * the leaf. Returns a fresh copy of `graph`. */ export declare function expandCallGraphLibraryInternals(graph: CallGraph, deps: ReadOnlyFlowrAnalyzerDependenciesContext): CallGraph;