diff --git a/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyClassFindUsagesHandler.java b/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyClassFindUsagesHandler.java index 8f47a534287f..bd43ea535dc6 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyClassFindUsagesHandler.java +++ b/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyClassFindUsagesHandler.java @@ -20,7 +20,7 @@ import com.jetbrains.python.psi.PyClass; import org.jetbrains.annotations.NotNull; /** - * @author yole + * Important note: please update PyFindUsagesHandlerFactory#proxy on any changes here. */ public class PyClassFindUsagesHandler extends PyFindUsagesHandler { diff --git a/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyFindUsagesHandler.java b/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyFindUsagesHandler.java index 743a66e80e4f..e9813079e964 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyFindUsagesHandler.java +++ b/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyFindUsagesHandler.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** - * @author Yuli Fiterman + * Important note: please update PyFindUsagesHandlerFactory#proxy on any changes here. */ public abstract class PyFindUsagesHandler extends FindUsagesHandlerBase { protected PyFindUsagesHandler(@NotNull PsiElement psiElement) { diff --git a/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyFunctionFindUsagesHandler.java b/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyFunctionFindUsagesHandler.java index 2b25c5c2e656..feeea24d674a 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyFunctionFindUsagesHandler.java +++ b/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyFunctionFindUsagesHandler.java @@ -21,7 +21,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; /** - * @author yole + * Important note: please update PyFindUsagesHandlerFactory#proxy on any changes here. */ public class PyFunctionFindUsagesHandler extends PyFindUsagesHandler { private final List myAllElements; diff --git a/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyModuleFindUsagesHandler.java b/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyModuleFindUsagesHandler.java index d34891d8f865..d5e71a1155a3 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyModuleFindUsagesHandler.java +++ b/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyModuleFindUsagesHandler.java @@ -31,7 +31,7 @@ import java.util.Collection; import java.util.List; /** - * @author yole + * Important note: please update PyFindUsagesHandlerFactory#proxy on any changes here. */ public class PyModuleFindUsagesHandler extends PyFindUsagesHandler { final PsiFileSystemItem myElement; diff --git a/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyTargetExpressionFindUsagesHandler.java b/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyTargetExpressionFindUsagesHandler.java index 6589a3b12080..2363bef88324 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyTargetExpressionFindUsagesHandler.java +++ b/python/python-psi-impl/src/com/jetbrains/python/findUsages/PyTargetExpressionFindUsagesHandler.java @@ -4,7 +4,7 @@ import com.jetbrains.python.psi.PyTargetExpression; import org.jetbrains.annotations.NotNull; /** - * @author Mikhail Golubev + * Important note: please update PyFindUsagesHandlerFactory#proxy on any changes here. */ public class PyTargetExpressionFindUsagesHandler extends PyFindUsagesHandler { public PyTargetExpressionFindUsagesHandler(@NotNull PyTargetExpression psiElement) { diff --git a/python/src/com/jetbrains/python/findUsages/PyFindUsagesHandlerFactory.java b/python/src/com/jetbrains/python/findUsages/PyFindUsagesHandlerFactory.java index 677fcd3d77ed..e6dd51b44d8e 100644 --- a/python/src/com/jetbrains/python/findUsages/PyFindUsagesHandlerFactory.java +++ b/python/src/com/jetbrains/python/findUsages/PyFindUsagesHandlerFactory.java @@ -16,9 +16,12 @@ package com.jetbrains.python.findUsages; import com.intellij.find.findUsages.*; +import com.intellij.openapi.actionSystem.DataContext; import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFileSystemItem; +import com.intellij.psi.PsiReference; +import com.intellij.psi.search.SearchScope; import com.intellij.ui.SimpleColoredComponent; import com.intellij.ui.SimpleTextAttributes; import com.jetbrains.python.PyBundle; @@ -26,6 +29,8 @@ import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.Collection; + /** * @author traff */ @@ -41,10 +46,12 @@ public class PyFindUsagesHandlerFactory extends FindUsagesHandlerFactory impleme return (FindUsagesHandler)base; } else if (base instanceof PyFindUsagesHandler) { + // Important note: override methods that are overridden in PyFindUsagesHandler inheritors. + return new FindUsagesHandler(base.getPsiElement()) { @Override - public @NotNull FindUsagesOptions getFindUsagesOptions() { - return base.getFindUsagesOptions(); + public @NotNull FindUsagesOptions getFindUsagesOptions(@Nullable DataContext dataContext) { + return base.getFindUsagesOptions(dataContext); } @Override @@ -57,6 +64,12 @@ public class PyFindUsagesHandlerFactory extends FindUsagesHandlerFactory impleme return base.getPrimaryElements(); } + @Override + public @NotNull Collection findReferencesToHighlight(@NotNull PsiElement target, + @NotNull SearchScope searchScope) { + return base.findReferencesToHighlight(target, searchScope); + } + @Override public @NotNull AbstractFindUsagesDialog getFindUsagesDialog(boolean isSingleFile, boolean toShowInNewTab, @@ -87,6 +100,9 @@ public class PyFindUsagesHandlerFactory extends FindUsagesHandlerFactory impleme return new PyModuleFindUsagesHandlerUi(element); } + /** + * Important note: please update PyFindUsagesHandlerFactory#proxy on any changes here. + */ static class PyModuleFindUsagesHandlerUi extends PyModuleFindUsagesHandler implements FindUsagesHandlerUi { protected PyModuleFindUsagesHandlerUi(@NotNull PsiFileSystemItem file) { super(file);