@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
24 lines (23 loc) • 1.05 kB
TypeScript
import ts from 'typescript';
import { ScriptBuilder } from '../sb';
import { VisitOptions } from '../types';
import { ResolvedScope } from './ResolvedScope';
import { Name, Scope } from './Scope';
export declare class CapturingScope implements Scope {
readonly node: ts.Node;
readonly index: number;
readonly parent?: CapturingScope | undefined;
private mutableVariableCount;
private readonly bindings;
constructor(node: ts.Node, index: number, parent?: CapturingScope | undefined);
add(name: string): Name;
addUnique(): Name;
set(sb: ScriptBuilder, node: ts.Node): void;
get(sb: ScriptBuilder, node: ts.Node): void;
getThis(sb: ScriptBuilder, node: ts.Node): void;
getGlobal(sb: ScriptBuilder, node: ts.Node): void;
setGlobal(sb: ScriptBuilder, node: ts.Node): void;
pushAll(sb: ScriptBuilder, node: ts.Node): void;
emit(sb: ScriptBuilder, node: ts.Node, options: VisitOptions, func: (options: VisitOptions) => void): void;
resolve(parent?: ResolvedScope | undefined): ResolvedScope;
}