@syntest/analysis-javascript
Version:
SynTest CFG JavaScript is a library for generating control flow graphs for the JavaScript language
33 lines • 1.48 kB
TypeScript
import { NodePath } from "@babel/core";
import * as t from "@babel/types";
import { AbstractSyntaxTreeVisitor } from "@syntest/ast-visitor-javascript";
import { Logger } from "@syntest/logging";
import { Export } from "./export/Export";
import { SubTarget } from "./Target";
export declare class TargetVisitor extends AbstractSyntaxTreeVisitor {
protected static LOGGER: Logger;
private _exports;
private _subTargets;
constructor(filePath: string, syntaxForgiving: boolean, exports: Export[]);
private _getExport;
private _getTargetNameOfDeclaration;
/**
* Get the target name of an expression
* The variable the expression is assigned to is used as the target name
* @param path
* @returns
*/
private _getTargetNameOfExpression;
FunctionDeclaration: (path: NodePath<t.FunctionDeclaration>) => void;
ClassDeclaration: (path: NodePath<t.ClassDeclaration>) => void;
FunctionExpression: (path: NodePath<t.FunctionExpression>) => void;
ClassExpression: (path: NodePath<t.ClassExpression>) => void;
ArrowFunctionExpression: (path: NodePath<t.ArrowFunctionExpression>) => void;
VariableDeclarator: (path: NodePath<t.VariableDeclarator>) => void;
AssignmentExpression: (path: NodePath<t.AssignmentExpression>) => void;
private _extractFromFunction;
private _extractFromObjectExpression;
private _extractFromClass;
get subTargets(): SubTarget[];
}
//# sourceMappingURL=TargetVisitor.d.ts.map