From 4ca3556c3b614fd1cf135af1dc85b1b799af94f7 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sun, 16 Oct 2016 04:04:31 +0200 Subject: [PATCH] Fix the fundamentally wrong cache. --- jedi/cache.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jedi/cache.py b/jedi/cache.py index 831b8e50..81d82375 100644 --- a/jedi/cache.py +++ b/jedi/cache.py @@ -80,13 +80,13 @@ def time_cache(time_add_setting): def memoize_method(method): """A normal memoize function.""" def wrapper(self, *args, **kwargs): - dct = self.__dict__.setdefault('_memoize_method_dct', {}) + cache_dict = self.__dict__.setdefault('_memoize_method_dct', {}) + dct = cache_dict.setdefault(method, {}) key = (args, frozenset(kwargs.items())) try: return dct[key] except KeyError: result = method(self, *args, **kwargs) - # TODO THIS IS FUNDAMENTALLY WRONG, METHOD SHOULD BE INCLUDED. dct[key] = result return result return wrapper