forked from VimPlug/jedi
Classes should always evaluate to true when asked for py__bool__()
This commit is contained in:
@@ -374,6 +374,13 @@ class Wrapper(tree.Base):
|
||||
def is_class(self):
|
||||
return False
|
||||
|
||||
def py__bool__(self):
|
||||
"""
|
||||
Since Wrapper is a super class for classes, functions and modules,
|
||||
the return value will always be true.
|
||||
"""
|
||||
return True
|
||||
|
||||
@property
|
||||
@underscore_memoization
|
||||
def name(self):
|
||||
@@ -552,9 +559,6 @@ class Function(use_metaclass(CachedMetaClass, Wrapper)):
|
||||
else:
|
||||
return FunctionExecution(evaluator, self, params).get_return_types()
|
||||
|
||||
def py__bool__(self):
|
||||
return True
|
||||
|
||||
def __getattr__(self, name):
|
||||
return getattr(self.base_func, name)
|
||||
|
||||
@@ -851,6 +855,3 @@ class ModuleWrapper(use_metaclass(CachedMetaClass, tree.Module, Wrapper)):
|
||||
|
||||
def __repr__(self):
|
||||
return "<%s: %s>" % (type(self).__name__, self._module)
|
||||
|
||||
def py__bool__(self):
|
||||
return True
|
||||
|
||||
@@ -205,3 +205,16 @@ if 0:
|
||||
foobar
|
||||
#?
|
||||
nested
|
||||
|
||||
# -----------------
|
||||
# True objects like modules
|
||||
# -----------------
|
||||
|
||||
class X():
|
||||
pass
|
||||
if X:
|
||||
a = 1
|
||||
else:
|
||||
a = ''
|
||||
#? int()
|
||||
a
|
||||
|
||||
Reference in New Issue
Block a user