From 5ade56930fe97a7c42787d95519c03c2d53a3039 Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Tue, 9 Aug 2016 19:26:15 +0300 Subject: [PATCH] AbstractBaseJavaLocalInspectionTool#getProblemElement should not return PsiTypeParameter --- .../AbstractBaseJavaLocalInspectionTool.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/java/java-analysis-api/src/com/intellij/codeInspection/AbstractBaseJavaLocalInspectionTool.java b/java/java-analysis-api/src/com/intellij/codeInspection/AbstractBaseJavaLocalInspectionTool.java index 7a8065b7ea13..6114ee05546e 100644 --- a/java/java-analysis-api/src/com/intellij/codeInspection/AbstractBaseJavaLocalInspectionTool.java +++ b/java/java-analysis-api/src/com/intellij/codeInspection/AbstractBaseJavaLocalInspectionTool.java @@ -15,12 +15,18 @@ */ package com.intellij.codeInspection; +import com.intellij.openapi.util.Condition; import com.intellij.psi.*; import com.intellij.psi.util.PsiTreeUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import static com.intellij.openapi.util.Conditions.*; + public abstract class AbstractBaseJavaLocalInspectionTool extends LocalInspectionTool { + private static final Condition PROBLEM_ELEMENT_CONDITION = + and(instanceOf(PsiFile.class, PsiClass.class, PsiMethod.class, PsiField.class), notInstanceOf(PsiTypeParameter.class)); + /** * Override this to report problems at method level. * @@ -110,6 +116,6 @@ public abstract class AbstractBaseJavaLocalInspectionTool extends LocalInspectio @Override public PsiNamedElement getProblemElement(final PsiElement psiElement) { - return PsiTreeUtil.getNonStrictParentOfType(psiElement, PsiFile.class, PsiClass.class, PsiMethod.class, PsiField.class); + return (PsiNamedElement)PsiTreeUtil.findFirstParent(psiElement, PROBLEM_ELEMENT_CONDITION); } }