@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
35 lines (34 loc) • 1.65 kB
TypeScript
import type { AstIdMap, RNodeWithParent } from '../../../r-bridge/lang-4.x/ast/model/processing/decorate';
import type { REnvironmentInformation } from '../../environments/environment';
import type { DataflowGraph } from '../../graph/graph';
import type { Value } from '../values/r-value';
/**
* Helper function used by {@link resolveIdToValue}, please use that instead, if
* you want to resolve the value of a identifier / node
*
* This function converts an RNode to its Value, but also recursivly resolves
* aliases and vectors (in case of a vector).
*
* @param a - Ast node to resolve
* @param env - Environment to use
* @param graph - Dataflow Graph to use
* @param map - Idmap of Dataflow Graph
* @returns resolved value or top/bottom
*/
export declare function resolveNode(a: RNodeWithParent, env?: REnvironmentInformation, graph?: DataflowGraph, map?: AstIdMap): Value;
/**
* Helper function used by {@link resolveIdToValue}, please use that instead, if
* you want to resolve the value of a identifier / node
*
* This function converts an rnode to a Value Vector {@link vectorFrom}
* It also recursivly resolves any symbols, values, function calls (only c), in
* order to construct the value of the vector to resolve by calling {@link resolveIdToValue}
* or {@link resolveNode}
*
* @param a - Node of the vector to resolve
* @param env - Environment to use
* @param graph - Dataflow graph
* @param map - Idmap of Dataflow Graph
* @returns ValueVector or Top
*/
export declare function resolveAsVector(a: RNodeWithParent, env: REnvironmentInformation, graph?: DataflowGraph, map?: AstIdMap): Value;