gpt4 book ai didi

java - Eclipse:自定义警告(Rhino 字符串参数)

转载 作者:行者123 更新时间:2023-11-30 05:03:57 24 4
gpt4 key购买 nike

有没有办法在 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 崩溃的方法也不错。咕噜。

最佳答案

您可以使用PMD定义 custom rule using variant of XPath超过Java代码。 PMD还有Eclipse plugin .

关于java - Eclipse:自定义警告(Rhino 字符串参数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5735881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com