FindUsages for Java step definition implemented

This commit is contained in:
Andrey Vokin
2012-07-27 17:18:36 +04:00
parent 1a2220dc57
commit f544d3ffc4
3 changed files with 32 additions and 0 deletions
@@ -0,0 +1,14 @@
package com.intellij.find.findUsages;
import com.intellij.psi.PsiElement;
import com.intellij.usageView.UsageInfo;
import com.intellij.util.Processor;
import org.jetbrains.annotations.NotNull;
/**
* User: Andrey.Vokin
* Date: 7/26/12
*/
public interface CustomJavaFindUsagesHandler {
public void processElementUsages(@NotNull final PsiElement element, @NotNull final Processor<UsageInfo> processor, @NotNull final FindUsagesOptions options);
}
@@ -0,0 +1,13 @@
package com.intellij.find.findUsages;
import com.intellij.openapi.extensions.ExtensionPointName;
/**
* User: Andrey.Vokin
* Date: 7/26/12
*/
public abstract class CustomJavaFindUsagesHandlerProvider {
public static final ExtensionPointName<CustomJavaFindUsagesHandlerProvider> EP_NAME = ExtensionPointName.create("com.intellij.findUsages.java.customJavaFindUsagesHandlerProvider");
public abstract CustomJavaFindUsagesHandler getHandler();
}
@@ -384,6 +384,11 @@ public class JavaFindUsagesHandler extends FindUsagesHandler{
// todo add to fastTrack
processUsagesInText(element, processor, (GlobalSearchScope)options.searchScope);
}
final CustomJavaFindUsagesHandlerProvider[] customJavaFindUsagesHandlerProviders = Extensions.getExtensions(CustomJavaFindUsagesHandlerProvider.EP_NAME);
for (CustomJavaFindUsagesHandlerProvider provider : customJavaFindUsagesHandlerProviders) {
provider.getHandler().processElementUsages(element, processor, options);
}
}
private static void addAliasingUsages(PomTarget pomTarget, final Processor<UsageInfo> processor, final FindUsagesOptions options) {