From 0ae74a7666d03f192512b302ae071c9ac825c226 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Mon, 23 Feb 2015 19:07:23 +0100 Subject: [PATCH] Replace a __bases__ call with an __mro__ call, because the latter is closer to how Python actually works. __bases__ is never used. --- jedi/evaluate/representation.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/jedi/evaluate/representation.py b/jedi/evaluate/representation.py index e04fc03e..4c1a4938 100644 --- a/jedi/evaluate/representation.py +++ b/jedi/evaluate/representation.py @@ -458,16 +458,9 @@ class Class(use_metaclass(CachedMetaClass, Wrapper)): return True def get_subscope_by_name(self, name): - for s in [self] + self.py__bases__(self._evaluator): - try: - subscopes = s.subscopes - except AttributeError: - # TODO look at the __mro__ todo, we should add a TypeError - # here. - pass - else: - for sub in reversed(subscopes): - if sub.name.value == name: + for s in self.py__mro__(self._evaluator): + for sub in reversed(s.subscopes): + if sub.name.value == name: return sub raise KeyError("Couldn't find subscope.")