mirror of
https://github.com/davidhalter/jedi.git
synced 2026-01-25 21:26:42 +08:00
fixed property not found bug with builtins + cleaning
This commit is contained in:
@@ -150,36 +150,9 @@ CallClass()()
|
||||
# -----------------
|
||||
# properties
|
||||
# -----------------
|
||||
class Property():
|
||||
def __init__(self, fget, fset = None, fdel = None, doc = None):
|
||||
self.fget = fget
|
||||
self.fset = fset
|
||||
self.fdel = fdel
|
||||
self.__doc__ = doc
|
||||
|
||||
def __get__(self, obj, cls):
|
||||
return self.fget(obj)
|
||||
|
||||
def __set__(self, obj, value):
|
||||
self.fset(obj, value)
|
||||
|
||||
def __delete__(self, obj):
|
||||
self.fdel(obj)
|
||||
|
||||
def setter(self, func):
|
||||
self.fset = func
|
||||
return self
|
||||
|
||||
def getter(self, func):
|
||||
self.fget = func
|
||||
return self
|
||||
|
||||
def deleter(self, func):
|
||||
self.fdel = func
|
||||
return self
|
||||
|
||||
class B():
|
||||
@Property
|
||||
@property
|
||||
def r(self):
|
||||
return 1
|
||||
@r.setter
|
||||
@@ -187,7 +160,7 @@ class B():
|
||||
pass
|
||||
def t(self):
|
||||
return ''
|
||||
p = Property(t)
|
||||
##p = property(t)
|
||||
|
||||
#? []
|
||||
B().r()
|
||||
|
||||
@@ -22,12 +22,11 @@ def run_completion_test(correct, source, line_nr, line):
|
||||
try:
|
||||
completions = functions.complete(source, line_nr, 999,
|
||||
completion_test_dir)
|
||||
except Exception:
|
||||
except (Exception, functions.evaluate.MultiLevelAttributeError):
|
||||
print('test @%s: %s' % (line_nr-1, line))
|
||||
print(traceback.format_exc())
|
||||
return 1
|
||||
else:
|
||||
# TODO remove sorted? completions should be sorted?
|
||||
# TODO remove set! duplicates should not be normal
|
||||
comp_str = str(sorted(set([str(c) for c in completions])))
|
||||
if comp_str != correct:
|
||||
@@ -47,7 +46,7 @@ def run_definition_test(correct, source, line_nr, line, correct_start):
|
||||
completion_test_dir))
|
||||
try:
|
||||
result = defs(line_nr, 999)
|
||||
except Exception:
|
||||
except (Exception, functions.evaluate.MultiLevelAttributeError):
|
||||
print('test @%s: %s' % (line_nr-1, line))
|
||||
print(traceback.format_exc())
|
||||
return 1
|
||||
|
||||
Reference in New Issue
Block a user