@eagleoutice/flowr-dev
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
30 lines (29 loc) • 1.6 kB
TypeScript
import type { BuiltInEvalHandlerArgs } from '../../environments/built-in';
import { type Lift, Top, type Value, type ValueNumber, type ValueVector } from '../values/r-value';
/**
* Helper function used by {@link Resolve.toValue}, please use that instead, if
* you want to resolve the value of an identifier / node
*
* This function converts an RNode to its Value, either directly for a constant or by handing the node
* to the {@link BuiltInEvalHandler} its built-in declares, which may resolve further nodes recursively.
* @returns resolved value or top/bottom
*/
export declare function resolveNode(args: BuiltInEvalHandlerArgs): Value;
/**
* Helper function used by {@link Resolve.toValue}, please use that instead, if
* you want to resolve the value of an identifier / node
*
* This function resolves a vector function call `c` to a {@link ValueVector}
* by recursively resolving the values of the arguments by calling {@link Resolve.toValue}
* @returns ValueVector or Top
*/
export declare function resolveAsVector(args: BuiltInEvalHandlerArgs): ValueVector | typeof Top;
/**
* Helper function used by {@link Resolve.toValue}, please use that instead, if
* you want to resolve the value of an identifier / node
*
* This function resolves a binary sequence operator `:` to a {@link ValueVector} of {@link ValueNumber}s
* by recursively resolving the values of the arguments by calling {@link Resolve.toValue}
* @returns ValueVector of ValueNumbers or Top
*/
export declare function resolveAsSeq(args: BuiltInEvalHandlerArgs): ValueVector<Lift<ValueNumber[]>> | typeof Top;