@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
16 lines (15 loc) • 1.31 kB
TypeScript
import type { DataflowGraph } from '../../../dataflow/graph/graph';
import type { ReadOnlyFlowrAnalyzerContext } from '../../../project/context/flowr-analyzer-context';
import type { RNode } from '../../../r-bridge/lang-4.x/ast/model/model';
import type { ParentInformation } from '../../../r-bridge/lang-4.x/ast/model/processing/decorate';
import type { DataFrameOperations, DataFrameShapeInferenceVisitor } from '../shape-inference';
/**
* Maps a concrete data frame replacement function call to abstract data frame operations.
* @param node - The R node of the replacement function call
* @param expression - The assigned expression node of the replacement function call
* @param inference - The data frame shape inference visitor for checking data frame arguments
* @param dfg - The data flow graph for resolving the arguments
* @param ctx - The current flowR analysis context
* @returns The mapped abstract data frame operations for the replacement function call, or `undefined` if the node does not represent a data frame replacement function call
*/
export declare function mapDataFrameReplacementFunction(node: RNode<ParentInformation>, expression: RNode<ParentInformation>, inference: DataFrameShapeInferenceVisitor, dfg: DataflowGraph, ctx: ReadOnlyFlowrAnalyzerContext): DataFrameOperations;