From 378712dbc130e5e87aea34b3195ac9328d2fdce9 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sun, 1 Dec 2019 11:07:18 +0100 Subject: [PATCH] Fix contextualizing of subscriptlist --- jedi/inference/syntax_tree.py | 7 ++++++- test/completion/dynamic_arrays.py | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/jedi/inference/syntax_tree.py b/jedi/inference/syntax_tree.py index ea815c9c..3f2f8107 100644 --- a/jedi/inference/syntax_tree.py +++ b/jedi/inference/syntax_tree.py @@ -406,7 +406,7 @@ def _infer_expr_stmt(context, stmt, seek_name=None): if is_setitem: def to_mod(v): - c = ContextualizedNode(context, subscriptlist) + c = ContextualizedSubscriptListNode(context, subscriptlist) if v.array_type == 'dict': return DictModification(v, value_set, c) elif v.array_type == 'list': @@ -803,6 +803,11 @@ def check_tuple_assignments(name, value_set): return value_set +class ContextualizedSubscriptListNode(ContextualizedNode): + def infer(self): + return _infer_subscript_list(self.context, self.node) + + def _infer_subscript_list(context, index): """ Handles slices in subscript nodes. diff --git a/test/completion/dynamic_arrays.py b/test/completion/dynamic_arrays.py index b3ce312b..b0ac69ee 100644 --- a/test/completion/dynamic_arrays.py +++ b/test/completion/dynamic_arrays.py @@ -335,6 +335,11 @@ some_lst2[3] #? int() str() some_lst2[2] +some_lst3 = [] +some_lst3[0] = 3 +some_lst3[:] = '' # Is ignored for now. +#? int() +some_lst3[0] # ----------------- # set setitem/other modifications (should not work) # -----------------