From 4cf643c39b8462f1c0d02e1f8a0a2479aeb86190 Mon Sep 17 00:00:00 2001 From: Natalia Pozhidaeva Date: Tue, 12 Mar 2024 20:08:06 -0500 Subject: [PATCH] [#1197] fix static via this rule --- .../main/resources/com/qulice/pmd/ruleset.xml | 4 ++-- .../qulice/pmd/StaticAccessToStaticFields.java | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/qulice-pmd/src/main/resources/com/qulice/pmd/ruleset.xml b/qulice-pmd/src/main/resources/com/qulice/pmd/ruleset.xml index 78eed2f48..bfd8e0e3f 100644 --- a/qulice-pmd/src/main/resources/com/qulice/pmd/ruleset.xml +++ b/qulice-pmd/src/main/resources/com/qulice/pmd/ruleset.xml @@ -182,8 +182,8 @@ OF THE POSSIBILITY OF SUCH DAMAGE. //PrimaryExpression[ (./PrimaryPrefix[@ThisModifier=true()]) and (./PrimarySuffix[ - @Image=//FieldDeclaration[@Static=true()]/VariableDeclarator/VariableDeclaratorId/@Name - or @Image=//MethodDeclaration[@Static=true()]/@MethodName + @Image=./ancestor::ClassOrInterfaceBody[1]/ClassOrInterfaceBodyDeclaration/FieldDeclaration[@Static=true()]/VariableDeclarator/VariableDeclaratorId/@Name + or @Image=./ancestor::ClassOrInterfaceBody[1]/ClassOrInterfaceBodyDeclaration/MethodDeclaration[@Static=true()]/@MethodName ]) ] ]]> diff --git a/qulice-pmd/src/test/resources/com/qulice/pmd/StaticAccessToStaticFields.java b/qulice-pmd/src/test/resources/com/qulice/pmd/StaticAccessToStaticFields.java index 201a769bb..e29d4796d 100644 --- a/qulice-pmd/src/test/resources/com/qulice/pmd/StaticAccessToStaticFields.java +++ b/qulice-pmd/src/test/resources/com/qulice/pmd/StaticAccessToStaticFields.java @@ -12,6 +12,21 @@ public int another() { } public int addToNum(final int another) { - return another + StaticAccessToStaticFields.number(); + return another + StaticAccessToStaticFields.number() + this.another(); + } + + class InternalClass { + final int num; + + InternalClass(final int par) { + this.num = par; + } + static int another() { + return 1; + } + + public int add(final int a) { + return a + this.num; + } } }