我可以从typescript服务修改定义typescript文件(d.ts)中的ts.forEachChild()以传递另一个对象作为其参数吗?

我可以从typescript服务修改定义typescript文件(d.ts)中的ts.forEachChild()以传递另一个对象作为其参数吗?,typescript,abstract-syntax-tree,Typescript,Abstract Syntax Tree,我想获取链接到单个对象(从根节点连接的树)的定义类型脚本文件的语法树,但我无法通过ts.forEachChild()传递另一个对象。我怎样才能做到这一点? 最后,我想得到一个抽象语法树对象。据我所知,typescript解析器提供了一个函数,可以为您生成一个AST对象。您可以查找更多详细信息。如果您想遍历该ast,您可以使用类似(无耻的插件)的项目来编写访问者。您还可以查看tspoon如何使用 var ast = ts.createSourceFile('foo.ts', sourceCode,

我想获取链接到单个对象(从根节点连接的树)的定义类型脚本文件的语法树,但我无法通过
ts.forEachChild()
传递另一个对象。我怎样才能做到这一点?
最后,我想得到一个抽象语法树对象。

据我所知,typescript解析器提供了一个函数,可以为您生成一个AST对象。您可以查找更多详细信息。如果您想遍历该ast,您可以使用类似(无耻的插件)的项目来编写访问者。您还可以查看tspoon如何使用

var ast = ts.createSourceFile('foo.ts', sourceCode, ts.ScriptTarget.ES5, true);
//carefule, parseDiagnostics is an internal key and may break in the future. 

if (ast['parseDiagnostics'].length > 0) {
    return ast['parseDiagnostics'];
}
// code which uses the AST