From bb3a81c578a5d7bd0bb3fb24b7ae2991a046ce1c Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Wed, 1 Jan 2020 20:25:22 +0100 Subject: [PATCH] LazyInstanceClassName -> Use NameWrapper --- jedi/inference/filters.py | 2 +- jedi/inference/names.py | 2 +- jedi/inference/value/instance.py | 15 +++++---------- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/jedi/inference/filters.py b/jedi/inference/filters.py index 9bac3d89..3ee1c4e8 100644 --- a/jedi/inference/filters.py +++ b/jedi/inference/filters.py @@ -9,7 +9,7 @@ from parso.tree import search_ancestor from jedi._compatibility import use_metaclass from jedi.inference import flow_analysis -from jedi.inference.base_value import ValueSet, Value, ValueWrapper, \ +from jedi.inference.base_value import ValueSet, ValueWrapper, \ LazyValueWrapper from jedi.parser_utils import get_cached_parent_scope from jedi.inference.utils import to_list diff --git a/jedi/inference/names.py b/jedi/inference/names.py index e1ee9c94..44216425 100644 --- a/jedi/inference/names.py +++ b/jedi/inference/names.py @@ -3,7 +3,7 @@ from abc import abstractmethod from parso.tree import search_ancestor from jedi._compatibility import Parameter -from jedi.parser_utils import clean_scope_docstring, find_statement_documentation +from jedi.parser_utils import find_statement_documentation from jedi.inference.utils import unite from jedi.inference.base_value import ValueSet, NO_VALUES from jedi.inference import docstrings diff --git a/jedi/inference/value/instance.py b/jedi/inference/value/instance.py index 48eaa43b..27ab09ad 100644 --- a/jedi/inference/value/instance.py +++ b/jedi/inference/value/instance.py @@ -8,7 +8,8 @@ from jedi.inference import compiled from jedi.inference.compiled.value import CompiledObjectFilter from jedi.inference.helpers import values_from_qualified_names from jedi.inference.filters import AbstractFilter, AnonymousFunctionExecutionFilter -from jedi.inference.names import ValueName, TreeNameDefinition, ParamName +from jedi.inference.names import ValueName, TreeNameDefinition, ParamName, \ + NameWrapper from jedi.inference.base_value import Value, NO_VALUES, ValueSet, \ iterator_to_value_set, ValueWrapper from jedi.inference.lazy_value import LazyKnownValue, LazyKnownValues @@ -507,23 +508,17 @@ class SelfName(TreeNameDefinition): return self._instance.create_instance_context(self.class_context, self.tree_name) -class LazyInstanceClassName(object): +class LazyInstanceClassName(NameWrapper): def __init__(self, instance, class_member_name): + super(LazyInstanceClassName, self).__init__(class_member_name) self._instance = instance - self._class_member_name = class_member_name @iterator_to_value_set def infer(self): - for result_value in self._class_member_name.infer(): + for result_value in super(LazyInstanceClassName, self).infer(): for c in result_value.py__get__(self._instance, self._instance.py__class__()): yield c - def __getattr__(self, name): - return getattr(self._class_member_name, name) - - def __repr__(self): - return '<%s: %s>' % (self.__class__.__name__, self._class_member_name) - class InstanceClassFilter(AbstractFilter): """