1
0
forked from VimPlug/jedi

Start implementing an is_class function that will determine if an object is a class or not in the future.

This commit is contained in:
Dave Halter
2014-08-20 11:43:25 +02:00
parent 7f874620db
commit c9542cbc04
2 changed files with 9 additions and 0 deletions

View File

@@ -54,6 +54,9 @@ class CompiledObject(Base):
def py__bool__(self): def py__bool__(self):
return bool(self.obj) return bool(self.obj)
def is_class(self):
return isinstance(self.obj, type)
@property @property
def doc(self): def doc(self):
return inspect.getdoc(self.obj) or '' return inspect.getdoc(self.obj) or ''

View File

@@ -314,6 +314,9 @@ class Wrapper(pr.Base):
def is_scope(self): def is_scope(self):
return True return True
def is_class(self):
return False
class Class(use_metaclass(CachedMetaClass, Wrapper)): class Class(use_metaclass(CachedMetaClass, Wrapper)):
""" """
@@ -384,6 +387,9 @@ class Class(use_metaclass(CachedMetaClass, Wrapper)):
if add_class_vars: if add_class_vars:
yield self, compiled.type_names yield self, compiled.type_names
def is_class(self):
return True
def get_subscope_by_name(self, name): def get_subscope_by_name(self, name):
for s in [self] + self.py__bases__(self._evaluator): for s in [self] + self.py__bases__(self._evaluator):
for sub in reversed(s.subscopes): for sub in reversed(s.subscopes):