UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

29 lines (28 loc) 1.53 kB
import type { BaseQueryFormat, BaseQueryResult } from '../../base-query-format'; import Joi from 'joi'; import { executeControlFlowQuery } from './control-flow-query-executor'; import type { NodeId } from '../../../r-bridge/lang-4.x/ast/model/processing/node-id'; import { type ControlFlowInformation } from '../../../control-flow/control-flow-graph'; import { type CfgSimplificationPassName } from '../../../control-flow/cfg-simplification'; /** * Provides the control flow graph with an optional, fixed configuration */ export interface ControlFlowQuery extends BaseQueryFormat { readonly type: 'control-flow'; readonly config?: { /** * If set, the control flow graph will be simplified using the given passes. * Defaults to the default simplification order. */ simplificationPasses?: readonly CfgSimplificationPassName[]; }; } export interface ControlFlowQueryResult extends BaseQueryResult { readonly controlFlow: ControlFlowInformation; } export declare const ControlFlowQueryDefinition: { readonly executor: typeof executeControlFlowQuery; readonly asciiSummarizer: (formatter: import("../../../util/text/ansi").OutputFormatter, analyzer: import("../../../project/flowr-analyzer").ReadonlyFlowrAnalysisProvider<import("../../../r-bridge/parser").KnownParser>, queryResults: BaseQueryResult, result: string[]) => Promise<boolean>; readonly schema: Joi.ObjectSchema<any>; readonly flattenInvolvedNodes: (queryResults: BaseQueryResult) => NodeId[]; };