js-slang
Version:
Javascript-based implementations of Source, written in Typescript
25 lines (24 loc) • 1.34 kB
TypeScript
import { BlockStatement, SourceLocation } from 'estree';
import { StepperBaseNode } from '../../interface';
import { StepperExpression, StepperPattern, undefinedNode } from '..';
import { StepperStatement } from '../Statement';
export declare class StepperBlockExpression implements StepperBaseNode {
type: 'BlockStatement';
body: StepperStatement[];
innerComments?: Comment[] | undefined;
leadingComments?: Comment[] | undefined;
trailingComments?: Comment[] | undefined;
loc?: SourceLocation | null | undefined;
range?: [number, number] | undefined;
constructor(body: StepperStatement[], innerComments?: Comment[] | undefined, leadingComments?: Comment[] | undefined, trailingComments?: Comment[] | undefined, loc?: SourceLocation | null | undefined, range?: [number, number] | undefined);
static create(node: BlockStatement): StepperBlockExpression;
isContractible(): boolean;
isOneStepPossible(): boolean;
contract(): StepperExpression | typeof undefinedNode;
oneStep(): StepperBlockExpression | typeof undefinedNode | StepperExpression;
substitute(id: StepperPattern, value: StepperExpression): StepperBlockExpression;
scanAllDeclarationNames(): string[];
freeNames(): string[];
allNames(): string[];
rename(before: string, after: string): StepperBlockExpression;
}