通过 TypeScript AST 中的标识符解析原始节点
Resolve original node by Identifier in TypeScript AST
我正在遍历 Typescript AST 并收集一些数据。
而当我遇到对变量(Identifier
节点)的引用时,我实际上想要获取原始节点(例如VariableDeclaration
)。
我该如何解决?
现在我唯一能想到的就是从根开始再次遍历AST并尝试找到它但是感觉很hack...
Typescript 是否提供某种方法?
好的,这恰好是一项非常简单的任务:
const originalNode = checker.getSymbolAtLocation(node);
就是这样!
在 originalNode.valueDeclaration
中我们现在有了原始节点。
我正在遍历 Typescript AST 并收集一些数据。
而当我遇到对变量(Identifier
节点)的引用时,我实际上想要获取原始节点(例如VariableDeclaration
)。
我该如何解决? 现在我唯一能想到的就是从根开始再次遍历AST并尝试找到它但是感觉很hack...
Typescript 是否提供某种方法?
好的,这恰好是一项非常简单的任务:
const originalNode = checker.getSymbolAtLocation(node);
就是这样!
在 originalNode.valueDeclaration
中我们现在有了原始节点。