916 Commits

Author SHA1 Message Date
Jonathan Wiesel
8e224ed32b [apex] COUNT is CRUD checkable 2021-04-23 11:26:17 +02:00
Andreas Dangel
6f8c7e3940 [apex] Document new behavior of ApexCRUDViolation 2021-04-23 09:23:51 +02:00
Jonathan Wiesel
c453f5c936 Deleting unused import 2021-04-11 00:24:50 +02:00
Jonathan Wiesel
c4b1d9db90 Do not assume method is VF getter and enforce CRUD 2021-04-10 22:23:54 +02:00
Jonathan Wiesel
9af635047e Add more limit consuming static method invocations 2021-04-05 18:23:11 +02:00
Andreas Dangel
37e5525fd5 [maven-release-plugin] prepare for next development iteration 2021-03-27 16:25:18 +01:00
Andreas Dangel
dc1c9d0aed [maven-release-plugin] prepare release pmd_releases/6.33.0 2021-03-27 16:25:13 +01:00
Andreas Dangel
0c16a321dc Fix build under Windows - line endings... 2021-03-04 15:03:40 +01:00
Andreas Dangel
9a6517561e [apex] ExcessiveClassLength multiple warning on the same class
- fixes #3142
2021-03-04 12:47:07 +01:00
Clément Fournier
a2d1976db9 Merge branch 'master' into pr/2980 2021-03-01 15:42:08 +01:00
Andreas Dangel
e0de01ebe9 [maven-release-plugin] prepare for next development iteration 2021-02-27 09:44:05 +01:00
Andreas Dangel
0848e230d0 [maven-release-plugin] prepare release pmd_releases/6.32.0 2021-02-27 09:43:58 +01:00
Andreas Dangel
84ea5e04b4 Revert the changes - compare Nodes with == again 2021-02-26 20:59:35 +01:00
Andreas Dangel
b03ec450c2 (dogfood) Bump pmd from 6.30.0 to 6.31.0 2021-02-26 20:31:26 +01:00
Andreas Dangel
7384a69d31 Merge branch 'master' into dogfood-6.30.0 2021-02-26 19:26:36 +01:00
Andreas Dangel
a0b0be35bb [doc] Update release notes (#3075 #3098) 2021-02-19 08:42:47 +01:00
Jonathan Wiesel
42fda5891a Simplify property access 2021-02-11 10:55:19 +01:00
Jonathan Wiesel
20833c0e78 Change to boolean primitive 2021-02-11 10:55:05 +01:00
Jonathan Wiesel
c2e4556360 ApexDoc optionally report private and protected 2021-02-02 12:02:52 +01:00
Andreas Dangel
2ea0328678 [maven-release-plugin] prepare for next development iteration 2021-01-30 18:04:17 +01:00
Andreas Dangel
7d6e6239c5 [maven-release-plugin] prepare release pmd_releases/6.31.0 2021-01-30 18:04:08 +01:00
Andreas Dangel
ddec921e38 [apex] Fixes from PR #2959
- Update description of new rule OverrideBothEqualsAndHashcode
- add to quickstart (commented out)
- use case insensitive comparison
2021-01-17 18:31:33 +01:00
Andreas Dangel
666281ed2b Merge branch 'master' into pr-2959 2021-01-17 18:11:41 +01:00
jr
49bab051e8 fix: use primitive 2020-12-24 14:22:15 -08:00
jr
539f457d81 fix: use rulechain 2020-12-24 14:21:44 -08:00
Andreas Dangel
62a052e97b (dogfood) Further CompareObjectsWithEquals fixes 2020-12-17 16:44:32 +01:00
jr
275e66d77a [apex] New Rule: override equals and hashcode rule 2020-12-14 14:38:45 -08:00
Andreas Dangel
d284ea9634 [maven-release-plugin] prepare for next development iteration 2020-12-12 09:42:10 +01:00
Andreas Dangel
d2e4fb4ca3 [maven-release-plugin] prepare release pmd_releases/6.30.0 2020-12-12 09:42:02 +01:00
Clément Fournier
08fca9367e Rename RuleSetParser to RuleSetLoader 2020-11-03 14:44:54 +01:00
Clément Fournier
8f8af7780e Rename stuff 2020-10-26 21:10:58 +01:00
Clément Fournier
8958609629 Deprecate other APIs 2020-10-26 20:00:19 +01:00
Clément Fournier
ac864aa529 Rename 2020-10-26 19:29:19 +01:00
Clément Fournier
412d39f513 Replace createFactory methods with a builder
Deprecate compatibility filter

Deprecate methods in RulesetsFactUtils
2020-10-26 19:26:47 +01:00
Andreas Dangel
4837c8dbc8 [maven-release-plugin] prepare for next development iteration 2020-10-24 10:17:24 +02:00
Andreas Dangel
81f12d3e5d [maven-release-plugin] prepare release pmd_releases/6.29.0 2020-10-24 10:17:15 +02:00
Andreas Dangel
e7738e2b4c [apex] Add support and test for parsing SafeNavigationOperator
Refs #2839
2020-10-22 20:02:51 +02:00
Andreas Dangel
9eeea472ac [apex] Update apex-jorje to 2020-09-10-5a5192 (Winter 21, Version 50)
Fixes #2839
2020-10-22 19:13:35 +02:00
Andreas Dangel
0745789bb7 [apex] Remove deprecated rules from quickstart.xml, restore Test 2020-10-22 17:58:06 +02:00
Jeff Bartolotta
98d0f0f38f Changes based on initial PR feedback
- Rename AvoidDatabaseMethodCallsInLoopsRule to OperationWithLimitsInLoop.
- Add AvoidDmlStatementsInLoopsRule, AvoidSoqlInLoopsRule, and AvoidSoslInLoopsRule checks into OperationWithLimitsInLoop.
- Deprecate AvoidDmlStatementsInLoopsRule, AvoidSoqlInLoopsRule, and AvoidSoslInLoopsRule in favor of OperationWithLimitsInLoop.
2020-10-21 11:25:20 -07:00
Jeff Bartolotta
8fb69b24db Add Apex AvoidDatabaseMethodCallsInLoopsRule
Fixes https://github.com/pmd/pmd/issues/1713, Database statements aren't detected in for loops.

- Added new AvoidDatabaseMethodCallsInLoopsRule that adds a violation if any methods from the System Database class are invoked from within a loop.

- Refactored AvoidDmlStatementsInLoopsRule, AvoidSoqlInLoopsRule, and AvoidSoslInLoopsRule to derive from AbstractAvoidNodeInLoopsRule.
2020-10-05 19:02:21 -07:00
Andreas Dangel
aa245c6e1b [maven-release-plugin] prepare for next development iteration 2020-09-26 10:25:16 +02:00
Andreas Dangel
722f3ca997 [maven-release-plugin] prepare release pmd_releases/6.28.0 2020-09-26 10:25:05 +02:00
Jeff Bartolotta
5429cebf38 Add issue reproducers as standard rule tests
Added false negative and false positive test cases that were logged with
the original issue.
2020-09-21 20:11:07 -07:00
Jeff Bartolotta
c6b7a723be Analyze inner classes for sharing violations
Fixes https://github.com/pmd/pmd/issues/2774, false positives and false
negatives for ApexSharingViolationsRule.

Sharing settings are not inherited by inner classes. Sharing settings
need to be declared on the class that contains the Database method, DML,
SOQL, or SOSL.

The change inverts the direction from which nodes are found and
analyzed. The previous code visited the ASTUserClass and then searched
for descendant nodes that met a certain criteria. It did not visit inner
ASTUserClass nodes because it didn't use rule chains or call the super's
visit moethod for ASTUserClassi.

The new implementation visits all nodes that correspond to Database
method, DML, SOQL, or SOSL nodes and then finds the nearest ASTUserClass
parent node. This ASTUserClass is examined to determine if it has
declared a sharing setting as required.
2020-09-17 08:36:45 -07:00
Andreas Dangel
c59af0aee6 [maven-release-plugin] prepare for next development iteration 2020-08-31 18:30:18 +02:00
Andreas Dangel
856950f0d2 [maven-release-plugin] prepare release pmd_releases/6.27.0 2020-08-31 18:30:09 +02:00
XenoAmess
244a39db0f fix typos. 2020-08-27 11:47:11 +08:00
Andreas Dangel
0b92a768da [apex] Deprecate ApexParserVisitorReducedAdapter
See also #2661
2020-08-22 18:30:42 +02:00
Andreas Dangel
89140d86ce Merge branch 'master' into pr-2656 2020-08-20 09:47:16 +02:00