Commit Graph

661 Commits

Author SHA1 Message Date
adef0e6e8c Added violation case for InefficientEmptyStringCheckRule
String.trim().isEmpty() now triggers a violation.

Fixed checkstyle
2017-03-22 11:07:48 +01:00
2d4da66072 Merge branch 'issue-275' 2017-03-03 19:20:26 +01:00
19114a7030 Simplify XPath expression 2017-03-03 19:03:26 +01:00
fb405fef08 [java] fields in annotations are public static
- Fixes #275
2017-03-03 19:03:26 +01:00
f4ddb98130 Merge branch 'issue-274' 2017-03-03 18:52:57 +01:00
7a1eb4f26e [java] Fix class scopes for anon inner classes
- A new ClassScope was being created for each annon inner class method / field,
    which is incorrect.
 - I reworked the AccessorMethodGeneration to compare scopes directly, since
    I was missing anonymous classes completely.
 - Fixes #274
2017-03-03 18:42:36 +01:00
12fb1c2d7f [maven-release-plugin] prepare for next development iteration 2017-02-25 20:44:32 +01:00
765a542604 [maven-release-plugin] prepare release pmd_releases/5.5.4 2017-02-25 20:44:24 +01:00
4c7774ebf0 [maven-release-plugin] prepare for next development iteration 2017-02-25 19:03:45 +01:00
0eec906467 [maven-release-plugin] prepare release pmd_releases/5.4.5 2017-02-25 19:03:37 +01:00
a35959341c Merge branch 'pr-266' 2017-02-21 23:27:17 -03:00
58b863e204 Merge branch 'pr-266' into pmd/5.5.x 2017-02-21 23:20:08 -03:00
227060e5f8 corrected invalid reporting of LoD violation 2017-02-21 23:07:51 -03:00
5cd0f2e928 Merge branch 'issue-257' 2017-02-20 16:13:37 +01:00
a1299c5b9b Merge branch 'issue-257' into pmd/5.5.x 2017-02-20 16:06:26 +01:00
8f22e69560 Ugly workaround that don't need to change AST 2017-02-20 16:00:39 +01:00
907972f0ca [java] Improve grammar for CastExpression
- Provide a definite fix for casts. This allowed to remove a bunch of hacks.
 - I had to change the grammar a bit... `(int)` is now a cast with a
    PrimitiveType as child, not a Type with a nested PrimitiveType. This is due
    to JavaCC completely ignoring whatever you place in the LOOKAHEAD in favor
    of just looking the follow-up expression completely.
 - Removing the hacks raised an issue with expression orders, caused also by JavaCC's
    disregard to LOOKAHEAD contents
2017-02-20 16:00:39 +01:00
6d50709fc1 Merge branch 'pr-258' 2017-02-20 15:50:21 +01:00
a5089b27da [java] syboltable resolves inner class methods
- This fixes the last known false negative for `AccessorMethodGeneration`
2017-02-20 15:42:10 +01:00
452b785223 Merge branch 'cpd-suppress-comments-java' of https://github.com/Monits/pmd into pr-250 2017-02-19 10:04:09 +01:00
e680e45357 Merge branch 'pr-262' 2017-02-17 16:08:24 -03:00
9264fda777 Merge branch 'pr-262' into pmd/5.5.x 2017-02-17 15:54:39 -03:00
282a803a83 Allow annotations for UnnecessaryLocalBeforeReturnRule
- Fixes #933
2017-02-17 15:54:08 -03:00
09025c2315 Merge branch 'pr-249' 2017-02-15 20:07:23 +01:00
a92adc4bdf Merge branch 'pr-249' into pmd/5.5.x 2017-02-15 19:58:14 +01:00
756e9a713a Update docs to reflect on changes 2017-02-15 19:47:08 +01:00
b4d05e5f14 Checkstyle fixes 2017-02-15 19:47:08 +01:00
1fb05d995f [java] Revamp UnusedModifier
- This covers a ton of missing cases
 - Fixes #246
 - Fixes #247
 - Fixes #248
 - Notice `isNested` has been improved on `ASTClassOrInterfaceDeclaration`
    to cover being nested in an annotation definition
