@eagleoutice/flowr-dev
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
22 lines (21 loc) • 1.36 kB
TypeScript
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 {};