forked from VimPlug/jedi
Fix interpreter issues with modules
This commit is contained in:
@@ -27,11 +27,11 @@ class MixedModuleContext(Context):
|
|||||||
self.evaluator = evaluator
|
self.evaluator = evaluator
|
||||||
self._namespaces = namespaces
|
self._namespaces = namespaces
|
||||||
|
|
||||||
raise NotImplementedError("module names")
|
|
||||||
self._namespace_objects = [NamespaceObject(n) for n in namespaces]
|
self._namespace_objects = [NamespaceObject(n) for n in namespaces]
|
||||||
self._module_context = ModuleContext(
|
self._module_context = ModuleContext(
|
||||||
evaluator, tree_module,
|
evaluator, tree_module,
|
||||||
path=path,
|
path=path,
|
||||||
|
string_names=('__main__',),
|
||||||
code_lines=code_lines
|
code_lines=code_lines
|
||||||
)
|
)
|
||||||
self.tree_node = tree_module
|
self.tree_node = tree_module
|
||||||
|
|||||||
@@ -203,16 +203,17 @@ def _create(evaluator, access_handle, parent_context, *args):
|
|||||||
if parent_context.tree_node.get_root_node() == module_node:
|
if parent_context.tree_node.get_root_node() == module_node:
|
||||||
module_context = parent_context.get_root_context()
|
module_context = parent_context.get_root_context()
|
||||||
else:
|
else:
|
||||||
raise NotImplementedError('module misses string_names arg')
|
# TODO this __name__ is probably wrong.
|
||||||
|
name = compiled_object.get_root_context().py__name__()
|
||||||
|
string_names = tuple(name.split('.'))
|
||||||
module_context = ModuleContext(
|
module_context = ModuleContext(
|
||||||
evaluator, module_node,
|
evaluator, module_node,
|
||||||
path=path,
|
path=path,
|
||||||
|
string_names=string_names,
|
||||||
code_lines=code_lines,
|
code_lines=code_lines,
|
||||||
)
|
)
|
||||||
# TODO this __name__ is probably wrong.
|
|
||||||
name = compiled_object.get_root_context().py__name__()
|
|
||||||
if name is not None:
|
if name is not None:
|
||||||
imports.add_module_to_cache(evaluator, name, module_context)
|
evaluator.module_cache.add(string_names, ContextSet(module_context))
|
||||||
|
|
||||||
tree_context = module_context.create_context(
|
tree_context = module_context.create_context(
|
||||||
tree_node,
|
tree_node,
|
||||||
|
|||||||
@@ -151,9 +151,9 @@ def _get_paths_from_buildout_script(evaluator, buildout_script_path):
|
|||||||
return
|
return
|
||||||
|
|
||||||
from jedi.evaluate.context import ModuleContext
|
from jedi.evaluate.context import ModuleContext
|
||||||
raise NotImplementedError("No module string_names, yet")
|
|
||||||
module = ModuleContext(
|
module = ModuleContext(
|
||||||
evaluator, module_node, buildout_script_path,
|
evaluator, module_node, buildout_script_path,
|
||||||
|
string_names=None,
|
||||||
code_lines=get_cached_code_lines(evaluator.grammar, buildout_script_path),
|
code_lines=get_cached_code_lines(evaluator.grammar, buildout_script_path),
|
||||||
)
|
)
|
||||||
for path in check_sys_path_modifications(module):
|
for path in check_sys_path_modifications(module):
|
||||||
|
|||||||
Reference in New Issue
Block a user