@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
28 lines (27 loc) • 1.17 kB
TypeScript
import type { BaseQueryFormat, BaseQueryResult } from '../../base-query-format';
import { executeLocationMapQuery } from './location-map-query-executor';
import { type OutputFormatter } from '../../../util/text/ansi';
import Joi from 'joi';
import type { NodeId } from '../../../r-bridge/lang-4.x/ast/model/processing/node-id';
import type { SourceRange } from '../../../util/range';
export interface LocationMapQuery extends BaseQueryFormat {
readonly type: 'location-map';
}
export type FileId = number & {
readonly __fileId?: unique symbol;
};
export type FilePath = string & {
readonly __filePath?: unique symbol;
};
export interface LocationMapQueryResult extends BaseQueryResult {
readonly map: {
files: Record<FileId, FilePath>;
ids: Record<NodeId, [FileId, SourceRange]>;
};
}
export declare const LocationMapQueryDefinition: {
readonly executor: typeof executeLocationMapQuery;
readonly asciiSummarizer: (formatter: OutputFormatter, _processed: unknown, queryResults: BaseQueryResult, result: string[]) => boolean;
readonly schema: Joi.ObjectSchema<any>;
readonly flattenInvolvedNodes: () => never[];
};