UNPKG

@eagleoutice/flowr-dev

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

34 lines (33 loc) 1.68 kB
import { FlowrAnalyzerFilePlugin } from './flowr-analyzer-file-plugin'; import { SemVer } from 'semver'; import type { PathLike } from 'fs'; import type { FlowrAnalyzerContext } from '../../context/flowr-analyzer-context'; import type { FlowrFileProvider } from '../../context/flowr-file'; /** * Tags a project manifest with the {@link FileRole.Manifest} role and lifts it, so the meta plugins reading it * can look it up by role. */ declare abstract class FlowrAnalyzerManifestFilePlugin extends FlowrAnalyzerFilePlugin { readonly version: SemVer; private readonly pathPattern; /** * @param pathPattern - The pattern to identify the manifest, see the respective subclass for its default. */ constructor(pathPattern: RegExp); applies(file: PathLike): boolean; } /** Lifts an rv `rproject.toml` to a {@link FlowrRProjectFile}. */ export declare class FlowrAnalyzerRProjectFilePlugin extends FlowrAnalyzerManifestFilePlugin { readonly name = "flowr-analyzer-rproject-file-plugin"; readonly description = "Marks the rproject.toml manifest of an rv project."; constructor(pathPattern?: RegExp); process(_ctx: FlowrAnalyzerContext, file: FlowrFileProvider): [FlowrFileProvider, true]; } /** Lifts a uvr `uvr.toml` to a {@link FlowrUvrManifestFile}. */ export declare class FlowrAnalyzerUvrManifestFilePlugin extends FlowrAnalyzerManifestFilePlugin { readonly name = "flowr-analyzer-uvr-manifest-file-plugin"; readonly description = "Marks the uvr.toml manifest of a uvr project."; constructor(pathPattern?: RegExp); process(_ctx: FlowrAnalyzerContext, file: FlowrFileProvider): [FlowrFileProvider, true]; } export {};