mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
decouple QualifiedNameResolver from DjangoFacetType
This commit is contained in:
@@ -236,6 +236,11 @@ public class BuildoutFacet extends Facet<BuildoutFacetConfiguration> implements
|
||||
return cfg.getPaths();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean acceptRootAsTopLevelPackage() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static BuildoutFacet getInstance(Module module) {
|
||||
return FacetManager.getInstance(module).getFacetByType(BuildoutFacetType.ID);
|
||||
|
||||
@@ -7,4 +7,5 @@ import java.util.List;
|
||||
*/
|
||||
public interface PythonPathContributingFacet {
|
||||
List<String> getAdditionalPythonPath();
|
||||
boolean acceptRootAsTopLevelPackage();
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.jetbrains.python.psi.resolve;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.intellij.facet.Facet;
|
||||
import com.intellij.facet.FacetManager;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -12,9 +13,9 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiDirectory;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.jetbrains.django.facet.DjangoFacetType;
|
||||
import com.jetbrains.python.codeInsight.userSkeletons.PyUserSkeletonsUtil;
|
||||
import com.jetbrains.python.console.PydevConsoleRunner;
|
||||
import com.jetbrains.python.facet.PythonPathContributingFacet;
|
||||
import com.jetbrains.python.psi.impl.PyBuiltinCache;
|
||||
import com.jetbrains.python.psi.impl.PyImportResolver;
|
||||
import com.jetbrains.python.psi.impl.PyQualifiedName;
|
||||
@@ -86,7 +87,15 @@ public class QualifiedNameResolverImpl implements RootVisitor, QualifiedNameReso
|
||||
|
||||
private boolean isAcceptRootAsTopLevelPackage() {
|
||||
Module module = myContext.getModule();
|
||||
return module != null && FacetManager.getInstance(module).getFacetByType(DjangoFacetType.ID) != null;
|
||||
if (module != null) {
|
||||
Facet[] facets = FacetManager.getInstance(module).getAllFacets();
|
||||
for (Facet facet : facets) {
|
||||
if (facet instanceof PythonPathContributingFacet && ((PythonPathContributingFacet)facet).acceptRootAsTopLevelPackage()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user