@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
21 lines (20 loc) • 1.3 kB
TypeScript
import type { DataflowProcessorInformation } from '../../../../../processor';
import { DataflowInformation } from '../../../../../info';
import { type ForceArguments } from '../common';
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 { NodeId } from '../../../../../../r-bridge/lang-4.x/ast/model/processing/node-id';
/**
* Process a replacement function call like `<-`, `[[<-`, `$<-`, etc.
* These are automatically created when doing assignments like `x[y] <- value` or in general `fun(x) <- value` will call `fun<- (x, value)`.
*/
export declare function processReplacementFunction<OtherInfo>(name: RSymbol<OtherInfo & ParentInformation>,
/** The last one has to be the value */
args: readonly RFunctionArgument<OtherInfo & ParentInformation>[], rootId: NodeId, data: DataflowProcessorInformation<OtherInfo & ParentInformation>, config: {
makeMaybe?: boolean;
constructName?: 's7';
assignmentOperator?: '<-' | '<<-';
readIndices?: boolean;
assignRootId?: NodeId;
} & ForceArguments): DataflowInformation;