自定义声纳规则:当类用作特定方法的参数时需要方法

时间:2018-06-14 14:10:20

标签: java sonarqube

我正在尝试为sonarqube创建自定义规则。

我想搜索调用方法的时间,例如:

ExClass classInstance = new ExClass();
classInstance.methodCall(a, b);

其中methodCall定义为:

public void methodCall(Object a, Object b){}

我想要的是验证作为参数传递给methodCall()的任何类是否已重写方法equals()和hashCode()。

我已经找到了EqualsOverridenWithHashCodeCheck的源代码,所以我可以验证类实际上是否覆盖了equals和hashCode,但是,我不知道如何确定这应该/仅在/当如果找到该类作为methodCall的参数。

有什么建议吗?

EqualsOverrideWithHashCodeCheck来源:

https://github.com/SonarSource/sonar-java/blob/master/java-checks/src/main/java/org/sonar/java/checks/EqualsOverridenWithHashCodeCheck.java

0 个答案:

没有答案