2017-02-15 19:47:08 +01:00
05237bf323 Merge branch 'issue-240' 2017-02-14 22:06:18 +01:00
4137df4309 [java] UnnecessaryLocalBeforeReturn checks usages
- We now check symbol table usages to detect violations.
 - We drop the consecutive lines requirement.
 - Resolves #240
2017-02-14 21:57:47 +01:00
4e04e62374 Merge branch 'feature-1496' 2017-02-13 21:13:56 +01:00
983a0dc9b8 Remove the to be ignored test from the regressionTests 2017-02-13 21:04:12 +01:00
e027871f2a [java] Add AccessorMethodGeneration rule
- This resolves #1496
 - There is still an outstanding false negative, which is down to a bug in
    symbol table analysis, I'm leaving that out for the moment, and address it
    on a separate PR.
2017-02-13 19:54:20 +01:00
e588f772c0 Merge branch 'pr-242' 2017-02-13 19:30:13 +01:00
4ee4f5983e [java] Fix classscope references
- A bunch of closely related issues fixed:
   - References to `this`, `super` and `Classname` were very badly resolved
      (pointed to variables, methods, or nothing at all on empty classes)
   - Annotations would not be registered by their parent scopes.
2017-02-13 19:20:31 +01:00
45ef7f7926 Merge branch 'pr-239' 2017-02-12 11:04:01 +01:00
04a4145b1c [doc] Improve docs on InvalidSlf4jMessageFormatRule 2017-02-12 11:03:36 +01:00
c5cf7e78e3 Merge branch 'issue-232' 2017-02-12 09:49:34 +01:00
294dd3e6af Merge branch 'issue-232' into pmd/5.5.x 2017-02-12 09:42:26 +01:00
ed7714391a [java] Fix FP in SimplifiedTernary with null value
- Fixes #232
 - Alo improve the docs formatting, it's getting garbled on the web..
2017-02-12 09:35:08 +01:00
94c552d225 Merge branch 'pr-230' 2017-02-11 15:35:50 +01:00
067c2e9a22 Merge branch 'pr-230' into pmd/5.5.x 2017-02-11 15:29:46 +01:00
c5d4951728 [java] Tidy up ClassScope code
- Sibling node search cn be easier
 - Remove dead code in generic resolution
 - Make sure generics resolution goes up through nested classes
2017-02-11 15:25:26 +01:00
8efca91c29 Merge branch 'pr-226' 2017-02-11 15:15:14 +01:00
357b10952d [java] Fix same package import from default package
- If the package was passed as an empty string rather than a `null`, we
    would attempt to load classes such as `.Foo` rather than `Foo`.
2017-02-11 15:07:18 +01:00
38861a6a0c Merge branch 'pr-225' 2017-02-11 10:20:26 +01:00
ac2eedf4dd [java] Qualify references to inner classes of imports
- Given an import on `a.Foo`, references to `Foo.Inner` should be qualified
    as `a.Foo.Inner`.
 - This fixes a couple of wrong missing classes.
 - The test also brought to light another issue with resolvers that would fail
    to resolve even a qualified inner class if not explicitly imported under
    certain circumstances.
2017-02-11 10:12:13 +01:00
1b7a2b82cd Merge branch 'pr-224' 2017-02-10 23:59:08 +01:00
2e64907776 [java] Restrict type searches for inner classes
- There are certain cases where we know exactly what to look for, not needing
    to brute force our way to inner classes. For those, use a direct approach.
2017-02-10 23:49:21 +01:00
4d7938d821 [java] Allow CPD suppression through comments 2017-02-08 17:07:20 -03:00