Merge branch 'pr-2010'

This commit is contained in:
Andreas Dangel
2019-10-05 18:28:48 +02:00
3 changed files with 22 additions and 1 deletions

View File

@ -168,7 +168,8 @@ public class LawOfDemeterRule extends AbstractJavaRule {
private boolean isNotBuilder() {
return baseType != StringBuffer.class && baseType != StringBuilder.class
&& !"StringBuilder".equals(baseTypeName) && !"StringBuffer".equals(baseTypeName);
&& !"StringBuilder".equals(baseTypeName) && !"StringBuffer".equals(baseTypeName)
&& !methodName.endsWith("Builder");
}
private static List<ASTPrimarySuffix> findSuffixesWithoutArguments(ASTPrimaryExpression expr) {

View File

@ -269,6 +269,20 @@ public class Test {
final FooBuilder fooBuilder = FooBuilder.newBuilder();
fooBuilder.withBar();
}
}
]]></code>
</test-code>
<test-code>
<description>#2010 False Positive for Law of Demeter</description>
<expected-problems>0</expected-problems>
<code><![CDATA[
public class Test {
public void bar() {
// Inner Builder pattern chained
final Bar bar = Bar.newBuilder()
.withFoo("foo")
.build();
}
}
]]></code>
</test-code>