forked from VimPlug/jedi
Don't use the create function anymore in compiled
Now the whole creation of builtin objects is abstract and was moved to subprocesses etc.
This commit is contained in:
@@ -5,9 +5,16 @@ TODO Some parts of this module are still not well documented.
|
||||
from jedi.evaluate.context import ModuleContext
|
||||
from jedi.evaluate import compiled
|
||||
from jedi.evaluate.compiled import mixed
|
||||
from jedi.evaluate.compiled.access import create_access_path
|
||||
from jedi.evaluate.base_context import Context
|
||||
|
||||
|
||||
def _create(evaluator, obj):
|
||||
return compiled.create_from_access_path(
|
||||
evaluator, create_access_path(evaluator, obj)
|
||||
)
|
||||
|
||||
|
||||
class NamespaceObject(object):
|
||||
def __init__(self, dct):
|
||||
self.__dict__ = dct
|
||||
@@ -33,7 +40,7 @@ class MixedModuleContext(Context):
|
||||
yield filter
|
||||
|
||||
for namespace_obj in self._namespace_objects:
|
||||
compiled_object = compiled.create(self.evaluator, namespace_obj)
|
||||
compiled_object = _create(self.evaluator, namespace_obj)
|
||||
mixed_object = mixed.MixedObject(
|
||||
self.evaluator,
|
||||
parent_context=self,
|
||||
|
||||
@@ -16,12 +16,9 @@ def create_simple_object(evaluator, obj):
|
||||
versions.
|
||||
"""
|
||||
assert isinstance(obj, (int, float, str, bytes, slice, complex, type(Ellipsis)))
|
||||
return create(evaluator, obj)
|
||||
|
||||
|
||||
def create(evaluator, obj):
|
||||
return create_from_access_path(
|
||||
evaluator, access.create_access_path(evaluator, obj)
|
||||
evaluator,
|
||||
evaluator.compiled_subprocess.create_simple_object(obj)
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -17,3 +17,7 @@ def get_compiled_method_return(evaluator, id, attribute, *args, **kwargs):
|
||||
|
||||
def get_special_object(evaluator, identifier):
|
||||
return access.get_special_object(evaluator, identifier)
|
||||
|
||||
|
||||
def create_simple_object(evaluator, obj):
|
||||
return access.create_access_path(evaluator, obj)
|
||||
|
||||
@@ -9,11 +9,12 @@ from jedi.evaluate.context.function import FunctionContext
|
||||
from jedi.evaluate import Evaluator
|
||||
from jedi.evaluate.project import Project
|
||||
from jedi.parser_utils import clean_scope_docstring
|
||||
from jedi.api import interpreter
|
||||
from jedi import Script
|
||||
|
||||
|
||||
def test_simple(evaluator):
|
||||
obj = compiled.create(evaluator, '_str_')
|
||||
obj = compiled.create_simple_object(evaluator, '_str_')
|
||||
upper, = obj.py__getattribute__('upper')
|
||||
objs = list(upper.execute_evaluated())
|
||||
assert len(objs) == 1
|
||||
@@ -28,7 +29,7 @@ def test_fake_loading(evaluator):
|
||||
|
||||
|
||||
def test_fake_docstr(evaluator):
|
||||
next_ = compiled.create(evaluator, next)
|
||||
next_ = interpreter._create(evaluator, next)
|
||||
assert next_.py__doc__()
|
||||
assert next_.tree_node is not None
|
||||
assert next_.py__doc__() == next.__doc__
|
||||
@@ -48,7 +49,7 @@ def test_doc(evaluator):
|
||||
Even CompiledObject docs always return empty docstrings - not None, that's
|
||||
just a Jedi API definition.
|
||||
"""
|
||||
obj = compiled.create(evaluator, ''.__getnewargs__)
|
||||
obj = interpreter._create(evaluator, ''.__getnewargs__)
|
||||
assert obj.py__doc__() == ''
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user