指TS标签中的符号,而不是ES6符号
给定TypeScript AST中的标识符节点,我可以typeChecker.getSymbolAtLocation(identNode)
。如何检查该符号是否在全局范围内声明而不是外部模块?
我正在编写一个语言服务插件,每次某些函数引用外部声明的值时都必须显示警告。他们被允许引用本地声明的变量和全局变量,但没有外部模块。
我不确定是否需要使用getDeclarations()
。我觉得这种信息可能会在ts.SymbolFlags
内编码,但我无法弄清楚所有的旗帜。例如,Transient
标志是什么意思?
答案 0 :(得分:0)
全局符号将包含undefined
.parent
。
符号是否为瞬态是一个实施细节,您不必担心