From ebdae878214e0e0092ba4d623936c52037940eec Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Mon, 24 Jun 2019 01:25:26 +0200 Subject: [PATCH] goto should always goto definitions, fixes #1304 --- jedi/evaluate/__init__.py | 4 ++-- test/completion/goto.py | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/jedi/evaluate/__init__.py b/jedi/evaluate/__init__.py index 2ad747ee..c86ff21b 100644 --- a/jedi/evaluate/__init__.py +++ b/jedi/evaluate/__init__.py @@ -318,11 +318,11 @@ class Evaluator(object): return [TreeNameDefinition(context, name)] elif type_ == 'param': return [ParamName(context, name)] - elif type_ in ('funcdef', 'classdef'): - return [TreeNameDefinition(context, name)] elif type_ in ('import_from', 'import_name'): module_names = imports.infer_import(context, name, is_goto=True) return module_names + else: + return [TreeNameDefinition(context, name)] else: contexts = self._follow_error_node_imports_if_possible(context, name) if contexts is not None: diff --git a/test/completion/goto.py b/test/completion/goto.py index f0889712..6a51c9b0 100644 --- a/test/completion/goto.py +++ b/test/completion/goto.py @@ -203,9 +203,10 @@ for key, value in [(1,2)]: #! ['for key, value in [(1,2)]: key'] key -for i in []: - #! ['for i in []: i'] - i +#! 4 ['for y in [1]: y'] +for y in [1]: + #! ['for y in [1]: y'] + y # ----------------- # decorator