js-slang
Version:
Javascript-based implementations of Source, written in Typescript
27 lines (26 loc) • 1.39 kB
TypeScript
import { Comment, IfStatement, SourceLocation } from 'estree';
import { StepperBaseNode } from '../../interface';
import { StepperExpression, StepperPattern } from '..';
import { StepperBlockStatement } from './BlockStatement';
import { StepperStatement } from '.';
export declare class StepperIfStatement implements IfStatement, StepperBaseNode {
type: 'IfStatement';
test: StepperExpression;
consequent: StepperStatement;
alternate: StepperStatement | null;
leadingComments?: Comment[] | undefined;
trailingComments?: Comment[] | undefined;
loc?: SourceLocation | null | undefined;
range?: [number, number] | undefined;
constructor(test: StepperExpression, consequent: StepperStatement, alternate: StepperStatement | null, leadingComments?: Comment[] | undefined, trailingComments?: Comment[] | undefined, loc?: SourceLocation | null | undefined, range?: [number, number] | undefined);
static create(node: IfStatement): StepperIfStatement;
isContractible(): boolean;
contract(): StepperBlockStatement | StepperIfStatement;
isOneStepPossible(): boolean;
oneStep(): StepperIfStatement | StepperBlockStatement;
substitute(id: StepperPattern, value: StepperExpression): StepperBaseNode;
contractEmpty(): void;
freeNames(): string[];
allNames(): string[];
rename(before: string, after: string): StepperIfStatement;
}