From 369aebd0a3f0a3c9582d4a6e9e2d75bade08b9fa Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 2 Apr 2012 14:11:38 +0200 Subject: [PATCH] a registry key for IDEA-83547 "Show implementations" does not show derived interfaces --- .../codeInsight/navigation/ClassImplementationsSearch.java | 7 ++++++- .../platform-resources-en/src/misc/registry.properties | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/navigation/ClassImplementationsSearch.java b/java/java-impl/src/com/intellij/codeInsight/navigation/ClassImplementationsSearch.java index 537f2ff19087..a19630dad65c 100644 --- a/java/java-impl/src/com/intellij/codeInsight/navigation/ClassImplementationsSearch.java +++ b/java/java-impl/src/com/intellij/codeInsight/navigation/ClassImplementationsSearch.java @@ -17,6 +17,7 @@ package com.intellij.codeInsight.navigation; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.util.Computable; +import com.intellij.openapi.util.registry.Registry; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; import com.intellij.psi.search.PsiElementProcessor; @@ -33,6 +34,7 @@ public class ClassImplementationsSearch implements QueryExecutor processor) { + final boolean showInterfaces = Registry.is("ide.goto.implementation.show.interfaces"); return ClassInheritorsSearch.search(psiClass, ApplicationManager.getApplication().runReadAction(new Computable() { @Override public SearchScope compute() { @@ -40,7 +42,10 @@ public class ClassImplementationsSearch implements QueryExecutor(new PsiElementProcessor() { public boolean execute(@NotNull PsiClass element) { - return element.isInterface() || processor.process(element); + if (!showInterfaces && element.isInterface()) { + return true; + } + return processor.process(element); } })); } diff --git a/platform/platform-resources-en/src/misc/registry.properties b/platform/platform-resources-en/src/misc/registry.properties index 8ea41c1133c1..a85422a2a634 100644 --- a/platform/platform-resources-en/src/misc/registry.properties +++ b/platform/platform-resources-en/src/misc/registry.properties @@ -206,3 +206,6 @@ python.exported.names.local.cache=false ide.use.nautilus3=true ide.use.nautilus3.description=Use Nautilus if available + +ide.goto.implementation.show.interfaces=false +ide.goto.implementation.show.interfaces.description=Whether to show sub-interfaces when invoking Goto Implementation (Ctrl+Alt+B) on an interface \ No newline at end of file