@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
29 lines (28 loc) • 1.53 kB
TypeScript
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[];
};