Rya*_*rle 14 java code-generation annotations janino
有没有办法覆盖Java中的行号(例如,通过使用某种预处理器指令)?
我正在使用Janino"编译"高级语言,直到Java字节代码.我需要编译器错误来报告原始文件中的行,而不是生成的Java代码.
C#有#line指令,我已成功利用它将源文件中的行号映射到编译结果.Java需要相同的东西.
谢谢!
使用 Janino,您可以派生Scanner并重写该location()方法。该方法返回一个 Location 对象。您可以重写该read()方法来查找注释,例如在注释中(在代码生成期间添加),其中包含行号信息。
您只需将扫描仪传递给该SimpleCompiler.cook()方法,您就可以控制错误报告的文件名、行和列。
| 归档时间: |
|
| 查看次数: |
1462 次 |
| 最近记录: |