??-May-2019 - 6.15.0
The PMD team is pleased to announce PMD 6.15.0.
This is a minor release.
New and noteworthy
Enhanced Matlab support
Thanks to the contributions from Maikel Steneker CPD for Matlab can now parse Matlab programs which use the question mark operator to specify access to class members:
classdef Class1
properties (SetAccess = ?Class2)
CPD also understands now double quoted strings, which are supported since version R2017a of Matlab:
str = "This is a string"
Enhanced C++ support
CPD now supports digit separators in C++ (language module “cpp”). This is a C++14 feature.
Example: auto integer_literal = 1'000'000;
The single quotes can be used to add some structure to large numbers.
CPD also parses raw string literals now correctly (see #1784).
Fixed Issues
- cpp
- #1784: [cpp] Improve support for raw string literals
- dart
- #1809: [dart] [cpd] Parse error with escape sequences
- java-bestpractices
- #1738: [java] MethodReturnsInternalArray does not work in inner classes
- java-codestyle
- #1804: [java] NPE in UnnecessaryLocalBeforeReturnRule
- python
- #1810: [python] [cpd] Parse error when using Python 2 backticks
- matlab
- #1830: [matlab] [cpd] Parse error with comments
API Changes
External Contributions
- #1799: [java] MethodReturnsInternalArray does not work in inner classes - Fixed #1738 - Srinivasan Venkatachalam
- #1802: [python] [cpd] Add support for Python 2 backticks - Maikel Steneker
- #1803: [dart] [cpd] Dart escape sequences - Maikel Steneker
- #1807: [ci] Fix missing local branch issues when executing pmd-regression-tester - BBG
- #1813: [matlab] [cpd] Matlab comments - Maikel Steneker
- #1819: [cpp] [cpd] Add support for digit separators - Maikel Steneker
- #1820: [cpp] [cpd] Improve support for raw string literals - Maikel Steneker
- #1821: [matlab] [cpd] Matlab question mark token - Maikel Steneker
- #1822: [matlab] [cpd] Double quoted string - Maikel Steneker