JavaCC:警告太多了

时间:2011-02-05 14:10:28

标签: warnings javacc

我使用的是JavaCC 5.0版。与Eclipse Galileo合作。

但是当我在我的jj文件中设置选项“static = true”时,生成的TokenManager文件有许多警告,例如“应该以静态方式访问SimpleCharStream类型的静态方法readChar()”。此外,我的jj文件中的所有导入都已复制到TokenManager,在那里它们被标记为未使用。有没有办法防止这种情况发生?

看来这是issue was fixed in JavaCC v4.1,那我为什么还要面对这个呢?

2 个答案:

答案 0 :(得分:1)

当您将现有生成的类切换为静态时,JavaCC不会删除它们。如果您对类进​​行了更改,或者提供了自己的版本,则会出现这种情况。

删除所有生成的类,设置'static = true',然后重新开始。一切都应该有效。

如果您正在自动化构建(例如使用Ant),最好始终删除并重新生成JavaCC生成的类,只是为了确保您正在测试的内容是可重现的。

对于Eclipse ...当您对JavaCC输入文件进行更改时,可以告诉它运行您的Ant脚本。

答案 1 :(得分:0)

这些警告是由于代码正确但不推荐。由于手动修复生成的代码不是一个好主意,我的建议是在Eclipse中禁用这些警告(Java>编译器>错误/警告)。

我建议您使用项目特定设置来禁用这些警告(因此它不会在所有项目中禁用),您也可以将所有生成的代码放在项目中并使您的代码依赖于此项目,因此您可以为您的代码保留这些警告。