Files
vscode-debug-visualizer/extension/src/EvaluationWatchService/EvaluationEngine/EvaluationEngine.ts
Henning Dieterichs 42e58ce9cf * Implements languageId support
* Implements typing of helper functions
* Shift+F1 opens a new debug visualizer window if none is opened yet
2020-03-29 20:37:59 +02:00

31 lines
750 B
TypeScript

import {
DataExtractionResult,
DataExtractorId,
} from "@hediet/debug-visualizer-data-extraction";
import { VsCodeDebugSession } from "../../VsCodeDebugger";
import { FormattedMessage } from "../../contract";
export interface EvaluationEngine {
createEvaluator(session: VsCodeDebugSession): Evaluator | undefined;
}
export interface Evaluator {
evaluate(
args: EvaluationArgs
): Promise<
| { kind: "data"; result: DataExtractionResult }
| { kind: "error"; message: FormattedMessage }
>;
/**
* The language that expressions must be written in.
*/
readonly languageId: string | undefined;
}
export interface EvaluationArgs {
expression: string;
preferredExtractorId: DataExtractorId | undefined;
frameId: number | undefined;
}