diff --git a/python/src/META-INF/python-plugin-common.xml b/python/src/META-INF/python-plugin-common.xml index 07aa5774a39a..32f8a2001f1e 100644 --- a/python/src/META-INF/python-plugin-common.xml +++ b/python/src/META-INF/python-plugin-common.xml @@ -56,6 +56,7 @@ + diff --git a/python/src/com/jetbrains/python/psi/search/PyDefinitionsSearch.java b/python/src/com/jetbrains/python/psi/search/PyDefinitionsSearch.java new file mode 100644 index 000000000000..f485c61a327c --- /dev/null +++ b/python/src/com/jetbrains/python/psi/search/PyDefinitionsSearch.java @@ -0,0 +1,24 @@ +package com.jetbrains.python.psi.search; + +import com.intellij.psi.PsiElement; +import com.intellij.util.Processor; +import com.intellij.util.QueryExecutor; +import com.intellij.util.Query; +import com.jetbrains.python.psi.PyClass; + +/** + * @author yole + */ +public class PyDefinitionsSearch implements QueryExecutor { + public boolean execute(final PsiElement queryParameters, final Processor consumer) { + if (queryParameters instanceof PyClass) { + final Query query = PyClassInheritorsSearch.search((PyClass)queryParameters); + return query.forEach(new Processor() { + public boolean process(final PyClass pyClass) { + return consumer.process(pyClass); + } + }); + } + return true; + } +}