UNPKG

@eagleoutice/flowr-dev

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

22 lines (21 loc) 1.36 kB
import type { NodeId } from '../r-bridge/lang-4.x/ast/model/processing/node-id'; import type { ReadonlyFlowrAnalysisProvider } from '../project/flowr-analyzer'; import { SlicingCriterion } from '../slicing/criterion/parse'; /** A query that may restrict the functions it inspects to a set of slicing criteria. */ interface FunctionFilteringQuery { filter?: readonly SlicingCriterion[]; } /** * Resolves the function filter shared by the inspection queries (`inspect-*`). */ export declare const QueryFunctionFilter: { readonly name: "QueryFunctionFilter"; /** The ids the given queries restrict themselves to; empty if at least one query wants all functions. */ readonly criteria: (this: void, queries: readonly FunctionFilteringQuery[], analyzer: ReadonlyFlowrAnalysisProvider) => Promise<ReadonlySet<NodeId>>; /** The call graph together with the functions the given queries want to inspect. */ readonly inCallGraph: (this: void, queries: readonly FunctionFilteringQuery[], analyzer: ReadonlyFlowrAnalysisProvider, onlyDefinitions?: boolean) => Promise<{ cg: import("../dataflow/graph/call-graph").CallGraph; fns: MapIterator<[NodeId, Required<import("../dataflow/graph/vertex").DataflowGraphVertexFunctionCall | import("../dataflow/graph/vertex").DataflowGraphVertexFunctionDefinition>]>; }>; }; export {};