tsll
Version:
Compiler frontend for translating Typescript to LLVM IR
40 lines • 1.43 kB
TypeScript
import { Value, Function, Type } from "../core/ir/types";
import ts from "typescript";
export declare class Scope {
private scopeNameArray;
private functionArray;
private nameTable;
private tableArray;
private defaultMap;
private nextType;
private program;
private baseClassName;
private namespaceArray;
private isMethod;
private isThis;
constructor(program?: ts.Program);
setIsMethod(isMethod: boolean): void;
checkMethod(): boolean;
setIsThis(isThis: boolean): void;
checkThis(): boolean;
getCurrentFunction(): Function;
set(name: string, val: Value): void;
get(name: string): Value;
has(name: string): boolean;
enter(scopeName: string, enteredFunction?: Function): void;
leave(leavedFunction?: Function): void;
getCurrentScopeName(): string;
getWholeNamespace(): string;
addNamespace(namespace: string): void;
removeNamespace(): void;
setDefaultValues(name: string, defaultValues: Map<string, Value>): void;
getDefaultValues(name: string): Map<string, Value>;
isModuleScope(): boolean;
getNextType(): Type;
setNextType(type: Type): void;
getDeclaration(node: ts.Node): ts.Declaration[] | undefined;
getReturnType(declaration: ts.SignatureDeclaration): ts.Type | undefined;
resetBaseClassName(name?: string): void;
getBaseClassName(): string | undefined;
}
//# sourceMappingURL=scope.d.ts.map