我正在尝试为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来源: