Skip to content

[java] Fix #2801: Add a property to OnlyOneReturnRule to allow guard ifs#6587

Merged
adangel merged 4 commits into
pmd:mainfrom
UncleOwen:issue-2801-OnlyOneReturn-should-have-a-property-to-allow-early-exits
May 7, 2026
Merged

[java] Fix #2801: Add a property to OnlyOneReturnRule to allow guard ifs#6587
adangel merged 4 commits into
pmd:mainfrom
UncleOwen:issue-2801-OnlyOneReturn-should-have-a-property-to-allow-early-exits

Conversation

@UncleOwen
Copy link
Copy Markdown
Member

Describe the PR

Add a new property to OnlyOneReturnRule called allowGuardIfs. If that property is set to true, returns as part of guard ifs are ignored. A guard if is defined as an if statement, that is

  • at the beginning of a method
  • the then part only returns or throws
  • has no else block

Related issues

Ready?

  • Added unit tests for fixed bug/feature
  • Passing all unit tests
  • Complete build ./mvnw clean verify passes (checked automatically by github actions)
  • Added (in-code) documentation (if needed)

@UncleOwen UncleOwen force-pushed the issue-2801-OnlyOneReturn-should-have-a-property-to-allow-early-exits branch from 35bf4e2 to c87efc1 Compare April 14, 2026 13:36
@UncleOwen UncleOwen marked this pull request as draft April 14, 2026 13:36
@UncleOwen UncleOwen force-pushed the issue-2801-OnlyOneReturn-should-have-a-property-to-allow-early-exits branch 2 times, most recently from b133274 to 5c92282 Compare April 14, 2026 13:40
@codacy-production
Copy link
Copy Markdown

codacy-production Bot commented Apr 14, 2026

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 11 complexity · 0 duplication

Metric Results
Complexity 11
Duplication 0

View in Codacy

TIP This summary will be updated as you push new changes. Give us feedback

@UncleOwen UncleOwen force-pushed the issue-2801-OnlyOneReturn-should-have-a-property-to-allow-early-exits branch 2 times, most recently from 3fdd066 to f0b4e08 Compare April 14, 2026 13:50
@pmd-actions-helper
Copy link
Copy Markdown
Contributor

pmd-actions-helper Bot commented Apr 14, 2026

Documentation Preview

Compared to main:
This changeset changes 0 violations,
introduces 0 new violations, 0 new errors and 0 new configuration errors,
removes 0 violations, 0 errors and 0 configuration errors.
There are 0 changed duplications, 0 new duplications and 0 removed duplications.
There are 0 changed CPD errors, 0 new CPD errors and 0 removed CPD errors.

Regression Tester Report

(comment created at 2026-05-07 13:44:34+00:00 for 711a989)

@UncleOwen
Copy link
Copy Markdown
Member Author

@UncleOwen UncleOwen force-pushed the issue-2801-OnlyOneReturn-should-have-a-property-to-allow-early-exits branch from f0b4e08 to ce6a230 Compare April 14, 2026 14:11
@UncleOwen UncleOwen marked this pull request as ready for review April 14, 2026 14:27
@UncleOwen
Copy link
Copy Markdown
Member Author

I didn't look at all 3001 violations removed in the regression tester report, but I looked at some of them. Looks exactly like I thought it would look.

@UncleOwen UncleOwen force-pushed the issue-2801-OnlyOneReturn-should-have-a-property-to-allow-early-exits branch from ce6a230 to ca5f4ff Compare April 17, 2026 18:42
@UncleOwen UncleOwen force-pushed the issue-2801-OnlyOneReturn-should-have-a-property-to-allow-early-exits branch from ca5f4ff to 931c0ec Compare April 24, 2026 14:01
@adangel adangel changed the title [java] Fix #2801: Add a property to OnlyOneReturnRule to allow guard ifs. [java] Fix #2801: Add a property to OnlyOneReturnRule to allow guard ifs May 7, 2026
@adangel adangel added this to the 7.25.0 milestone May 7, 2026
Copy link
Copy Markdown
Member

@adangel adangel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Comment thread pmd-java/src/main/resources/category/java/codestyle.xml Outdated
@adangel adangel merged commit 711a989 into pmd:main May 7, 2026
9 checks passed
adangel added a commit that referenced this pull request May 7, 2026
@UncleOwen UncleOwen deleted the issue-2801-OnlyOneReturn-should-have-a-property-to-allow-early-exits branch May 7, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[java] OnlyOneReturn should have a property to allow early exits (guard clauses)

2 participants