UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

24 lines (23 loc) 2.14 kB
import type { DataflowProcessorInformation } from '../../../../../processor'; import type { DataflowInformation } from '../../../../../info'; import type { ParentInformation } from '../../../../../../r-bridge/lang-4.x/ast/model/processing/decorate'; import type { RSymbol } from '../../../../../../r-bridge/lang-4.x/ast/model/nodes/r-symbol'; import type { RFunctionArgument } from '../../../../../../r-bridge/lang-4.x/ast/model/nodes/r-function-call'; import type { NodeId } from '../../../../../../r-bridge/lang-4.x/ast/model/processing/node-id'; import { DataflowGraph } from '../../../../../graph/graph'; import type { REnvironmentInformation } from '../../../../../environments/environment'; export declare function processFunctionDefinition<OtherInfo>(name: RSymbol<OtherInfo & ParentInformation>, args: readonly RFunctionArgument<OtherInfo & ParentInformation>[], rootId: NodeId, data: DataflowProcessorInformation<OtherInfo & ParentInformation>): DataflowInformation; export declare function retrieveActiveEnvironment(callerEnvironment: REnvironmentInformation | undefined, baseEnvironment: REnvironmentInformation): REnvironmentInformation; /** * Update the closure links of all nested function definitions * @param graph - dataflow graph to collect the function definitions from and to update the closure links for * @param outEnvironment - active environment on resolving closures (i.e., exit of the function definition) * @param fnId - id of the function definition to update the closure links for */ export declare function updateNestedFunctionClosures(graph: DataflowGraph, outEnvironment: REnvironmentInformation, fnId: NodeId): void; /** * Update the closure links of all nested function calls, this is probably to be done once at the end of the script * @param graph - dataflow graph to collect the function calls from and to update the closure links for * @param outEnvironment - active environment on resolving closures (i.e., exit of the function definition) */ export declare function updateNestedFunctionCalls(graph: DataflowGraph, outEnvironment: REnvironmentInformation): void;