mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PyPsiPath ->python-psi-api
This commit is contained in:
+3
-4
@@ -4,8 +4,6 @@ import com.intellij.psi.PsiElement;
|
||||
import com.jetbrains.python.psi.*;
|
||||
import com.jetbrains.python.psi.impl.PyQualifiedName;
|
||||
import com.jetbrains.python.psi.resolve.QualifiedNameResolver;
|
||||
import com.jetbrains.python.psi.resolve.QualifiedNameResolverImpl;
|
||||
import com.jetbrains.python.psi.stubs.PyClassNameIndex;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
@@ -25,7 +23,8 @@ public abstract class PyPsiPath {
|
||||
@Nullable
|
||||
@Override
|
||||
public PsiElement resolve(PsiElement context) {
|
||||
QualifiedNameResolver visitor = new QualifiedNameResolverImpl(myQualifiedName).fromElement(context);
|
||||
PyPsiFacade pyPsiFacade = PyPsiFacade.getInstance(context.getProject());
|
||||
QualifiedNameResolver visitor = pyPsiFacade.qualifiedNameResolver(myQualifiedName).fromElement(context);
|
||||
return visitor.firstResult();
|
||||
}
|
||||
}
|
||||
@@ -40,7 +39,7 @@ public abstract class PyPsiPath {
|
||||
@Nullable
|
||||
@Override
|
||||
public PsiElement resolve(PsiElement context) {
|
||||
return PyClassNameIndex.findClass(myQualifiedName.toString(), context.getProject());
|
||||
return PyPsiFacade.getInstance(context.getProject()).findClass(myQualifiedName.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.jetbrains.python.psi.impl.PyQualifiedName;
|
||||
import com.jetbrains.python.psi.resolve.QualifiedNameResolver;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* @author yole
|
||||
@@ -16,4 +17,7 @@ public abstract class PyPsiFacade {
|
||||
public abstract QualifiedNameResolver qualifiedNameResolver(String qNameString);
|
||||
public abstract QualifiedNameResolver qualifiedNameResolver(PyQualifiedName qualifiedName);
|
||||
|
||||
@Nullable
|
||||
public abstract PyClass findClass(String qName);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,13 +1,23 @@
|
||||
package com.jetbrains.python.psi.impl;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.jetbrains.python.psi.PyClass;
|
||||
import com.jetbrains.python.psi.PyPsiFacade;
|
||||
import com.jetbrains.python.psi.resolve.QualifiedNameResolver;
|
||||
import com.jetbrains.python.psi.resolve.QualifiedNameResolverImpl;
|
||||
import com.jetbrains.python.psi.stubs.PyClassNameIndex;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* @author yole
|
||||
*/
|
||||
public class PyPsiFacadeImpl extends PyPsiFacade {
|
||||
private final Project myProject;
|
||||
|
||||
public PyPsiFacadeImpl(Project project) {
|
||||
myProject = project;
|
||||
}
|
||||
|
||||
@Override
|
||||
public QualifiedNameResolver qualifiedNameResolver(String qNameString) {
|
||||
return new QualifiedNameResolverImpl(qNameString);
|
||||
@@ -17,4 +27,10 @@ public class PyPsiFacadeImpl extends PyPsiFacade {
|
||||
public QualifiedNameResolver qualifiedNameResolver(PyQualifiedName qualifiedName) {
|
||||
return new QualifiedNameResolverImpl(qualifiedName);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public PyClass findClass(String qName) {
|
||||
return PyClassNameIndex.findClass(qName, myProject);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user