From 24b392b9154e1038c7b816671ff78eef45d25cc4 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Mon, 26 Aug 2019 19:28:30 +0200 Subject: [PATCH] Random objects should not be affected by list/dict modifications --- jedi/inference/base_value.py | 5 ++++- test/completion/dynamic_arrays.py | 9 ++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/jedi/inference/base_value.py b/jedi/inference/base_value.py index 15ed3f33..a9d9e610 100644 --- a/jedi/inference/base_value.py +++ b/jedi/inference/base_value.py @@ -140,9 +140,12 @@ class HelperValueMixin(object): class Value(HelperValueMixin, BaseValue): """ - To be defined by subclasses. + To be implemented by subclasses. """ tree_node = None + # Possible values: None, tuple, list, dict and set. Here to deal with these + # very important containers. + array_type = None @property def api_type(self): diff --git a/test/completion/dynamic_arrays.py b/test/completion/dynamic_arrays.py index a594ed3c..ef37e2d0 100644 --- a/test/completion/dynamic_arrays.py +++ b/test/completion/dynamic_arrays.py @@ -327,7 +327,7 @@ some_lst[0] some_lst[1] # ----------------- -# set setitem (should not work) +# set setitem/other modifications (should not work) # ----------------- some_set = {int} @@ -337,6 +337,13 @@ some_set[0] #? int some_set[3] +something = object() +something[3] = str +#? +something[0] +#? +something[3] + # ----------------- # dict setitem # -----------------