From 23db298e2feae380968ba4c01d4a2a3d961369fd Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Thu, 2 Jul 2020 00:34:22 +0200 Subject: [PATCH] Removed various 3.3/3.4/3.5 references --- jedi/api/classes.py | 5 ----- jedi/inference/compiled/access.py | 5 ----- jedi/inference/imports.py | 3 --- jedi/inference/value/function.py | 5 ----- jedi/parser_utils.py | 10 +--------- test/completion/pep0484_generic_mismatches.py | 1 - test/completion/pep0484_generic_parameters.py | 1 - test/completion/pep0484_generic_passthroughs.py | 1 - 8 files changed, 1 insertion(+), 30 deletions(-) diff --git a/jedi/api/classes.py b/jedi/api/classes.py index 4e0d2635..7edcd2ea 100644 --- a/jedi/api/classes.py +++ b/jedi/api/classes.py @@ -14,7 +14,6 @@ These classes are the much biggest part of the API, because they contain the interesting information about all operations. """ import re -import sys import warnings from parso.python.tree import search_ancestor @@ -918,8 +917,4 @@ class ParamName(Name): :rtype: :py:attr:`inspect.Parameter.kind` """ - if sys.version_info < (3, 5): - raise NotImplementedError( - 'Python 2 is end-of-life, the new feature is not available for it' - ) return self._name.get_kind() diff --git a/jedi/inference/compiled/access.py b/jedi/inference/compiled/access.py index a02b548b..98331e7c 100644 --- a/jedi/inference/compiled/access.py +++ b/jedi/inference/compiled/access.py @@ -464,9 +464,6 @@ class DirectObjectAccess(object): """ Returns Tuple[Optional[str], Tuple[AccessPath, ...]] """ - if sys.version_info < (3, 5): - return None, () - name = None args = () if safe_getattr(self._obj, '__module__', default='') == 'typing': @@ -505,8 +502,6 @@ class DirectObjectAccess(object): def _get_signature(self): obj = self._obj - if py_version < 33: - raise ValueError("inspect.signature was introduced in 3.3") try: return inspect.signature(obj) except (RuntimeError, TypeError): diff --git a/jedi/inference/imports.py b/jedi/inference/imports.py index 8eca36ab..cd2acbd6 100644 --- a/jedi/inference/imports.py +++ b/jedi/inference/imports.py @@ -5,9 +5,6 @@ not any actual importing done. This module is about finding modules in the filesystem. This can be quite tricky sometimes, because Python imports are not always that simple. -This module uses imp for python up to 3.2 and importlib for python 3.3 on; the -correct implementation is delegated to _compatibility. - This module also supports import autocompletion, which means to complete statements like ``from datetim`` (cursor at the end would return ``datetime``). """ diff --git a/jedi/inference/value/function.py b/jedi/inference/value/function.py index 7513c6a9..6736c40b 100644 --- a/jedi/inference/value/function.py +++ b/jedi/inference/value/function.py @@ -330,8 +330,6 @@ class BaseFunctionExecutionContext(ValueContext, TreeContextMixin): if is_coroutine: if self.is_generator(): - if inference_state.environment.version_info < (3, 6): - return NO_VALUES async_generator_classes = inference_state.typing_module \ .py__getattribute__('AsyncGenerator') @@ -339,13 +337,10 @@ class BaseFunctionExecutionContext(ValueContext, TreeContextMixin): # The contravariant doesn't seem to be defined. generics = (yield_values.py__class__(), NO_VALUES) return ValueSet( - # In Python 3.6 AsyncGenerator is still a class. GenericClass(c, TupleGenericManager(generics)) for c in async_generator_classes ).execute_annotation() else: - if inference_state.environment.version_info < (3, 5): - return NO_VALUES async_classes = inference_state.typing_module.py__getattribute__('Coroutine') return_values = self.get_return_values() # Only the first generic is relevant. diff --git a/jedi/parser_utils.py b/jedi/parser_utils.py index ff412e13..bfacb590 100644 --- a/jedi/parser_utils.py +++ b/jedi/parser_utils.py @@ -131,15 +131,7 @@ def safe_literal_eval(value): # manually, but that's right now not implemented. return '' - try: - return literal_eval(value) - except SyntaxError: - # It's possible to create syntax errors with literals like rb'' in - # Python 2. This should not be possible and in that case just return an - # empty string. - # Before Python 3.3 there was a more strict definition in which order - # you could define literals. - return '' + return literal_eval(value) def get_signature(funcdef, width=72, call_string=None, diff --git a/test/completion/pep0484_generic_mismatches.py b/test/completion/pep0484_generic_mismatches.py index c848dd10..6f765c99 100644 --- a/test/completion/pep0484_generic_mismatches.py +++ b/test/completion/pep0484_generic_mismatches.py @@ -1,4 +1,3 @@ -# python >= 3.4 import typing from typing import ( Callable, diff --git a/test/completion/pep0484_generic_parameters.py b/test/completion/pep0484_generic_parameters.py index cbbc4537..0be4e9cb 100644 --- a/test/completion/pep0484_generic_parameters.py +++ b/test/completion/pep0484_generic_parameters.py @@ -1,4 +1,3 @@ -# python >= 3.4 from typing import ( Callable, Dict, diff --git a/test/completion/pep0484_generic_passthroughs.py b/test/completion/pep0484_generic_passthroughs.py index 63692051..49b133a8 100644 --- a/test/completion/pep0484_generic_passthroughs.py +++ b/test/completion/pep0484_generic_passthroughs.py @@ -1,4 +1,3 @@ -# python >= 3.4 from typing import ( Any, Callable,