@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
28 lines (27 loc) • 1.75 kB
TypeScript
import Joi from 'joi';
import type { DataFrameDomain } from '../../../abstract-interpretation/data-frame/dataframe-domain';
import type { StateAbstractDomain } from '../../../abstract-interpretation/domains/state-abstract-domain';
import type { ReplOutput } from '../../../cli/repl/commands/repl-main';
import type { FlowrConfig } from '../../../config';
import type { SlicingCriterion } from '../../../slicing/criterion/parse';
import type { BaseQueryFormat, BaseQueryResult } from '../../base-query-format';
import type { ParsedQueryLine } from '../../query';
import { executeDfShapeQuery } from './df-shape-query-executor';
/** Infer the shape of data frames using abstract interpretation. */
export interface DfShapeQuery extends BaseQueryFormat {
readonly type: 'df-shape';
readonly criterion?: SlicingCriterion;
}
export interface DfShapeQueryResult extends BaseQueryResult {
domains: StateAbstractDomain<DataFrameDomain> | Map<SlicingCriterion, DataFrameDomain | undefined>;
}
declare function dfShapeQueryLineParser(_output: ReplOutput, line: readonly string[], _config: FlowrConfig): ParsedQueryLine<'df-shape'>;
export declare const DfShapeQueryDefinition: {
readonly executor: typeof executeDfShapeQuery;
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 jsonFormatter: (queryResults: BaseQueryResult) => object;
readonly fromLine: typeof dfShapeQueryLineParser;
readonly schema: Joi.ObjectSchema<any>;
readonly flattenInvolvedNodes: () => never[];
};
export {};