UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

37 lines (36 loc) 1.9 kB
import type { DataflowGraph, FunctionArgument, OutgoingEdges } from './graph'; import type { GenericDiffConfiguration, GenericDifferenceInformation, WriteableDifferenceReport } from '../../util/diff'; import type { NodeId } from '../../r-bridge/lang-4.x/ast/model/processing/node-id'; interface ProblematicVertex { tag: 'vertex'; id: NodeId; } interface ProblematicEdge { tag: 'edge'; from: NodeId; to: NodeId; } export type ProblematicDiffInfo = ProblematicVertex | ProblematicEdge; export declare class DataflowDifferenceReport implements WriteableDifferenceReport { _comments: string[] | undefined; _problematic: ProblematicDiffInfo[] | undefined; addComment(comment: string, ...related: readonly ProblematicDiffInfo[]): void; comments(): readonly string[] | undefined; problematic(): readonly ProblematicDiffInfo[] | undefined; isEqual(): boolean; } export interface NamedGraph { name: string; graph: DataflowGraph; } interface DataflowDiffContext extends GenericDifferenceInformation<DataflowDifferenceReport> { left: DataflowGraph; right: DataflowGraph; config: GenericDiffConfiguration; } export declare function diffOfDataflowGraphs(left: NamedGraph, right: NamedGraph, config?: Partial<GenericDiffConfiguration>): DataflowDifferenceReport; export declare function equalFunctionArguments(fn: NodeId, a: false | readonly FunctionArgument[], b: false | readonly FunctionArgument[]): boolean; export declare function diffFunctionArguments(fn: NodeId, a: false | readonly FunctionArgument[], b: false | readonly FunctionArgument[], ctx: GenericDifferenceInformation<DataflowDifferenceReport>): void; export declare function diffVertices(ctx: DataflowDiffContext): void; export declare function diffEdges(ctx: DataflowDiffContext, id: NodeId, lEdges: OutgoingEdges | undefined, rEdges: OutgoingEdges | undefined): void; export {};