Skip to content

[java] Fix #7275: Handle bare blocks in AvoidBranchingStatementAsLastInLoop - #7283

Merged
UncleOwen merged 6 commits into
pmd:mainfrom
wozhenbang2004:fix/java-7275-bare-blocks
Nov 10, 2026
Merged

UncleOwen merged 6 commits into
pmd:mainfrom
wozhenbang2004:fix/java-7275-bare-blocks

Conversation

@wozhenbang2004

Copy link
Copy Markdown
Contributor

Describe the PR

Walk through consecutive bare blocks when checking the enclosing loop in AvoidBranchingStatementAsLastInLoop, preserving the existing finally handling and loop-type properties.

Add five regression cases covering nested returns, loop/branch kinds, boundaries, disabled properties, and finally blocks.

Related issues

Validation

  • git diff --check and XML parsing pass.
  • Independently compiled the original and patched rule against the published PMD 7.29.0 engine and ran all 25 XML cases with their properties and expected line numbers: original rule has three failing new cases; patched rule passes 25/25 with no processing/configuration errors. This is a standalone engine check, not the main-branch JUnit suite.
  • The targeted Maven reactor build stops before rule tests because the available runtime lacks the platform signatures for --release 8. Native tests and the complete build remain for CI.

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)

@pmd-actions-helper

pmd-actions-helper Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

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, 16 errors and 9 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-11-10 07:56:39+00:00 for 8b06c33)

@UncleOwen

Copy link
Copy Markdown
Member

Could you please check the "Maintainers are allowed to edit this pull request. " box, so that I can push the merge and the updated release notes?

@UncleOwen UncleOwen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks!

@UncleOwen UncleOwen added this to the 7.30.0 milestone Nov 10, 2026
@UncleOwen
UncleOwen merged commit c8fe6aa into pmd:main Nov 10, 2026
13 checks passed
@UncleOwen UncleOwen changed the title [java] Handle bare blocks in AvoidBranchingStatementAsLastInLoop [java] Fix #7275: Handle bare blocks in AvoidBranchingStatementAsLastInLoop Nov 10, 2026
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] AvoidBranchingStatementAsLastInLoop: False negative when the statement is in a bare block

2 participants