forked from VimPlug/jedi
memoize_default should always take a first argument
This commit is contained in:
@@ -81,7 +81,7 @@ def clear_caches(delete_all=False):
|
|||||||
del tc[key]
|
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:
|
""" This is a typical memoization decorator, BUT there is one difference:
|
||||||
To prevent recursion it sets defaults.
|
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
|
caches class initializations. I haven't found any other way, so I do it
|
||||||
with meta classes.
|
with meta classes.
|
||||||
"""
|
"""
|
||||||
@memoize_default()
|
@memoize_default(None)
|
||||||
def __call__(self, *args, **kwargs):
|
def __call__(self, *args, **kwargs):
|
||||||
return super(CachedMetaClass, self).__call__(*args, **kwargs)
|
return super(CachedMetaClass, self).__call__(*args, **kwargs)
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ DOCSTRING_RETURN_PATTERNS = [
|
|||||||
REST_ROLE_PATTERN = re.compile(r':[^`]+:`([^`]+)`')
|
REST_ROLE_PATTERN = re.compile(r':[^`]+:`([^`]+)`')
|
||||||
|
|
||||||
|
|
||||||
@cache.memoize_default()
|
@cache.memoize_default(None)
|
||||||
def follow_param(param):
|
def follow_param(param):
|
||||||
func = param.parent_function
|
func = param.parent_function
|
||||||
# print func, param, param.parent_function
|
# print func, param, param.parent_function
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ class Instance(use_metaclass(cache.CachedMetaClass, Executable)):
|
|||||||
# (No var_args) used.
|
# (No var_args) used.
|
||||||
self.is_generated = False
|
self.is_generated = False
|
||||||
|
|
||||||
@cache.memoize_default()
|
@cache.memoize_default(None)
|
||||||
def _get_method_execution(self, func):
|
def _get_method_execution(self, func):
|
||||||
func = InstanceElement(self, func, True)
|
func = InstanceElement(self, func, True)
|
||||||
return Execution(func, self.var_args)
|
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
|
self.is_class_var = is_class_var
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@cache.memoize_default()
|
@cache.memoize_default(None)
|
||||||
def parent(self):
|
def parent(self):
|
||||||
par = self.var.parent
|
par = self.var.parent
|
||||||
if isinstance(par, Class) and par == self.instance.base \
|
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.base_func = func
|
||||||
self.is_decorated = is_decorated
|
self.is_decorated = is_decorated
|
||||||
|
|
||||||
@cache.memoize_default()
|
@cache.memoize_default(None)
|
||||||
def _decorated_func(self, instance=None):
|
def _decorated_func(self, instance=None):
|
||||||
"""
|
"""
|
||||||
Returns the function, that is to be executed in the end.
|
Returns the function, that is to be executed in the end.
|
||||||
@@ -420,7 +420,7 @@ class Execution(Executable):
|
|||||||
return [stmt] # just some arbitrary object
|
return [stmt] # just some arbitrary object
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@cache.memoize_default()
|
@cache.memoize_default(None)
|
||||||
def _decorated(self):
|
def _decorated(self):
|
||||||
"""Get the decorated version of the input"""
|
"""Get the decorated version of the input"""
|
||||||
base = self.base
|
base = self.base
|
||||||
@@ -736,7 +736,7 @@ class Execution(Executable):
|
|||||||
raise AttributeError('Tried to access %s: %s. Why?' % (name, self))
|
raise AttributeError('Tried to access %s: %s. Why?' % (name, self))
|
||||||
return getattr(self._decorated, name)
|
return getattr(self._decorated, name)
|
||||||
|
|
||||||
@cache.memoize_default()
|
@cache.memoize_default(None)
|
||||||
@common.rethrow_uncaught
|
@common.rethrow_uncaught
|
||||||
def _scope_copy(self, scope):
|
def _scope_copy(self, scope):
|
||||||
""" Copies a scope (e.g. if) in an execution """
|
""" Copies a scope (e.g. if) in an execution """
|
||||||
@@ -752,22 +752,22 @@ class Execution(Executable):
|
|||||||
return copied
|
return copied
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@cache.memoize_default()
|
@cache.memoize_default([])
|
||||||
def returns(self):
|
def returns(self):
|
||||||
return self._copy_properties('returns')
|
return self._copy_properties('returns')
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@cache.memoize_default()
|
@cache.memoize_default([])
|
||||||
def asserts(self):
|
def asserts(self):
|
||||||
return self._copy_properties('asserts')
|
return self._copy_properties('asserts')
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@cache.memoize_default()
|
@cache.memoize_default([])
|
||||||
def statements(self):
|
def statements(self):
|
||||||
return self._copy_properties('statements')
|
return self._copy_properties('statements')
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@cache.memoize_default()
|
@cache.memoize_default([])
|
||||||
def subscopes(self):
|
def subscopes(self):
|
||||||
return self._copy_properties('subscopes')
|
return self._copy_properties('subscopes')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user