@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
24 lines (23 loc) • 1.64 kB
TypeScript
import type { DataflowProcessorInformation } from '../../../../../processor';
import type { DataflowInformation } from '../../../../../info';
import { type RFunctionArgument } from '../../../../../../r-bridge/lang-4.x/ast/model/nodes/r-function-call';
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 { NodeId } from '../../../../../../r-bridge/lang-4.x/ast/model/processing/node-id';
import type { MergeableRecord } from '../../../../../../util/objects';
export interface BuiltInApplyConfiguration extends MergeableRecord {
/** the 0-based index of the argument which is the actual function passed, defaults to 1 */
readonly indexOfFunction?: number;
/** does the argument have a name that it can be given by as well? */
readonly nameOfFunctionArgument?: string;
/** Should we unquote the function if it is given as a string? */
readonly unquoteFunction?: boolean;
/** Should the function be resolved in the global environment? */
readonly resolveInEnvironment?: 'global' | 'local';
/** Should the value of the function be resolved? */
readonly resolveValue?: boolean;
}
/**
* Process an apply call like `vapply` or `mapply`.
*/
export declare function processApply<OtherInfo>(name: RSymbol<OtherInfo & ParentInformation>, args: readonly RFunctionArgument<OtherInfo & ParentInformation>[], rootId: NodeId, data: DataflowProcessorInformation<OtherInfo & ParentInformation>, config: BuiltInApplyConfiguration): DataflowInformation;