From cd433adf84918e4ad47f2016bc4f782b4482347a Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Wed, 13 Aug 2014 14:17:57 +0200 Subject: [PATCH] Speedup object lookup even further in classes. --- jedi/evaluate/compiled/__init__.py | 1 + jedi/evaluate/representation.py | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/jedi/evaluate/compiled/__init__.py b/jedi/evaluate/compiled/__init__.py index b676406e..5ac535c9 100644 --- a/jedi/evaluate/compiled/__init__.py +++ b/jedi/evaluate/compiled/__init__.py @@ -415,6 +415,7 @@ type_names = builtin.get_by_name('type').get_defined_names() none_obj = builtin.get_by_name('None') false_obj = builtin.get_by_name('False') true_obj = builtin.get_by_name('True') +object_obj = builtin.get_by_name('object') def compiled_objects_cache(func): diff --git a/jedi/evaluate/representation.py b/jedi/evaluate/representation.py index ce78d540..1d733c7e 100644 --- a/jedi/evaluate/representation.py +++ b/jedi/evaluate/representation.py @@ -336,9 +336,9 @@ class Class(use_metaclass(CachedMetaClass, Wrapper)): continue # Just ignore other stuff (user input error). supers.append(cls) - if not supers and self.base.parent != compiled.builtin: - # add `object` to classes - supers += self._evaluator.find_types(compiled.builtin, 'object') + if not supers: + # Add `object` to classes (implicit in Python 3.) + supers.append(compiled.object_obj) return supers def py__call__(self, evaluator, params):