UNPKG

js-slang

Version:

Javascript-based implementations of Source, written in Typescript

27 lines (26 loc) 1.29 kB
import { Comment, Program, SourceLocation } from 'estree'; import { StepperBaseNode } from '../interface'; import { StepperStatement } from './Statement'; import { StepperExpression, StepperPattern } from '.'; export declare class StepperProgram implements Program, StepperBaseNode { type: 'Program'; sourceType: 'script' | 'module'; body: StepperStatement[]; comments?: Comment[] | undefined; leadingComments?: Comment[] | undefined; trailingComments?: Comment[] | undefined; loc?: SourceLocation | null | undefined; range?: [number, number] | undefined; isContractible(): boolean; isOneStepPossible(): boolean; contract(): StepperProgram; oneStep(): StepperProgram; static create(node: Program): StepperProgram; constructor(body: StepperStatement[], // TODO: Add support for variable declaration comments?: Comment[] | undefined, leadingComments?: Comment[] | undefined, trailingComments?: Comment[] | undefined, loc?: SourceLocation | null | undefined, range?: [number, number] | undefined); substitute(id: StepperPattern, value: StepperExpression): StepperBaseNode; scanAllDeclarationNames(): string[]; freeNames(): string[]; allNames(): string[]; rename(before: string, after: string): StepperProgram; }