1 | import { MachineRegister } from '@glimmer/vm';
|
2 | import { REGISTERS } from '../symbols';
|
3 | import { LowLevelRegisters } from './low-level';
|
4 | export 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 | }
|
18 | export 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 |