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>() {
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 {
return new GotoImplementationHandler();
}
+ protected boolean isValidForLookup() {
+ return true;
+ }
+
public void update(final AnActionEvent event) {
if (!DefinitionsSearch.INSTANCE.hasAnyExecutors()) {
event.getPresentation().setVisible(false);