onelang
Version:
OneLang transpiler framework core
27 lines (26 loc) • 1.32 kB
TypeScript
import { ISchemaTransform } from "./../SchemaTransformer";
import { OneAst as one } from "./../Ast";
import { AstVisitor } from "../AstVisitor";
import { SchemaContext } from "../SchemaContext";
export declare class Context {
path: string[];
names: {
[name: string]: number;
};
constructor(path?: string[]);
subContext(name: string, unique: boolean): Context;
}
export declare class FillMetaPathTransform extends AstVisitor<Context> implements ISchemaTransform {
name: string;
dependencies: string[];
protected subContext(oldContext: Context, item: one.NamedItem, name?: string): Context;
protected visitVariable(stmt: one.VariableBase, context: Context): void;
protected visitIfStatement(stmt: one.IfStatement, context: Context): void;
protected visitWhileStatement(stmt: one.WhileStatement, context: Context): void;
protected visitForStatement(stmt: one.ForStatement, context: Context): void;
protected visitForeachStatement(stmt: one.ForeachStatement, context: Context): void;
protected visitMethodLike(method: one.Method | one.Constructor, context: Context): void;
protected visitClass(cls: one.Class, context: Context): void;
protected visitInterface(intf: one.Interface, context: Context): void;
transform(schemaCtx: SchemaContext): void;
}