From 854a372efb32b0c0ab433d49939f4687c664da9d Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 25 Jul 2012 20:21:33 +0400 Subject: [PATCH] fixed highlighting of actions implemented as inner classes --- .../src/inspections/RegistrationProblemsInspection.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/devkit/src/inspections/RegistrationProblemsInspection.java b/plugins/devkit/src/inspections/RegistrationProblemsInspection.java index 4ec5e76adf0f..8473dc0ad65f 100644 --- a/plugins/devkit/src/inspections/RegistrationProblemsInspection.java +++ b/plugins/devkit/src/inspections/RegistrationProblemsInspection.java @@ -24,6 +24,7 @@ import com.intellij.codeInspection.ProblemHighlightType; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.psi.util.ClassUtil; import com.intellij.psi.xml.*; import com.intellij.util.ArrayUtil; import com.intellij.util.SmartList; @@ -302,14 +303,14 @@ public class RegistrationProblemsInspection extends DevKitInspectionBase { if (attribute != null) { final PsiElement token = getAttValueToken(attribute); if (token != null) { - final String actionName = attribute.getValue().trim(); - final PsiClass actionClass = JavaPsiFacade.getInstance(myPsiManager.getProject()).findClass(actionName, myScope); + final String actionClassName = attribute.getValue().trim(); + final PsiClass actionClass = ClassUtil.findPsiClass(myPsiManager, actionClassName, null, true, myScope); if (actionClass == null) { addProblem(token, DevKitBundle.message("inspections.registration.problems.cannot.resolve.class", DevKitBundle.message("class.action")), ProblemHighlightType.LIKE_UNKNOWN_SYMBOL, myOnTheFly, ((LocalQuickFix)QuickFixFactory.getInstance() - .createCreateClassOrInterfaceFix(token, actionName, true, AnAction.class.getName()))); + .createCreateClassOrInterfaceFix(token, actionClassName, true, AnAction.class.getName()))); } else { if (!type.isOfType(actionClass)) { final PsiClass psiClass = JavaPsiFacade.getInstance(myPsiManager.getProject()).findClass(type.myClassName, myScope);