1
0
forked from VimPlug/jedi

Don't catch IndexError where we don't have to

This commit is contained in:
Dave Halter
2018-04-20 01:46:14 +02:00
parent 5f37d08761
commit 88243d2408
5 changed files with 51 additions and 10 deletions

View File

@@ -9,7 +9,6 @@ from parso.python import tree
from jedi._compatibility import unicode
from jedi.parser_utils import get_parent_scope
from jedi.evaluate.compiled import CompiledObject
def is_stdlib_path(path):
@@ -184,6 +183,7 @@ def predefine_names(context, flow_scope, dct):
def is_compiled(context):
from jedi.evaluate.compiled import CompiledObject
return isinstance(context, CompiledObject)
@@ -212,3 +212,24 @@ def get_int_or_none(context):
def is_number(context):
return _get_safe_value_or_none(context, (int, float)) is not None
class EvaluatorTypeError(Exception):
pass
class EvaluatorIndexError(Exception):
pass
class EvaluatorKeyError(Exception):
pass
@contextmanager
def reraise_as_evaluator(*exception_classes):
try:
yield
except exception_classes as e:
new_exc_cls = globals()['Evaluator' + e.__class__.__name__]
raise new_exc_cls(e)