@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
36 lines (35 loc) • 1.65 kB
TypeScript
import { internalPrinter } from '../../../print/print';
import { PipelineStepStage } from '../../pipeline-step';
import type { DataflowInformation } from '../../../../dataflow/info';
import type { SlicingCriteria } from '../../../../slicing/criterion/parse';
import type { NormalizedAst } from '../../../../r-bridge/lang-4.x/ast/model/processing/decorate';
import type { FlowrConfigOptions } from '../../../../config';
export interface SliceRequiredInput {
/** The slicing criterion is only of interest if you actually want to slice the R code */
readonly criterion: SlicingCriteria;
/** How many re-visits of the same node are ok? */
readonly threshold?: number;
/** The direction to slice in. Defaults to backward slicing if unset. */
readonly direction?: SliceDirection;
}
export declare enum SliceDirection {
Backward = "backward",
Forward = "forward"
}
declare function processor(results: {
dataflow?: DataflowInformation;
normalize?: NormalizedAst;
}, input: Partial<SliceRequiredInput>, _config: FlowrConfigOptions): Readonly<import("../../../../slicing/static/slicer-types").SliceResult>;
export declare const STATIC_SLICE: {
readonly name: "slice";
readonly humanReadableName: "static slice";
readonly description: "Calculate the actual static slice from the dataflow graph and the given slicing criteria";
readonly processor: typeof processor;
readonly executed: PipelineStepStage.OncePerRequest;
readonly printer: {
readonly 0: typeof internalPrinter;
};
readonly dependencies: readonly ["dataflow"];
readonly requiredInput: SliceRequiredInput;
};
export {};