@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
23 lines (22 loc) • 1.03 kB
TypeScript
import ts from 'typescript';
import { Context } from '../../Context';
import { ContractInfo } from '../../contract';
import { Helper, Helpers } from '../helper';
import { ResolvedScope } from '../scope';
import { LinkedContracts } from '../types';
import { BaseScriptBuilder } from './BaseScriptBuilder';
import { ScriptBuilder } from './ScriptBuilder';
export interface EmittingScriptBuilderOptions {
readonly context: Context;
readonly sourceFile: ts.SourceFile;
readonly scopes: Map<ts.Node, Map<number, ResolvedScope>>;
readonly helpers: Helpers;
readonly linked: LinkedContracts;
readonly allHelpers: ReadonlyArray<Helper>;
readonly contractInfo?: ContractInfo;
}
export declare class EmittingScriptBuilder extends BaseScriptBuilder<ResolvedScope> implements ScriptBuilder {
private readonly scopes;
constructor({ context, scopes, helpers, sourceFile, linked, contractInfo, allHelpers, }: EmittingScriptBuilderOptions);
protected createScope(node: ts.Node, index: number): ResolvedScope;
}