resources.report.rules.pmd.UselessQualifiedThis.html Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sanity4j Show documentation
Show all versions of sanity4j Show documentation
Sanity4J was created to simplify running multiple static code
analysis tools on the Java projects. It provides a single entry
point to run all the selected tools and produce a consolidated
report, which presents all findings in an easily accessible
manner.
UselessQualifiedThis
UselessQualifiedThis
Look for qualified this usages in the same class.
//PrimaryExpression
[PrimaryPrefix/Name[@Image]]
[PrimarySuffix[@Arguments='false']]
[not(PrimarySuffix/MemberSelector)]
[ancestor::ClassOrInterfaceBodyDeclaration[1][@AnonymousInnerClass='false']]
/PrimaryPrefix/Name[@Image = ancestor::ClassOrInterfaceDeclaration[1]/@Image]
Example(s):
public class Foo {
final Foo otherFoo = Foo.this; // use "this" directly
public void doSomething() {
final Foo anotherFoo = Foo.this; // use "this" directly
}
private ActionListener returnListener() {
return new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
doSomethingWithQualifiedThis(Foo.this); // This is fine
}
};
}
private class Foo3 {
final Foo myFoo = Foo.this; // This is fine
}
private class Foo2 {
final Foo2 myFoo2 = Foo2.this; // Use "this" direclty
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy