Code Climate issue severity are specified here
https://github.com/codeclimate/platform/blob/master/spec/analyzers/SPEC.md#issues
as `info`, `minor`, `major`, `critical`, or `blocker`. It was mapped to
a value `normal` that is not recognized by tools compatible with Code
Climate's format. I have mapped the five PMD priority values on the five Code Climate severity levels
In some cases, code may include sequences of literals that represent lists or tables of constants, such as lookup tables. Large sequences of these (particularly parts with many zeroes) will be identified by CPD as duplicates, but in practice, these are not the types of duplicates that are considered interesting.
This introduces a new option for CPD (--ignore-literal-sequences) that ignores these sequences of literals, in a very similar way to how using directives for C# can already be skipped as well. For now, this functionality is restricted to C#, but it could be added for other languages as well.
Changed method for how the Visualforce strings are reconstructed from the AST. The previous implementation had incorrect assumptions about the structure of the AST. Added tests to more thoroughly test these situations.
Changed name of IdentifierType to DataType. This information can be stored on either ASTIdentifier or ASTLiteral nodes.
Changes based on PR feedgack:
- Restored ParserOptionsTest in order to avoid binary compatibilty issues.
- Changed ParserOptions to contain a PropertySource instead of extending AbtractPropertySource.
LanguageVersionHandler#getTypeResolutionFacade is deprecated. Moved the VfExpressionTypeVisitor creation and execution to VfParser#parse instead.
ParsingOptionsTest located in pmd-test wasn't running previously because it was in the src/main hierarchy. Moved this test into the src/test hierarchy and consolidated the methods from the
similarly named class from pmd-core.
Store the IdentifierType on ASTIdentifier node instead of in a separate map.
Use the existing TypeResolution pattern to configure the visitor instead deriving from an abstract rule.
Changed ParserOptions to extend AbstractPropertySource with the ability to override the defaults via environment variables.