UNPKG

@eagleoutice/flowr-dev

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

35 lines (34 loc) 1.7 kB
import type { BaseQueryFormat, BaseQueryResult } from '../../base-query-format'; import Joi from 'joi'; import { executeHappensBefore } from './happens-before-query-executor'; import type { SlicingCriterion } from '../../../slicing/criterion/parse'; import type { Ternary } from '../../../util/logic'; export interface HappensBeforeQuery extends BaseQueryFormat { readonly type: 'happens-before'; readonly a: SlicingCriterion; readonly b: SlicingCriterion; } export interface HappensBeforeQueryResult extends BaseQueryResult { readonly results: Record<string, Ternary>; } /** * How an answer of the {@link HappensBeforeQuery} is keyed: the two criteria it was asked about, so that both * the executor writing an answer and anyone reading one spell the key the same way. */ export declare const HappensBeforeKey: { readonly name: "HappensBeforeKey"; /** The key the answer for `a` and `b` is stored under. */ readonly of: (this: void, a: SlicingCriterion, b: SlicingCriterion) => string; /** The two criteria a key was built from. */ readonly criteria: (this: void, key: string) => { a: string; b: string; }; }; export declare const HappensBeforeQueryDefinition: { readonly title: "Happens-Before Query"; readonly executor: typeof executeHappensBefore; readonly asciiSummarizer: (formatter: import("../../../util/text/ansi").OutputFormatter, _analyzer: import("../../../project/flowr-analyzer").ReadonlyFlowrAnalysisProvider<import("../../../r-bridge/parser").KnownParser>, queryResults: BaseQueryResult, result: string[]) => true; readonly schema: Joi.ObjectSchema<any>; readonly flattenInvolvedNodes: () => never[]; };