From 445132d8981a9a252da822b62d0ed93c86a3bc38 Mon Sep 17 00:00:00 2001 From: David Halter Date: Sat, 29 Sep 2012 18:40:09 +0200 Subject: [PATCH] dynamic param completion works now better with subcalls of statements --- jedi/dynamic.py | 6 +++++- test/completion/dynamic.py | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/jedi/dynamic.py b/jedi/dynamic.py index 3f9da09c..23671256 100644 --- a/jedi/dynamic.py +++ b/jedi/dynamic.py @@ -119,7 +119,11 @@ def search_params(param): for stmt in possible_stmts: if not isinstance(stmt, parsing.Import): - evaluate.follow_statement(stmt) + calls = _scan_array(stmt.get_assignment_calls(), func_name) + for c in calls: + # no execution means that params cannot be set + if c.execution: + evaluate.follow_call(c) return listener.param_possibilities result = [] diff --git a/test/completion/dynamic.py b/test/completion/dynamic.py index 1e2ef705..407273b9 100644 --- a/test/completion/dynamic.py +++ b/test/completion/dynamic.py @@ -25,6 +25,10 @@ def func(a): #? return a +def func(a): + #? float() + return a +str(func(1.0)) # ----------------- # *args, **args