如何使用javac工具解析器从java文件中读取内联注释?

igr*_*igr 6 java parsing javac

我正在使用tools.jar(即JavaCompiler)中的javac 来解析java文件.我使用实现来解析源代码TreePathScanner.到目前为止,一切似乎都很好,因为我可以解析导入,包名,类名,方法名,说明......

但我确实有内联注释的问题- 我不能简单地让它们出现在创建的AST树中,或访问它们.但是,我能够读取类,方法等的javadoc注释,但没有内联注释.

如何以最佳方式阅读内联评论?我正在看netbeans源代码(因为它也使用javac进行解析),但我找不到任何关于它的东西.

我绝望的解决方案是使用源文件的语句位置,然后手动解析注释两个语句之间的所有内容.或类似的事情,但在两个树节点之间.

有谁知道更好的解决方案?谢谢!

use*_*421 4

你不能。编译器将它们丢弃。编译器总是这样做。Java 编译器不会丢弃 Javadoc 注释,只是因为 Javadoc 使用编译器来查找它们,并且 Javadoc 人员与编译器人员聚集在一起。