有没有办法在Eclipse中定义自定义警告?怎么样?
我有大量通过Mozilla Rhino公开为JavaScript对象的类。我遇到过这样的几个错误:
public void jsFunction_foo(String bar) {
if (bar != null) {
...
} else {
...
}
}
错误:jsFunction_
中的字符串参数永远不会为空。如果JavaScript调用foo(null)
,则到达的参数为"null"
,而不是null
。巨大的差异。
解决方案是将参数声明为Scriptable
,然后将其转换为存在:
public void jsFunction_foo(Scriptable bar) {
if (bar != null) {
String barStr = convertToString(bar);
...
} else {
...
}
}
无论如何。我们在JavaScript中有50多个类。我不想手动完成这些操作,而是希望自动化这个过程。类似的东西:
if (function.name.indexOf("jsFunction_") == 0 &&
function.paramTypes.contains(String.class) &&
stringParamComparedToNull(function))
addWarning(function.lineNum, "It doesn't work like that!");
理想情况下,这个自定义警告会在我的团队中共享(甚至与Mozilla Rhino项目本身共享),因此其他人不会犯同样的错误。
对于那些与“null”相比较的人而言,让Eclipse崩溃的方法也会很好。 GRR。