UNPKG

1.35 kBTypeScriptView Raw
1import { MachineRegister } from '@glimmer/vm';
2import { REGISTERS } from '../symbols';
3import { LowLevelRegisters } from './low-level';
4export interface EvaluationStack {
5 [REGISTERS]: LowLevelRegisters;
6 push(value: unknown): void;
7 dup(position?: MachineRegister): void;
8 copy(from: number, to: number): void;
9 pop<T>(n?: number): T;
10 peek<T>(offset?: number): T;
11 get<T>(offset: number, base?: number): T;
12 set(value: unknown, offset: number, base?: number): void;
13 slice<T = unknown>(start: number, end: number): T[];
14 capture(items: number): unknown[];
15 reset(): void;
16 toArray(): unknown[];
17}
18export default class EvaluationStackImpl implements EvaluationStack {
19 private stack;
20 static restore(snapshot: unknown[]): EvaluationStackImpl;
21 readonly [REGISTERS]: LowLevelRegisters;
22 constructor(stack: unknown[], registers: LowLevelRegisters);
23 push(value: unknown): void;
24 dup(position?: number): void;
25 copy(from: number, to: number): void;
26 pop<T>(n?: number): T;
27 peek<T>(offset?: number): T;
28 get<T>(offset: number, base?: number): T;
29 set(value: unknown, offset: number, base?: number): void;
30 slice<T = unknown>(start: number, end: number): T[];
31 capture(items: number): unknown[];
32 reset(): void;
33 toArray(): unknown[];
34}
35//# sourceMappingURL=stack.d.ts.map
\No newline at end of file