FindUsages for Java step definition implemented

This commit is contained in:
Andrey Vokin
2012-07-26 18:56:20 +04:00
parent 4135b2350d
commit 8ad96d3122
4 changed files with 34 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) {