diff --git a/jedi/evaluate/compiled/__init__.py b/jedi/evaluate/compiled/__init__.py index 4aec2dcc..f1d9386c 100644 --- a/jedi/evaluate/compiled/__init__.py +++ b/jedi/evaluate/compiled/__init__.py @@ -54,6 +54,9 @@ class CompiledObject(Base): def py__bool__(self): return bool(self.obj) + def is_class(self): + return isinstance(self.obj, type) + @property def doc(self): return inspect.getdoc(self.obj) or '' diff --git a/jedi/evaluate/representation.py b/jedi/evaluate/representation.py index 973681d8..be13c8b8 100644 --- a/jedi/evaluate/representation.py +++ b/jedi/evaluate/representation.py @@ -314,6 +314,9 @@ class Wrapper(pr.Base): def is_scope(self): return True + def is_class(self): + return False + class Class(use_metaclass(CachedMetaClass, Wrapper)): """ @@ -384,6 +387,9 @@ class Class(use_metaclass(CachedMetaClass, Wrapper)): if add_class_vars: yield self, compiled.type_names + def is_class(self): + return True + def get_subscope_by_name(self, name): for s in [self] + self.py__bases__(self._evaluator): for sub in reversed(s.subscopes):