Fix a recursion on imports, fixes #1677

This commit is contained in:
Dave Halter
2020-10-23 21:04:36 +02:00
parent e671a0cb6d
commit bf310c780c
5 changed files with 18 additions and 0 deletions

View File

@@ -7,6 +7,7 @@ from parso.tree import search_ancestor
from jedi.parser_utils import find_statement_documentation, clean_scope_docstring from jedi.parser_utils import find_statement_documentation, clean_scope_docstring
from jedi.inference.utils import unite from jedi.inference.utils import unite
from jedi.inference.base_value import ValueSet, NO_VALUES from jedi.inference.base_value import ValueSet, NO_VALUES
from jedi.inference.cache import inference_state_method_cache
from jedi.inference import docstrings from jedi.inference import docstrings
from jedi.cache import memoize_method from jedi.cache import memoize_method
from jedi.inference.helpers import deep_ast_copy, infer_call_of_leaf from jedi.inference.helpers import deep_ast_copy, infer_call_of_leaf
@@ -331,6 +332,12 @@ class TreeNameDefinition(AbstractTreeName):
node = node.parent node = node.parent
return indexes return indexes
@property
def inference_state(self):
# Used by the cache function below
return self.parent_context.inference_state
@inference_state_method_cache(default='')
def py__doc__(self): def py__doc__(self):
api_type = self.api_type api_type = self.api_type
if api_type in ('function', 'class'): if api_type in ('function', 'class'):

View File

@@ -0,0 +1 @@
from .cq import selectors

View File

@@ -0,0 +1 @@
from . import selectors

View File

@@ -0,0 +1,3 @@
import cadquery_simple as cq
cq.

View File

@@ -468,3 +468,9 @@ def test_relative_import_star(Script):
script = Script(source, path='export.py') script = Script(source, path='export.py')
assert script.complete(3, len("furl.c")) assert script.complete(3, len("furl.c"))
def test_import_recursion(Script):
path = get_example_dir('import-recursion', "cq_example.py")
for c in Script(path=path).complete(3, 3):
c.docstring()