@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
22 lines (21 loc) • 1.05 kB
TypeScript
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;