547 Commits

Author SHA1 Message Date
Andreas Dangel
847ea1c084 [maven-release-plugin] prepare release pmd_releases/5.5.3 2017-01-28 14:43:17 +01:00
Andreas Dangel
c402c0b970 Merge branch 'issue-1495' into pmd/5.5.x 2017-01-28 11:50:43 +01:00
Andreas Dangel
6899c63597 Fixes #1495 [java] UnnecessaryLocalBeforeReturn with assert 2017-01-28 11:45:59 +01:00
Andreas Dangel
ebf088693a Merge branch 'issue-1448' into pmd/5.5.x 2017-01-28 10:48:21 +01:00
Andreas Dangel
7fbb304c8f java: ImmutableFieldRule - use enum 2017-01-28 10:43:17 +01:00
Andreas Dangel
fa3a9b0d66 java: ImmutableFieldRule - take usages inside lambdas into account
Fixes #1448 ImmutableField Rule: Private field in inner class gives false positive[java] ImmutableField: Private field in inner class gives false positive with lambdas
2017-01-28 10:38:49 +01:00
Andreas Dangel
ca3e31fc21 Merge branch 'issue-208' into pmd/5.5.x
Closes #211 (rebased onto pmd/5.4.x)
2017-01-27 20:04:51 +01:00
Juan Martín Sotuyo Dodero
c53e1790e1 [java] Allow more than 1 annotation in local classes
- This fixes #208
2017-01-27 20:00:08 +01:00
Andreas Dangel
640fad0872 Merge branch 'issue-206' into pmd/5.5.x
Closes #210 (rebased onto pmd/5.4.x)
2017-01-27 19:44:32 +01:00
Juan Martín Sotuyo Dodero
455b1c4ded Fix grammar for annotation members
- The lookahead (3 tokens) was too small, and without reaching the opening
    parenthesis assumed it was parsing a method and not a field.
 - Using a larger lookahead solves the issue.
 - Fixes #206
2017-01-27 19:38:48 +01:00
Andreas Dangel
f179eeab5d Merge branch 'issue-207' into pmd/5.5.x
Closes #209 (rebased onto pmd/5.4.x)
2017-01-27 19:20:16 +01:00
Juan Martín Sotuyo Dodero
33fd84d521 [java] Support generics in method references
- Fixes #207
 - Extend the Java grammar to support generics in
    method references: `Type::<Generic>method`
2017-01-27 19:10:42 +01:00
Andreas Dangel
e0ecc2f27c Merge branch 'issue-202' into pmd/5.5.x
Closes #205 (rebased onto pmd/5.4.x)
2017-01-27 17:37:55 +01:00
Juan Martín Sotuyo Dodero
47137e3789 Improve docs on ConsecutiveAppendsShouldReuse
- This should help with people having doubts for this rule such as #202
    and http://stackoverflow.com/questions/37672785/how-can-i-improve-performance-if-append-is-called-on-stringbuffer-or-stringb
 - Fixes #202
2017-01-27 17:30:13 +01:00
Andreas Dangel
fbb305bd17 Merge branch 'issue-199' into pmd/5.5.x
Closes #203 (rebased onto pmd/5.4.x)
2017-01-27 17:00:33 +01:00
Juan Martín Sotuyo Dodero
420c6d45a3 Fixes #199 - False positives with ternary operator
- I deected a couple of extra related issues with ternary operators which are now fixed.
2017-01-27 16:42:24 +01:00
Juan Martín Sotuyo Dodero
36fcdd252c Fix NPE error in CPD reported under #185 2017-01-27 11:26:51 +01:00
Andreas Dangel
12f2431bb4 Fix build 2017-01-21 13:43:04 +01:00
Andreas Dangel
620fed2732 Merge branch 'unit-test-for-pr-170' into pmd/5.5.x 2017-01-21 12:13:47 +01:00
Andreas Dangel
ba260e753c Adjust unit test to verify console encoding of XML formatter 2017-01-21 11:58:59 +01:00
Andreas Dangel
4c1890d56c Add unit test to verify encoding of XML formatter 2017-01-21 11:58:59 +01:00
Andreas Dangel
923aab8065 Merge branch 'bug-1556' into pmd/5.5.x 2017-01-08 13:58:13 +01:00
Andreas Dangel
c0e1c3e731 Slightly improve performance of XPath Rule UseLocaleWithCaseConversions 2017-01-08 13:51:44 +01:00
Andreas Dangel
af3ad2bc02 Fixes #1556 [java] UseLocaleWithCaseConversions does not works with ResultSet (false negative) 2017-01-08 12:12:56 +01:00
Andreas Dangel
c9514e563a Merge branch 'bug-177' into pmd/5.5.x
Fixes #177
2017-01-06 10:35:45 +01:00
Andreas Dangel
af9d78c01a Update changelog 2017-01-06 10:16:45 +01:00
Andreas Dangel
767c9aae79 Bugfix singular field + lambda 2017-01-06 10:07:19 +01:00
Andreas Dangel
a499711990 Fix compile error 2017-01-03 12:12:11 +01:00
Juan Martín Sotuyo Dodero
932ad7dd2b Reduce memory allocations during symbol table 2017-01-03 12:07:30 +01:00
Andreas Dangel
992e5547bb Merge branch 'pr-162' into pmd/5.5.x
Closes #162 (rebased onto pmd/5.4.x)
2017-01-03 11:45:47 +01:00
Juan Martín Sotuyo Dodero
6283316e51 Avoid redundant method calls and improve codebase
- Avoid making calls within for loops, specially costly ones
    such as `getQualifiedTypeNames`
 - Don't create lists when they are empty.
 - Create lists of proper size to avoid resizing / oversizing
 - I'm seeing a ~5% improvement. We are reaching the point were noise
    makes it hard to detect improvements. We should attack GC cycles soon.
