1
0
forked from VimPlug/jedi

fix problems with class method decorators

This commit is contained in:
David Halter
2013-08-09 11:32:44 +04:30
parent c222cc5a32
commit 7548ec7280
2 changed files with 7 additions and 4 deletions

View File

@@ -328,13 +328,13 @@ class Function(use_metaclass(cache.CachedMetaClass, pr.IsScope)):
debug.warning('decorator not found: %s on %s' %
(dec, self.base_func))
return None
if len(dec_results) > 1:
decorator = dec_results.pop()
if dec_results:
debug.warning('multiple decorators found', self.base_func,
dec_results)
decorator = dec_results.pop()
# Create param array.
old_func = Function(f, is_decorated=True)
if instance is not None:
if instance is not None and decorator.isinstance(Function):
old_func = InstanceElement(instance, old_func)
instance = None

View File

@@ -99,9 +99,12 @@ def nothing(a,b,c):
return a,b,c
class MethodDecoratorAsClass():
class_var
class_var = 3
@Decorator
def func_without_self(arg):
return arg
@Decorator
def func_with_self(self, arg):
return self.class_var