From 5a54d94aa59cf84ef0e18bfd31d10895945ab735 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Fri, 27 Dec 2019 10:36:13 +0100 Subject: [PATCH] Make sure that infering params is possible from the API --- jedi/inference/__init__.py | 2 ++ test/completion/basic.py | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/jedi/inference/__init__.py b/jedi/inference/__init__.py index e3c2db7a..42d5c56a 100644 --- a/jedi/inference/__init__.py +++ b/jedi/inference/__init__.py @@ -169,6 +169,8 @@ class InferenceState(object): return imports.infer_import(context, name) if type_ == 'with_stmt': return tree_name_to_values(self, context, name) + elif type_ == 'param': + return context.py__getattribute__(name.value, position=name.end_pos) else: result = follow_error_node_imports_if_possible(context, name) if result is not None: diff --git a/test/completion/basic.py b/test/completion/basic.py index a74ca81c..979f4f42 100644 --- a/test/completion/basic.py +++ b/test/completion/basic.py @@ -299,6 +299,25 @@ except MyException as e: for x in e.my_attr: pass +# ----------------- +# params +# ----------------- + +my_param = 1 +#? 9 str() +def foo1(my_param): + my_param = 3.0 +foo1("") + +my_type = float() +#? 20 float() +def foo2(my_param: my_type): + pass +foo2("") +#? 20 int() +def foo3(my_param=my_param): + pass +foo3("") # ----------------- # continuations