js-ast-parser
Version:
把javascript代码字符串解析为AST对象
51 lines (50 loc) • 1.6 kB
TypeScript
import { Block } from "../../Block";
import { Definition } from "./Definition";
import { Scope } from "./Scope";
export declare class JavascriptScopeAnalyzer {
currentScope: Scope;
currentDefinition: Definition;
scheduledAssinments: Function[];
scheduledVarDefCheck: Function[];
scheduledNewExpression: Function[];
definitionMap: any;
private depth;
private applyingScheduled;
constructor();
reset(): void;
analyze(block: Block, parnetScope?: Scope): any;
private analyzeStatement;
private analyzeWhileStatement;
private analyzeTryCatch;
private analyzeThrowStatement;
private analyzeSwitchCase;
private analyzeReturn;
private analyzeIfStatement;
private analyzeForStatement;
private analyzeExported;
private analyzeDoWhileStatement;
private analyzeDeleteStatement;
private setDefinition;
private setScope;
private setState;
private analyzeImport;
private analyzeVariable;
private analyzeExpression;
private analyzeUnexpect;
private analyzeBracketEnwraped;
private analyzeUnary;
private analyzeTernaryExression;
private analyzeTypeOf;
private analyzeVoid;
private analyzeNewExpression;
private analyzeTemplate;
private analyzeMemberExpression;
private analyzeCallExpression;
private analyzeBinary;
private analyzeArray;
private analyzeAssigment;
private analyzeObject;
private analyzeFunExpression;
private analyzeFunctionDeclaration;
private analyzeClassDeclaration;
}