2017-01-03 11:41:33 +01:00
Juan Martín Sotuyo Dodero
b950929b7c Improve symboltable codebase
- Move shared code to pmd-core
 - Allow search methods to stop searching when they want to
 - If we are looking for a variable declaration, just search among those and not all name declarations
 - This is roughtly another 10% improvement on symbol table performance
2017-01-03 11:22:42 +01:00
Juan Martín Sotuyo Dodero
b6bc06d3d2 Avoid comparing strings all time 2017-01-03 11:21:13 +01:00
Andreas Dangel
55b4d81fbf Merge branch 'pr-159' into pmd/5.5.x
Closes #159 (rebased onto pmd/5.4.x)
2017-01-03 10:27:39 +01:00
Juan Martín Sotuyo Dodero
54db0ffbd9 [java] UnnecessaryFullyQualifiedNameRule handles same file class conflicts
- This resolves [#1555](https://sourceforge.net/p/pmd/bugs/1555/)
 - If a class is defined in the same file that conflicts with an import,
    it's not considered a violation
2017-01-03 10:18:29 +01:00
Andreas Dangel
5ded17c5b5 Merge branch 'pr-141' into pmd/5.5.x
Closes #141 (rebased for pmd/5.4.x)
2016-12-10 10:20:39 +01:00
Juan Martín Sotuyo Dodero
28a24dec2a [java] Speedup PreserveStackTrace by over 7X
- By avoiding to look at all variable declarators we can greatly improve
    analysis speed without loosing accurancy
2016-12-10 10:13:37 +01:00
Andreas Dangel
bb8b604152 Merge branch 'pr-140' into pmd/5.5.x
Closes #140 (rebased onto pmd/5.4.x)
2016-12-09 09:50:36 +01:00
Juan Martín Sotuyo Dodero
f4e727d274 [java] Make CloneMethodMustImplementCloneable over 500x faster
- This was an excruciatingly slow rule, the slowest by far of all PMD
 - We speed it up by:
    * checking early if we are analyzing a `clone()` method to cut the AST tree
    * making better use of type information available
    * only performing additional checks when we know we can't rely on
       available type information
2016-12-09 09:44:23 +01:00
Juan Martín Sotuyo Dodero
aa7a1f42f5 Merge branch 'pr-154' into pmd/5.5.x 2016-12-07 14:32:30 -03:00
Sebastian Ratz
61e0fc5875 [java] Fix #1547: UnusedImports: Adjust regex to support underscores 2016-12-07 14:14:07 -03:00
Juan Martín Sotuyo Dodero
f20a90bc3f Merge branch 'pr-152' into pmd/5.5.x 2016-12-07 13:27:10 -03:00
Felix Otto
9f1f63ffe6 fixes #1552 [java] continue does not require break
Similar to RETURN after a CONTINUE statement break is not required in a
case section
2016-12-07 13:10:23 -03:00
Andreas Dangel
4c5daadca7 Fixes #1551 [java] InvalidSlf4jMessageFormat: fails with NPE 2016-12-03 18:13:13 +01:00
Andreas Dangel
9afebbea18 Fixes #1541 [java] InvalidSlf4jMessageFormat: False positive with placeholder and exception 2016-12-03 17:52:10 +01:00
Juan Martín Sotuyo Dodero
268c62e772 Symbol table can now handle inner classes
- Types are now attempted to be resolved as inner classes if public attempt fails
 - ClassScope offers a `resolveType` method that qualifies the name as per local rules
    before resolution
2016-11-26 19:53:53 +01:00
Andreas Dangel
ef98657965 Merge branch 'issue-1546' into pmd/5.5.x 2016-11-26 18:20:43 +01:00
Juan Martín Sotuyo Dodero
7e3546c130 UnnecessaryFullyQualifiedName can detect conflicts
- Fixes https://sourceforge.net/p/pmd/bugs/1546/
2016-11-26 18:13:10 +01:00
Andreas Dangel
390cbd1ffc Merge branch 'pr-128' into pmd/5.5.x 2016-11-26 11:10:13 +01:00
Juan Martín Sotuyo Dodero
b5ca7baa9a Ensure className is never null 2016-11-26 11:04:29 +01:00