forked from VimPlug/jedi
Jedi didn't care for decorator 'dotted_name' nodes and therefore descriptor tests failed.
This commit is contained in:
@@ -101,6 +101,7 @@ class Instance(use_metaclass(CachedMetaClass, Executed)):
|
||||
# Generated instances are classes that are just generated by self
|
||||
# (No var_args) used.
|
||||
self.is_generated = is_generated
|
||||
self.decorates = None
|
||||
|
||||
@property
|
||||
def py__call__(self):
|
||||
@@ -228,7 +229,11 @@ class Instance(use_metaclass(CachedMetaClass, Executed)):
|
||||
return getattr(self.base, name)
|
||||
|
||||
def __repr__(self):
|
||||
return "<e%s of %s %s>" % (type(self).__name__, self.base, self.var_args)
|
||||
dec = ''
|
||||
if self.decorates is not None:
|
||||
dec = " decorates " + repr(self.decorates)
|
||||
return "<e%s of %s(%s)%s>" % (type(self).__name__, self.base,
|
||||
self.var_args.argument_node, dec)
|
||||
|
||||
|
||||
def get_instance_el(evaluator, instance, var, is_class_var=False):
|
||||
@@ -356,7 +361,6 @@ class Class(use_metaclass(CachedMetaClass, Wrapper)):
|
||||
def __init__(self, evaluator, base):
|
||||
self._evaluator = evaluator
|
||||
self.base = base
|
||||
self.decorates = None
|
||||
|
||||
@memoize_default(default=())
|
||||
def py__mro__(self, evaluator):
|
||||
@@ -498,7 +502,7 @@ class Function(use_metaclass(CachedMetaClass, Wrapper)):
|
||||
debug.warning('multiple wrappers found %s %s',
|
||||
self.base_func, wrappers)
|
||||
f = wrappers[0]
|
||||
if isinstance(f, (Class, Function)):
|
||||
if isinstance(f, (Instance, Function)):
|
||||
f.decorates = self
|
||||
|
||||
debug.dbg('decorator end %s', f)
|
||||
|
||||
Reference in New Issue
Block a user