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.context import ModuleContext
|
||||||
from jedi.evaluate import compiled
|
from jedi.evaluate import compiled
|
||||||
from jedi.evaluate.compiled import mixed
|
from jedi.evaluate.compiled import mixed
|
||||||
|
from jedi.evaluate.compiled.access import create_access_path
|
||||||
from jedi.evaluate.base_context import Context
|
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):
|
class NamespaceObject(object):
|
||||||
def __init__(self, dct):
|
def __init__(self, dct):
|
||||||
self.__dict__ = dct
|
self.__dict__ = dct
|
||||||
@@ -33,7 +40,7 @@ class MixedModuleContext(Context):
|
|||||||
yield filter
|
yield filter
|
||||||
|
|
||||||
for namespace_obj in self._namespace_objects:
|
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(
|
mixed_object = mixed.MixedObject(
|
||||||
self.evaluator,
|
self.evaluator,
|
||||||
parent_context=self,
|
parent_context=self,
|
||||||
|
|||||||
@@ -16,12 +16,9 @@ def create_simple_object(evaluator, obj):
|
|||||||
versions.
|
versions.
|
||||||
"""
|
"""
|
||||||
assert isinstance(obj, (int, float, str, bytes, slice, complex, type(Ellipsis)))
|
assert isinstance(obj, (int, float, str, bytes, slice, complex, type(Ellipsis)))
|
||||||
return create(evaluator, obj)
|
|
||||||
|
|
||||||
|
|
||||||
def create(evaluator, obj):
|
|
||||||
return create_from_access_path(
|
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):
|
def get_special_object(evaluator, identifier):
|
||||||
return access.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 import Evaluator
|
||||||
from jedi.evaluate.project import Project
|
from jedi.evaluate.project import Project
|
||||||
from jedi.parser_utils import clean_scope_docstring
|
from jedi.parser_utils import clean_scope_docstring
|
||||||
|
from jedi.api import interpreter
|
||||||
from jedi import Script
|
from jedi import Script
|
||||||
|
|
||||||
|
|
||||||
def test_simple(evaluator):
|
def test_simple(evaluator):
|
||||||
obj = compiled.create(evaluator, '_str_')
|
obj = compiled.create_simple_object(evaluator, '_str_')
|
||||||
upper, = obj.py__getattribute__('upper')
|
upper, = obj.py__getattribute__('upper')
|
||||||
objs = list(upper.execute_evaluated())
|
objs = list(upper.execute_evaluated())
|
||||||
assert len(objs) == 1
|
assert len(objs) == 1
|
||||||
@@ -28,7 +29,7 @@ def test_fake_loading(evaluator):
|
|||||||
|
|
||||||
|
|
||||||
def test_fake_docstr(evaluator):
|
def test_fake_docstr(evaluator):
|
||||||
next_ = compiled.create(evaluator, next)
|
next_ = interpreter._create(evaluator, next)
|
||||||
assert next_.py__doc__()
|
assert next_.py__doc__()
|
||||||
assert next_.tree_node is not None
|
assert next_.tree_node is not None
|
||||||
assert next_.py__doc__() == next.__doc__
|
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
|
Even CompiledObject docs always return empty docstrings - not None, that's
|
||||||
just a Jedi API definition.
|
just a Jedi API definition.
|
||||||
"""
|
"""
|
||||||
obj = compiled.create(evaluator, ''.__getnewargs__)
|
obj = interpreter._create(evaluator, ''.__getnewargs__)
|
||||||
assert obj.py__doc__() == ''
|
assert obj.py__doc__() == ''
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user