diff --git a/jedi/evaluate/helpers.py b/jedi/evaluate/helpers.py index ebe9b72b7..3ac409d83 100644 --- a/jedi/evaluate/helpers.py +++ b/jedi/evaluate/helpers.py @@ -46,9 +46,13 @@ def copy_node(obj): except AttributeError: pass else: - new_obj.names_dict = new_names_dict = {} - for string, names in names_dict.items(): - new_names_dict[string] = [new_elements[n] for n in names] + try: + new_obj.names_dict = new_names_dict = {} + except AttributeError: # Impossible to set CompFor.names_dict + pass + else: + for string, names in names_dict.items(): + new_names_dict[string] = [new_elements[n] for n in names] return new_obj if obj.type == 'name': diff --git a/jedi/evaluate/representation.py b/jedi/evaluate/representation.py index 943b485ef..423bc1fdb 100644 --- a/jedi/evaluate/representation.py +++ b/jedi/evaluate/representation.py @@ -610,9 +610,7 @@ def get_return_types(self, check_yields=False): return types def names_dicts(self, search_global): - yield dict((k, [self._copy_dict[v] for v in values]) - for k, values in self.base.names_dict.items()) - #yield self.names_dict # Replace with this! + yield self.names_dict @memoize_default(default=NO_DEFAULT) def _get_params(self): diff --git a/jedi/parser/tree.py b/jedi/parser/tree.py index 8ee9a239b..061423799 100644 --- a/jedi/parser/tree.py +++ b/jedi/parser/tree.py @@ -1193,10 +1193,6 @@ def names_dict(self): arr.append(name) return dct - @names_dict.setter - def names_dict(self, value): - pass - def names_dicts(self, search_global): yield self.names_dict