UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

22 lines (21 loc) 1.05 kB
import { type NodeId } from '../../r-bridge/lang-4.x/ast/model/processing/node-id'; import type { AstIdMap } from '../../r-bridge/lang-4.x/ast/model/processing/decorate'; /** Either `line:column`, `line@variable-name`, or `$id` */ export type SingleSlicingCriterion = `${number}:${number}` | `${number}@${string}` | `$${NodeId | number}`; export type SlicingCriteria = SingleSlicingCriterion[]; /** * Thrown if the given slicing criteria can not be found */ export declare class CriteriaParseError extends Error { constructor(message: string); } /** * Takes a criterion in the form of `line:column` or `line@variable-name` and returns the corresponding node id */ export declare function slicingCriterionToId(criterion: SingleSlicingCriterion, idMap: AstIdMap): NodeId; export interface DecodedCriterion { criterion: SingleSlicingCriterion; id: NodeId; } export type DecodedCriteria = ReadonlyArray<DecodedCriterion>; export declare function convertAllSlicingCriteriaToIds(criteria: SlicingCriteria, decorated: AstIdMap): DecodedCriteria;