From 481a917ada73a0af7cddcc57551228d9ee5c4628 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Mon, 28 Nov 2016 09:49:37 +0100 Subject: [PATCH] Remove the wrapper from the class. --- jedi/evaluate/__init__.py | 2 +- jedi/evaluate/context.py | 10 ++++++++++ jedi/evaluate/representation.py | 21 +++------------------ 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/jedi/evaluate/__init__.py b/jedi/evaluate/__init__.py index 823730b5..209edf56 100644 --- a/jedi/evaluate/__init__.py +++ b/jedi/evaluate/__init__.py @@ -213,7 +213,7 @@ class Evaluator(object): new_name_dicts = list(original_name_dicts) for i, name_dict in enumerate(new_name_dicts): new_name_dicts[i] = name_dict.copy() - new_name_dicts[i][str(if_name)] = [definition] + new_name_dicts[i][str(if_name)] = set([definition]) name_dicts += new_name_dicts else: diff --git a/jedi/evaluate/context.py b/jedi/evaluate/context.py index ed870233..66212c90 100644 --- a/jedi/evaluate/context.py +++ b/jedi/evaluate/context.py @@ -56,6 +56,16 @@ class Context(object): def create_context(self, node): return self.evaluator.create_context(self, node) + def is_class(self): + return False + + def py__bool__(self): + """ + Since Wrapper is a super class for classes, functions and modules, + the return value will always be true. + """ + return True + class TreeContext(Context): def __init__(self, evaluator, parent_context=None): diff --git a/jedi/evaluate/representation.py b/jedi/evaluate/representation.py index ce0406b2..a7219907 100644 --- a/jedi/evaluate/representation.py +++ b/jedi/evaluate/representation.py @@ -74,22 +74,7 @@ class Executed(context.TreeContext): return True -class Wrapper(tree.Base): - def is_scope(self): - return True - - def is_class(self): - return False - - def py__bool__(self): - """ - Since Wrapper is a super class for classes, functions and modules, - the return value will always be true. - """ - return True - - -class ClassContext(use_metaclass(CachedMetaClass, context.TreeContext, Wrapper)): +class ClassContext(use_metaclass(CachedMetaClass, context.TreeContext)): """ This class is not only important to extend `tree.Class`, it is also a important for descriptors (if the descriptor methods are evaluated or not). @@ -207,7 +192,7 @@ class ClassContext(use_metaclass(CachedMetaClass, context.TreeContext, Wrapper)) return ContextName(self, self.classdef.name) -class FunctionContext(use_metaclass(CachedMetaClass, context.TreeContext, Wrapper)): +class FunctionContext(use_metaclass(CachedMetaClass, context.TreeContext)): """ Needed because of decorators. Decorators are evaluated here. """ @@ -457,7 +442,7 @@ class ModuleAttributeName(AbstractNameDefinition): ) -class ModuleContext(use_metaclass(CachedMetaClass, context.TreeContext, Wrapper)): +class ModuleContext(use_metaclass(CachedMetaClass, context.TreeContext)): api_type = 'module' parent_context = None