@lpc-lang/core
Version:
LPC Language Compiler Library
31 lines • 1.46 kB
TypeScript
import { Type } from "./_namespaces/lpc.js";
export declare namespace tracingEnabled {
type Mode = "project" | "build" | "server";
export const enum Phase {
Parse = "parse",
Program = "program",
Bind = "bind",
Check = "check",// Before we get into checking types (e.g. checkSourceFile)
CheckTypes = "checkTypes",
Emit = "emit",
Session = "session"
}
interface Args {
[key: string]: string | number | boolean | null | undefined | Args | readonly (string | number | boolean | null | undefined | Args)[];
}
/**
* @param separateBeginAndEnd - used for special cases where we need the trace point even if the event
* never terminates (typically for reducing a scenario too big to trace to one that can be completed).
* In the future we might implement an exit handler to dump unfinished events which would deprecate
* these operations.
*/
export function push(phase: Phase, name: string, args?: Args, separateBeginAndEnd?: boolean): void;
export function pop(results?: Args): void;
export function popAll(): void;
export function startTracing(tracingMode: Mode, traceDir: string, configFilePath?: string): void;
export function dumpLegend(): void;
export function recordType(type: Type): void;
export function instant(phase: Phase, name: string, args?: Args): void;
export {};
}
//# sourceMappingURL=tracing.d.ts.map