UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

35 lines (34 loc) 1.73 kB
import { internalPrinter } from '../../../print/print'; import { PipelineStepStage } from '../../pipeline-step'; import type { DataflowInformation } from '../../../../dataflow/info'; import { SlicingCriteria } from '../../../../slicing/criterion/parse'; import type { NormalizedAst } from '../../../../r-bridge/lang-4.x/ast/model/processing/decorate'; import type { ReadOnlyFlowrAnalyzerContext } from '../../../../project/context/flowr-analyzer-context'; import { SliceDirection } from '../../../../util/slice-direction'; 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; /** The context of the analysis */ readonly context?: ReadOnlyFlowrAnalyzerContext; } declare function processor(results: { dataflow?: DataflowInformation; normalize?: NormalizedAst; }, input: Partial<SliceRequiredInput>): 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 {};