[java-inspections] IDEA-315406 "Field may be static" false positive

GitOrigin-RevId: 4ef30cb64f236cc976ad3573d14388121c4bdb94
This commit is contained in:
Tagir Valeev
2023-03-16 14:12:18 +00:00
committed by intellij-monorepo-bot
parent c400ccc2e7
commit 415445c4bd
2 changed files with 13 additions and 4 deletions
@@ -29,11 +29,14 @@ class CanBeStaticVisitor extends JavaRecursiveElementWalkingVisitor {
}
}
@Override
public void visitThisExpression(@NotNull PsiThisExpression expression) {
canBeStatic = false;
stopWalking();
}
@Override
public void visitReferenceExpression(@NotNull PsiReferenceExpression ref) {
if (!canBeStatic) {
return;
}
super.visitReferenceExpression(ref);
PsiElement element = ref.resolve();
@@ -41,6 +44,7 @@ class CanBeStaticVisitor extends JavaRecursiveElementWalkingVisitor {
!owner.hasModifierProperty(PsiModifier.STATIC) &&
!(owner instanceof PsiClass cls && ClassUtil.isTopLevelClass(cls))) {
canBeStatic = false;
stopWalking();
}
}
@@ -66,4 +66,9 @@ class Outer {
}.run();
}
}
}
class ThisExpression {
private final boolean test = this instanceof Sub;
static class Sub extends ThisExpression {}
}