forked from VimPlug/jedi
memoize_default is now able to use different caches.
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
# memoize caches will be deleted after every action
|
||||||
memoize_caches = []
|
memoize_caches = []
|
||||||
|
|
||||||
|
|
||||||
@@ -13,7 +14,7 @@ def clear_caches():
|
|||||||
m.clear()
|
m.clear()
|
||||||
|
|
||||||
|
|
||||||
def memoize_default(default=None):
|
def memoize_default(default=None, cache=memoize_caches):
|
||||||
""" This is a typical memoization decorator, BUT there is one difference:
|
""" This is a typical memoization decorator, BUT there is one difference:
|
||||||
To prevent recursion it sets defaults.
|
To prevent recursion it sets defaults.
|
||||||
|
|
||||||
@@ -23,7 +24,7 @@ def memoize_default(default=None):
|
|||||||
"""
|
"""
|
||||||
def func(function):
|
def func(function):
|
||||||
memo = {}
|
memo = {}
|
||||||
memoize_caches.append(memo)
|
cache.append(memo)
|
||||||
|
|
||||||
def wrapper(*args, **kwargs):
|
def wrapper(*args, **kwargs):
|
||||||
key = (args, frozenset(kwargs.items()))
|
key = (args, frozenset(kwargs.items()))
|
||||||
|
|||||||
Reference in New Issue
Block a user