Skip to content

[java] AbstractClassWithoutAnyMethod should consider lombok's @AllArgsConstructor #4189

@ghost

Description

Affects PMD Version:6.51.0

Rule:AbstractClassWithoutAnyMethod

Please provide the rule name and a link to the rule documentation:
https://pmd.sourceforge.io/pmd-6.51.0/pmd_rules_java_design.html#abstractclasswithoutanymethod

Description:
Hi, I found a false positive about the rule AbstractClassWithoutAnyMethod. In the following code example, the annotation @AllArgsConstructor can add a constructor public C(final String field, final int otherField). Hence, I think this class has a valid method and it is a false positive.

Code Sample demonstrating the issue:

import lombok.AllArgsConstructor;
@AllArgsConstructor
public abstract class C {
    private String field;
    public int otherField;
}

Expected outcome:

PMD reports a violation at line 3, but that's wrong. That's a false positive.

Running PMD through: [Maven]

Metadata

Metadata

Assignees

No one assigned

    Labels

    a:false-positivePMD flags a piece of code that is not problematic

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions