/** * @import { Site } from "@helios-lang/compiler-utils" * @import { * Builtin, * CekContext, * CekFrame, * CekResult, * CekStack, * CekState, * CekTerm, * Cost, * CostModel, * CostTracker, * UplcLogger, * UplcValue * } from "../index.js" */ /** * @implements {CekContext} */ export class CekMachine { /** * Initializes in computing state * @param {CekTerm} term * @param {Builtin[]} builtins * @param {CostModel} costModel * @param {UplcLogger} [diagnostics] */ constructor(term: CekTerm, builtins: Builtin[], costModel: CostModel, diagnostics?: UplcLogger | undefined); /** * @readonly * @type {Builtin[]} */ readonly builtins: Builtin[]; /** * @readonly * @type {CostTracker} */ readonly cost: CostTracker; /** * @private * @readonly * @type {CekFrame[]} */ private readonly _frames; /** * @private * @type {CekState} */ private _state; /** * @private * @type {{message: string, site?: Site}[]} * */ private _logs; /** * @type {UplcLogger | undefined} */ diagnostics: UplcLogger | undefined; /** * @returns {string | undefined} */ popLastMessage(): string | undefined; /** * @param {number} id * @returns {Builtin | undefined} */ getBuiltin(id: number): Builtin | undefined; /** * @returns {CekResult} */ eval(): CekResult; /** * @private * @param {{message: string, stack: CekStack}} err * @returns {CekResult} */ private returnError; /** * @private * @param {string | UplcValue} value * @returns {CekResult} */ private returnValue; /** * @param {string} message * @param {Site | undefined} site */ print(message: string, site?: Site | undefined): void; } import type { Builtin } from "../index.js"; import type { CostTracker } from "../index.js"; import type { UplcLogger } from "../index.js"; import type { CekResult } from "../index.js"; import type { Site } from "@helios-lang/compiler-utils"; import type { CekTerm } from "../index.js"; import type { CostModel } from "../index.js"; //# sourceMappingURL=CekMachine.d.ts.map