diff --git a/jedi/_compatibility.py b/jedi/_compatibility.py index 13f9f504..e33a38f9 100644 --- a/jedi/_compatibility.py +++ b/jedi/_compatibility.py @@ -198,12 +198,6 @@ def force_unicode(obj): return cast_path(obj) -try: - import builtins # module name in python 3 -except ImportError: - import __builtin__ as builtins # noqa: F401 - - def utf8_repr(func): """ ``__repr__`` methods in Python 2 don't allow unicode objects to be diff --git a/jedi/api/__init__.py b/jedi/api/__init__.py index ab069c98..37e5370d 100644 --- a/jedi/api/__init__.py +++ b/jedi/api/__init__.py @@ -242,7 +242,7 @@ class Script(object): code_lines=self._code_lines, is_package=is_package, ) - if names[0] not in ('builtins', '__builtin__', 'typing'): + if names[0] not in ('builtins', 'typing'): # These modules are essential for Jedi, so don't overwrite them. self._inference_state.module_cache.add(names, ValueSet([module])) return module diff --git a/jedi/api/classes.py b/jedi/api/classes.py index 7231fcd0..1266bfd9 100644 --- a/jedi/api/classes.py +++ b/jedi/api/classes.py @@ -70,7 +70,6 @@ class BaseName(object): '_collections': 'collections', '_socket': 'socket', '_sqlite3': 'sqlite3', - '__builtin__': 'builtins', } _tuple_mapping = dict((tuple(k.split('.')), v) for (k, v) in { diff --git a/jedi/inference/__init__.py b/jedi/inference/__init__.py index dbefc52a..c1c0047c 100644 --- a/jedi/inference/__init__.py +++ b/jedi/inference/__init__.py @@ -124,8 +124,6 @@ class InferenceState(object): @inference_state_function_cache() def builtins_module(self): module_name = u'builtins' - if self.environment.version_info.major == 2: - module_name = u'__builtin__' builtins_module, = self.import_module((module_name,), sys_path=()) return builtins_module diff --git a/jedi/inference/compiled/access.py b/jedi/inference/compiled/access.py index 98331e7c..8dcf437a 100644 --- a/jedi/inference/compiled/access.py +++ b/jedi/inference/compiled/access.py @@ -6,9 +6,9 @@ import operator as op from collections import namedtuple import warnings import re +import builtins -from jedi._compatibility import unicode, is_py3, builtins, \ - py_version, force_unicode +from jedi._compatibility import unicode, is_py3, py_version, force_unicode from jedi.inference.compiled.getattr_static import getattr_static ALLOWED_GETITEM_TYPES = (str, list, tuple, unicode, bytes, bytearray, dict) @@ -267,19 +267,17 @@ class DirectObjectAccess(object): @_force_unicode_decorator @shorten_repr def get_repr(self): - builtins = 'builtins', '__builtin__' - if inspect.ismodule(self._obj): return repr(self._obj) # Try to avoid execution of the property. - if safe_getattr(self._obj, '__module__', default='') in builtins: + if safe_getattr(self._obj, '__module__', default='') == 'builtins': return repr(self._obj) type_ = type(self._obj) if type_ == type: return type.__repr__(self._obj) - if safe_getattr(type_, '__module__', default='') in builtins: + if safe_getattr(type_, '__module__', default='') == 'builtins': # Allow direct execution of repr for builtins. return repr(self._obj) return object.__repr__(self._obj) diff --git a/jedi/inference/gradual/typing.py b/jedi/inference/gradual/typing.py index e3a95009..94f87ede 100644 --- a/jedi/inference/gradual/typing.py +++ b/jedi/inference/gradual/typing.py @@ -263,8 +263,6 @@ class TypeAlias(LazyValueWrapper): def _get_wrapped_value(self): module_name, class_name = self._actual.split('.') - if self.inference_state.environment.version_info.major == 2 and module_name == 'builtins': - module_name = '__builtin__' # TODO use inference_state.import_module? from jedi.inference.imports import Importer diff --git a/test/test_api/test_keyword.py b/test/test_api/test_keyword.py index 3e5b9344..e6cd0a56 100644 --- a/test/test_api/test_keyword.py +++ b/test/test_api/test_keyword.py @@ -45,7 +45,7 @@ def test_keyword_attributes(Script): assert def_.full_name is None assert def_.line is def_.column is None assert def_.in_builtin_module() is True - assert def_.module_name in ('builtins', '__builtin__') + assert def_.module_name == 'builtins' assert 'typeshed' in def_.module_path assert def_.type == 'keyword' diff --git a/test/test_inference/test_compiled.py b/test/test_inference/test_compiled.py index 92111b2a..125d4137 100644 --- a/test/test_inference/test_compiled.py +++ b/test/test_inference/test_compiled.py @@ -142,8 +142,6 @@ def test_parent_context(same_process_inference_state, attribute, expected_name, x, = o.py__getattribute__(attribute) assert x.py__name__() == expected_name module_name = x.parent_context.py__name__() - if module_name == '__builtin__': - module_name = 'builtins' # Python 2 assert module_name == expected_parent assert x.parent_context.parent_context is None diff --git a/test/test_inference/test_imports.py b/test/test_inference/test_imports.py index f5097f21..60b4fc08 100644 --- a/test/test_inference/test_imports.py +++ b/test/test_inference/test_imports.py @@ -432,9 +432,6 @@ def test_import_name_calculation(Script): @pytest.mark.parametrize('name', ('builtins', 'typing')) def test_pre_defined_imports_module(Script, environment, name): - if environment.version_info.major < 3 and name == 'builtins': - name = '__builtin__' - path = os.path.join(root_dir, name + '.py') module = Script('', path=path)._get_module_context() assert module.string_names == (name,) @@ -445,9 +442,6 @@ def test_pre_defined_imports_module(Script, environment, name): @pytest.mark.parametrize('name', ('builtins', 'typing')) def test_import_needed_modules_by_jedi(Script, environment, tmpdir, name): - if environment.version_info.major < 3 and name == 'builtins': - name = '__builtin__' - module_path = tmpdir.join(name + '.py') module_path.write('int = ...') script = Script(