IDEA-80192 'Goto implementation' doesn't work from completion popup for methods.
authorpeter <peter@jetbrains.com>
Tue, 24 Jan 2012 11:06:43 +0000 (12:06 +0100)
committerpeter <peter@jetbrains.com>
Tue, 24 Jan 2012 12:33:39 +0000 (13:33 +0100)
platform/lang-impl/src/com/intellij/codeInsight/navigation/ImplementationSearcher.java
platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoImplementationAction.java

index de052c1e16fd3dfc0af5bc16841adeb255fa2100..91a0a98cf6baa6b00dc1ff502b2f5ac1eba84d2f 100644 (file)
@@ -42,7 +42,7 @@ public class ImplementationSearcher {
     boolean onRef = ApplicationManager.getApplication().runReadAction(new Computable<Boolean>() {
       @Override
       public Boolean compute() {
-        return targetElementUtil.findTargetElement(editor, getFlags() & ~TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED, offset) == null;
+        return targetElementUtil.findTargetElement(editor, getFlags() & ~(TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED | TargetElementUtilBase.LOOKUP_ITEM_ACCEPTED), offset) == null;
       }
     });
     return searchImplementations(element, offset, onRef && ApplicationManager.getApplication().runReadAction(new Computable<Boolean>() {
index 78ef65166fd1467b3e086338b575d91b9716e6af..6fc84c2c212f761e4bdba28c5e845c2104766147 100644 (file)
@@ -19,11 +19,8 @@ package com.intellij.codeInsight.navigation.actions;
 import com.intellij.codeInsight.CodeInsightActionHandler;
 import com.intellij.codeInsight.actions.BaseCodeInsightAction;
 import com.intellij.codeInsight.navigation.GotoImplementationHandler;
-import com.intellij.openapi.editor.Editor;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.project.DumbAware;
 import com.intellij.openapi.actionSystem.AnActionEvent;
-import com.intellij.psi.PsiFile;
+import com.intellij.openapi.project.DumbAware;
 import com.intellij.psi.search.searches.DefinitionsSearch;
 
 public class GotoImplementationAction extends BaseCodeInsightAction implements DumbAware {
@@ -31,6 +28,10 @@ public class GotoImplementationAction extends BaseCodeInsightAction implements D
     return new GotoImplementationHandler();
   }
 
+  protected boolean isValidForLookup() {
+    return true;
+  }
+
   public void update(final AnActionEvent event) {
     if (!DefinitionsSearch.INSTANCE.hasAnyExecutors()) {
       event.getPresentation().setVisible(false);