From 9341df11bfc65b6f1b8917e2c83cd81af9d6fc17 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Wed, 4 Jan 2017 22:24:25 +0100 Subject: [PATCH] Fix the issues that were changed by removing start_pos from the api classes. --- jedi/api/classes.py | 7 ++++--- test/test_api/test_api.py | 8 ++++---- test/test_api/test_classes.py | 2 +- test/test_api/test_interpreter.py | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/jedi/api/classes.py b/jedi/api/classes.py index dc95f2e2..890c8bed 100644 --- a/jedi/api/classes.py +++ b/jedi/api/classes.py @@ -211,7 +211,7 @@ class BaseDefinition(object): start_pos = self._name.start_pos if start_pos is None: return None - return start_pos[0] + return start_pos[1] def docstring(self, raw=False, fast=True): r""" @@ -558,8 +558,9 @@ class Definition(BaseDefinition): :rtype: list of Definition """ defs = self._name.infer() - return _sort_names_by_start_pos( - common.unite(defined_names(self._evaluator, d) for d in defs) + return sorted( + common.unite(defined_names(self._evaluator, d) for d in defs), + key=lambda s: s._name.start_pos or (0, 0) ) def is_definition(self): diff --git a/test/test_api/test_api.py b/test/test_api/test_api.py index 34c53bd6..08e75470 100644 --- a/test/test_api/test_api.py +++ b/test/test_api/test_api.py @@ -177,18 +177,18 @@ def test_goto_assignments_follow_imports(): inspect.isfunction""") definition, = api.Script(code, column=0).goto_assignments(follow_imports=True) assert 'inspect.py' in definition.module_path - assert definition.start_pos == (1, 0) + assert (definition.line, definition.column) == (1, 0) definition, = api.Script(code).goto_assignments(follow_imports=True) assert 'inspect.py' in definition.module_path - assert definition.start_pos > (1, 0) + assert (definition.line, definition.column) > (1, 0) code = '''def param(p): pass\nparam(1)''' start_pos = 1, len('def param(') script = api.Script(code, *start_pos) definition, = script.goto_assignments(follow_imports=True) - assert definition.start_pos == start_pos + assert (definition.line, definition.column) == start_pos assert definition.name == 'p' result, = definition.goto_assignments() assert result.name == 'p' @@ -198,4 +198,4 @@ def test_goto_assignments_follow_imports(): assert result.name == 'int' definition, = script.goto_assignments() - assert definition.start_pos == start_pos + assert (definition.line, definition.column) == start_pos diff --git a/test/test_api/test_classes.py b/test/test_api/test_classes.py index a4a27eaf..526ce47b 100644 --- a/test/test_api/test_classes.py +++ b/test/test_api/test_classes.py @@ -272,7 +272,7 @@ class TestGotoAssignments(TestCase): """ bar = names(dedent(src), references=True)[-1] param = bar.goto_assignments()[0] - assert param.start_pos == (1, 13) + assert (param.line, param.column) == (1, 13) assert param.type == 'param' def test_class_call(self): diff --git a/test/test_api/test_interpreter.py b/test/test_api/test_interpreter.py index f340797c..a068a828 100644 --- a/test/test_api/test_interpreter.py +++ b/test/test_api/test_interpreter.py @@ -48,7 +48,7 @@ def test_nested_resolve(): cls = get_completion('XX', locals()) func = get_completion('XX.x', locals()) - assert func.start_pos == (cls.start_pos[0] + 1, 12) + assert (func.line, func.column) == (cls.line + 1, 12) def test_side_effect_completion():