From e18c8200dd4aceba2c3913abb8562f163ceedc80 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Mon, 11 Jul 2016 17:32:00 +0200 Subject: [PATCH] Fixed an issue with error nodes and completion in more complex settings. --- jedi/evaluate/helpers.py | 7 ++++++- test/completion/imports.py | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/jedi/evaluate/helpers.py b/jedi/evaluate/helpers.py index 321006aa..b13e8dcb 100644 --- a/jedi/evaluate/helpers.py +++ b/jedi/evaluate/helpers.py @@ -102,7 +102,12 @@ def call_of_leaf(leaf, cut_own_trailer=False): power.children[cut:] = [] if power.type == 'error_node': - transformed = tree.Node('power', power.children) + start = index + while True: + start -= 1 + if power.children[start].type != 'trailer': + break + transformed = tree.Node('power', power.children[start:]) transformed.parent = power.parent return transformed diff --git a/test/completion/imports.py b/test/completion/imports.py index e373027a..246b91e5 100644 --- a/test/completion/imports.py +++ b/test/completion/imports.py @@ -49,6 +49,8 @@ def scope_nested(): #? float() import_tree.pkg.mod1.a + #? ['a', '__name__', '__package__', '__file__', '__doc__'] + a = import_tree.pkg.mod1. import import_tree.random #? set