1
0
forked from VimPlug/jedi

memoize_default should always take a first argument

This commit is contained in:
Dave Halter
2013-12-24 18:06:15 +01:00
parent 56457a9c8c
commit 066056fb2b
3 changed files with 12 additions and 12 deletions

View File

@@ -81,7 +81,7 @@ def clear_caches(delete_all=False):
del tc[key]
def memoize_default(default=None, cache=memoize_caches):
def memoize_default(default, cache=memoize_caches):
""" This is a typical memoization decorator, BUT there is one difference:
To prevent recursion it sets defaults.
@@ -111,7 +111,7 @@ class CachedMetaClass(type):
caches class initializations. I haven't found any other way, so I do it
with meta classes.
"""
@memoize_default()
@memoize_default(None)
def __call__(self, *args, **kwargs):
return super(CachedMetaClass, self).__call__(*args, **kwargs)

View File

@@ -32,7 +32,7 @@ DOCSTRING_RETURN_PATTERNS = [
REST_ROLE_PATTERN = re.compile(r':[^`]+:`([^`]+)`')
@cache.memoize_default()
@cache.memoize_default(None)
def follow_param(param):
func = param.parent_function
# print func, param, param.parent_function

View File

@@ -72,7 +72,7 @@ class Instance(use_metaclass(cache.CachedMetaClass, Executable)):
# (No var_args) used.
self.is_generated = False
@cache.memoize_default()
@cache.memoize_default(None)
def _get_method_execution(self, func):
func = InstanceElement(self, func, True)
return Execution(func, self.var_args)
@@ -205,7 +205,7 @@ class InstanceElement(use_metaclass(cache.CachedMetaClass, pr.Base)):
self.is_class_var = is_class_var
@property
@cache.memoize_default()
@cache.memoize_default(None)
def parent(self):
par = self.var.parent
if isinstance(par, Class) and par == self.instance.base \
@@ -330,7 +330,7 @@ class Function(use_metaclass(cache.CachedMetaClass, pr.IsScope)):
self.base_func = func
self.is_decorated = is_decorated
@cache.memoize_default()
@cache.memoize_default(None)
def _decorated_func(self, instance=None):
"""
Returns the function, that is to be executed in the end.
@@ -420,7 +420,7 @@ class Execution(Executable):
return [stmt] # just some arbitrary object
@property
@cache.memoize_default()
@cache.memoize_default(None)
def _decorated(self):
"""Get the decorated version of the input"""
base = self.base
@@ -736,7 +736,7 @@ class Execution(Executable):
raise AttributeError('Tried to access %s: %s. Why?' % (name, self))
return getattr(self._decorated, name)
@cache.memoize_default()
@cache.memoize_default(None)
@common.rethrow_uncaught
def _scope_copy(self, scope):
""" Copies a scope (e.g. if) in an execution """
@@ -752,22 +752,22 @@ class Execution(Executable):
return copied
@property
@cache.memoize_default()
@cache.memoize_default([])
def returns(self):
return self._copy_properties('returns')
@property
@cache.memoize_default()
@cache.memoize_default([])
def asserts(self):
return self._copy_properties('asserts')
@property
@cache.memoize_default()
@cache.memoize_default([])
def statements(self):
return self._copy_properties('statements')
@property
@cache.memoize_default()
@cache.memoize_default([])
def subscopes(self):
return self._copy_properties('subscopes')