From 6ec3e50a1619d346f43f30b5cbd88e52550a1b9e Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Tue, 28 Nov 2017 21:20:55 +0100 Subject: [PATCH] Rewrite bases --- jedi/evaluate/compiled/__init__.py | 8 +++++--- jedi/evaluate/compiled/access.py | 3 +++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/jedi/evaluate/compiled/__init__.py b/jedi/evaluate/compiled/__init__.py index 6ec69cc2..03423ea6 100644 --- a/jedi/evaluate/compiled/__init__.py +++ b/jedi/evaluate/compiled/__init__.py @@ -87,13 +87,15 @@ class CompiledObject(Context): @CheckAttribute def py__mro__(self): return (self,) + tuple( - create_from_access(self.evaluator, access) for access in self.access.py__mro__accesses() + create_from_access(self.evaluator, access) for access in self.access.py__mro__accesses() ) @CheckAttribute def py__bases__(self): - raise NotImplementedError - return tuple(create_from_access(self.evaluator, cls) for cls in self.obj.__bases__) + return tuple( + create_from_access(self.evaluator, access) + for access in self.access.py__bases__() + ) def py__bool__(self): return self.access.py__bool__() diff --git a/jedi/evaluate/compiled/access.py b/jedi/evaluate/compiled/access.py index a5a4d6b8..ab41e21c 100644 --- a/jedi/evaluate/compiled/access.py +++ b/jedi/evaluate/compiled/access.py @@ -175,6 +175,9 @@ class DirectObjectAccess(object): def py__class__(self): return self._create_access(self._obj.__class__) + def py__bases__(self): + return [self._create_access(base) for base in self._obj.__bases__] + def get_repr(self): return repr(self._obj)