1
0
forked from VimPlug/jedi

Fix some interpreter issues

This commit is contained in:
Dave Halter
2019-08-20 09:09:19 +02:00
parent 217b632213
commit 39b294e085
15 changed files with 83 additions and 50 deletions

View File

@@ -2,11 +2,10 @@
TODO Some parts of this module are still not well documented.
"""
from jedi.inference.value import ModuleValue
from jedi.inference import compiled
from jedi.inference.compiled import mixed
from jedi.inference.compiled.access import create_access_path
from jedi.inference.base_value import ValueWrapper
from jedi.inference.context import ModuleContext
def _create(inference_state, obj):
@@ -20,28 +19,20 @@ class NamespaceObject(object):
self.__dict__ = dct
class MixedModuleValue(ValueWrapper):
type = 'mixed_module'
def __init__(self, inference_state, tree_module, namespaces, file_io, code_lines):
module_value = ModuleValue(
inference_state, tree_module,
file_io=file_io,
string_names=('__main__',),
code_lines=code_lines
)
super(MixedModuleValue, self).__init__(module_value)
class MixedModuleContext(ModuleContext):
def __init__(self, tree_module_value, namespaces):
super(MixedModuleContext, self).__init__(tree_module_value)
self._namespace_objects = [NamespaceObject(n) for n in namespaces]
def get_filters(self, *args, **kwargs):
for filter in self._wrapped_value.get_filters(*args, **kwargs):
for filter in self._value.as_context().get_filters(*args, **kwargs):
yield filter
for namespace_obj in self._namespace_objects:
compiled_object = _create(self.inference_state, namespace_obj)
mixed_object = mixed.MixedObject(
compiled_object=compiled_object,
tree_value=self._wrapped_value
tree_value=self._value
)
for filter in mixed_object.get_filters(*args, **kwargs):
yield filter