diff --git a/docs/pages/pmd/rules/java/codestyle.md b/docs/pages/pmd/rules/java/codestyle.md index 9ab0b79baa..2124e2cd3c 100644 --- a/docs/pages/pmd/rules/java/codestyle.md +++ b/docs/pages/pmd/rules/java/codestyle.md @@ -2110,7 +2110,7 @@ which makes the code also more readable. **This rule is defined by the following XPath expression:** ``` xpath -//VariableInitializer +//VariableInitializer[preceding-sibling::VariableDeclaratorId[1]/@TypeInferred="false"] //PrimaryExpression[not(PrimarySuffix)] [not(ancestor::ArgumentList)] /PrimaryPrefix/AllocationExpression[ClassOrInterfaceType[@AnonymousClass='false']/TypeArguments//ReferenceType[not(.//TypeArguments)]] diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UseDiamondOperator.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UseDiamondOperator.xml index b78f4f06cd..7d61c4a29a 100644 --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UseDiamondOperator.xml +++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UseDiamondOperator.xml @@ -61,18 +61,33 @@ public class Foo { #1624[java] UseDiamondOperator doesn't work with var - 2 - 6,7 + 1 + 6 (); - f = new ArrayList<>(); - f = new ArrayList(); // flagged by rule - List foo, bar = new ArrayList(), baz = new ArrayList<>(); //flagged only once + var f = new ArrayList(); // ok + f = new ArrayList<>(); // ok + f = new ArrayList(); // flagged by rule } } ]]> - \ No newline at end of file + + Multiple initializations in a single declaration + 1 + 6 + foo, + bar = new ArrayList(), // flagged + baz = new ArrayList<>(); // ok + } +} + ]]> + +