definitions search for Python

This commit is contained in:
Dmitry Jemerov
2008-03-24 13:30:07 +03:00
parent 693e7fa1be
commit f451cf67ce
2 changed files with 25 additions and 0 deletions
@@ -56,6 +56,7 @@
<referenceImporter implementation="com.jetbrains.python.validation.PythonReferenceImporter"/>
<codeInsight.lineMarkerProvider language="Python" implementationClass="com.jetbrains.python.PyLineMarkerProvider"/>
<definitionsSearch implementation="com.jetbrains.python.psi.search.PyDefinitionsSearch"/>
</extensions>
<extensionPoints>
@@ -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<PsiElement, PsiElement> {
public boolean execute(final PsiElement queryParameters, final Processor<PsiElement> consumer) {
if (queryParameters instanceof PyClass) {
final Query<PyClass> query = PyClassInheritorsSearch.search((PyClass)queryParameters);
return query.forEach(new Processor<PyClass>() {
public boolean process(final PyClass pyClass) {
return consumer.process(pyClass);
}
});
}
return true;
}
}