Parsing 类型脚本AST解析器忽略句子之间的换行符

Parsing 类型脚本AST解析器忽略句子之间的换行符,parsing,babeljs,abstract-syntax-tree,tslint,typescript-compiler-api,Parsing,Babeljs,Abstract Syntax Tree,Tslint,Typescript Compiler Api,我对如何将脚本解析键入AST有疑问。我的目标是能够计算导入和类声明之间有多少中断行 我认为可以使用每个语句的开始和结束位置来完成。但是,事实证明Typescript解析器忽略了中断行 如果图像不够清晰,我将指出巴比伦语法分析器中的类声明从116开始,而typescript语法分析器从113开始 我想知道为什么会发生这种情况,以及如何使用Typescript解决它,或者有什么解决方法?我正在使用tslint创建自定义规则 类型脚本AST解析器 AT7语法分析器 这是意料之中的。pos属性显示

我对如何将脚本解析键入AST有疑问。我的目标是能够计算导入和类声明之间有多少中断行

我认为可以使用每个语句的开始和结束位置来完成。但是,事实证明Typescript解析器忽略了中断行

如果图像不够清晰,我将指出巴比伦语法分析器中的类声明从116开始,而typescript语法分析器从113开始

我想知道为什么会发生这种情况,以及如何使用Typescript解决它,或者有什么解决方法?我正在使用tslint创建自定义规则

类型脚本AST解析器

AT7语法分析器


这是意料之中的。
pos
属性显示最后一个有效标记的结束位置。
node.getStart(sourceFile)
方法是您感兴趣的方法,它将返回开始位置


我建议使用我的ast查看器(),因为它专门用于TypeScript编译器API,并将向您显示此信息。

我觉得TS解析器中有一个bug。可能最好提交一个bug。@loganfsmyth谢谢,我等了一段时间没有回答,也许你是对的。谢谢分享链接,我完全忘记了!祝你今天愉快:)