@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
30 lines (29 loc) • 1.42 kB
TypeScript
import ts from 'typescript';
import { ScriptBuilder } from '../sb';
import { VisitOptions } from '../types';
import { Name, Scope } from './Scope';
export declare class ResolvedScope implements Scope {
private readonly variableCount;
private readonly parent?;
private mutablePosition;
private readonly mutableVariables;
private readonly uniqueVariables;
private readonly scopeLength;
private readonly addScope;
private readonly scopeCount;
constructor(variableCount: number, parent?: ResolvedScope | undefined);
add(name: string): Name;
addUnique(): Name;
set(sb: ScriptBuilder, node: ts.Node, optionsIn: VisitOptions, name: Name | string, scopeLength?: number, scopePosition?: number): void;
get(sb: ScriptBuilder, node: ts.Node, options: VisitOptions, name: Name | string, scopeLength?: number, scopePosition?: number): void;
getThis(sb: ScriptBuilder, node: ts.Node, _options: VisitOptions): void;
getGlobal(sb: ScriptBuilder, node: ts.Node, options: VisitOptions): void;
setGlobal(sb: ScriptBuilder, node: ts.Node, options: VisitOptions): void;
pushAll(sb: ScriptBuilder, node: ts.Node, _options: VisitOptions): void;
emit(sb: ScriptBuilder, node: ts.Node, options: VisitOptions, func: (options: VisitOptions) => void): void;
private surround;
private emitNonLocal;
private getPosition;
private loadScope;
private loadAll;
}