29 July 2018
The PMD team is pleased to announce PMD 6.6.0.
This is a minor release.
PMD is now able to parse the local-variable declaration syntax var xxx
, that has been
extended for lambda parameters with Java 11 via
JEP 323: Local-Variable Syntax for Lambda Parameters.
The new Java rule LocalVariableNamingConventions
(java-codestyle
) detects local variable names that don’t comply to a given convention. It defaults to standard
Java convention of using camelCase, but can be configured. Special cases can be configured for final variables
and caught exceptions’ names.
The new Java rule FormalParameterNamingConventions
(java-codestyle
) detects formal parameter names that don’t comply to a given convention. It defaults to
standard Java convention of using camelCase, but can be configured. Special cases can be configured for final
parameters and lambda parameters (considering whether they are explicitly typed or not).
AccessorClassGeneration
and
AccessorMethodGeneration
(both in category
java-bestpractices
) have been modified to be only valid up until Java 10. Java 11 adds support for
JEP 181: Nest-Based Access Control which avoids the generation of
accessor classes / methods altogether.findDescendantsOfType
methods in net.sourceforge.pmd.lang.ast.AbstractNode
no longer search for
exact type matches, but will match subclasses, too. That means, it’s now possible to look for abstract node
types such as AbstractJavaTypeNode
and not only for it’s concrete subtypes.