UNPKG

@eagleoutice/flowr-dev

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

47 lines (46 loc) 2.4 kB
import { internalPrinter } from '../../../print/print'; import { PipelineStepStage } from '../../pipeline-step'; import type { SliceResult } from '../../../../slicing/static/slicer-types'; import { type InlineFull } from '../../../../reconstruct/reconstruct'; import type { NormalizedAst } from '../../../../r-bridge/lang-4.x/ast/model/processing/decorate'; import type { AutoSelectPredicate } from '../../../../reconstruct/auto-select/auto-select-defaults'; import type { DataflowInformation } from '../../../../dataflow/info'; export interface ReconstructRequiredInput { autoSelectIf?: AutoSelectPredicate; /** * When confronted with a project of multiple files the question for reconstruct arises wrt. which files to rebuild. * This option can be used to either reconstruct all files or only specific files by their index in the project. * By default, (for legacy) this will reconstruct the *first* file (index 0). * * Either you can set this to `'all'` to reconstruct all files or provide an array of file indices in the files context to reconstruct only those files. */ reconstructFiles?: 'all' | number[]; /** * Inline resolvable `source()` calls into the reconstruction so the result is a single self-contained R text. * Cyclic and unresolvable `source()` calls are kept verbatim and reported via `reconstruct.inlineWarnings`. */ inlineSources?: boolean; /** * Inline *every* file into the reconstruction, in flowR's loading order (which respects implicit sources). * Overrides {@link inlineSources} and {@link reconstructFiles}. */ inlineFull?: InlineFull; } declare function processor(results: { normalize?: NormalizedAst; slice?: SliceResult; dataflow?: DataflowInformation; }, input: Partial<ReconstructRequiredInput>): import("../../../../reconstruct/reconstruct").ReconstructionResult; export declare const NAIVE_RECONSTRUCT: { readonly name: "reconstruct"; readonly humanReadableName: "static code reconstruction"; readonly description: "Reconstruct R code from the static slice"; readonly processor: typeof processor; readonly executed: PipelineStepStage.OncePerRequest; readonly printer: { readonly 0: typeof internalPrinter; }; readonly dependencies: readonly ["slice"]; readonly requiredInput: ReconstructRequiredInput; }; export {};