From 9ee628541464a7318b9a517d50861593b700d334 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Fri, 16 Aug 2019 09:41:23 +0200 Subject: [PATCH] Remove infer_state from filters --- jedi/inference/filters.py | 6 ++---- jedi/inference/gradual/stub_value.py | 1 - jedi/inference/value/function.py | 3 +-- jedi/inference/value/instance.py | 16 +++++++--------- jedi/inference/value/iterable.py | 2 +- jedi/inference/value/klass.py | 3 +-- jedi/inference/value/module.py | 1 - jedi/plugins/stdlib.py | 2 +- 8 files changed, 13 insertions(+), 21 deletions(-) diff --git a/jedi/inference/filters.py b/jedi/inference/filters.py index ef3988c5..c90c986e 100644 --- a/jedi/inference/filters.py +++ b/jedi/inference/filters.py @@ -98,8 +98,7 @@ class AbstractUsedNamesFilter(AbstractFilter): class ParserTreeFilter(AbstractUsedNamesFilter): - # TODO remove infer_state as an argument, it's not used. - def __init__(self, infer_state, value, node_value=None, until_position=None, + def __init__(self, value, node_value=None, until_position=None, origin_scope=None): """ node_value is an option to specify a second value for use cases @@ -144,10 +143,9 @@ class ParserTreeFilter(AbstractUsedNamesFilter): class FunctionExecutionFilter(ParserTreeFilter): param_name = ParamName - def __init__(self, infer_state, value, node_value=None, + def __init__(self, value, node_value=None, until_position=None, origin_scope=None): super(FunctionExecutionFilter, self).__init__( - infer_state, value, node_value, until_position, diff --git a/jedi/inference/gradual/stub_value.py b/jedi/inference/gradual/stub_value.py index b3ed65b6..25549ef8 100644 --- a/jedi/inference/gradual/stub_value.py +++ b/jedi/inference/gradual/stub_value.py @@ -36,7 +36,6 @@ class StubModuleValue(ModuleValue): def _get_stub_filters(self, search_global, **filter_kwargs): return [StubFilter( - self.infer_state, value=self, search_global=search_global, **filter_kwargs diff --git a/jedi/inference/value/function.py b/jedi/inference/value/function.py index 72bb561f..bd998e8e 100644 --- a/jedi/inference/value/function.py +++ b/jedi/inference/value/function.py @@ -58,7 +58,6 @@ class FunctionMixin(object): def get_filters(self, search_global=False, until_position=None, origin_scope=None): if search_global: yield ParserTreeFilter( - self.infer_state, value=self, until_position=until_position, origin_scope=origin_scope @@ -294,7 +293,7 @@ class FunctionExecutionValue(TreeValue): ) def get_filters(self, search_global=False, until_position=None, origin_scope=None): - yield self.function_execution_filter(self.infer_state, self, + yield self.function_execution_filter(self, until_position=until_position, origin_scope=origin_scope) diff --git a/jedi/inference/value/instance.py b/jedi/inference/value/instance.py index fa91aad2..3dea7708 100644 --- a/jedi/inference/value/instance.py +++ b/jedi/inference/value/instance.py @@ -132,7 +132,7 @@ class AbstractInstanceValue(Value): # In this case we're excluding compiled objects that are # not fake objects. It doesn't make sense for normal # compiled objects to search for self variables. - yield SelfAttributeFilter(self.infer_state, self, cls, origin_scope) + yield SelfAttributeFilter(self, cls, origin_scope) class_filters = class_value.get_filters( search_global=False, @@ -141,9 +141,9 @@ class AbstractInstanceValue(Value): ) for f in class_filters: if isinstance(f, ClassFilter): - yield InstanceClassFilter(self.infer_state, self, f) + yield InstanceClassFilter(self, f) elif isinstance(f, CompiledObjectFilter): - yield CompiledInstanceClassFilter(self.infer_state, self, f) + yield CompiledInstanceClassFilter(self, f) else: # Propably from the metaclass. yield f @@ -348,8 +348,7 @@ class CompiledInstanceName(compiled.CompiledName): class CompiledInstanceClassFilter(AbstractFilter): name_class = CompiledInstanceName - def __init__(self, infer_state, instance, f): - self._infer_state = infer_state + def __init__(self, instance, f): self._instance = instance self._class_filter = f @@ -362,7 +361,7 @@ class CompiledInstanceClassFilter(AbstractFilter): def _convert(self, names): klass = self._class_filter.compiled_object return [ - CompiledInstanceName(self._infer_state, self._instance, klass, n) + CompiledInstanceName(self._instance.infer_state, self._instance, klass, n) for n in names ] @@ -456,7 +455,7 @@ class InstanceClassFilter(AbstractFilter): resulting names in LazyINstanceClassName. The idea is that the class name filtering can be very flexible and always be reflected in instances. """ - def __init__(self, infer_state, instance, class_filter): + def __init__(self, instance, class_filter): self._instance = instance self._class_filter = class_filter @@ -479,9 +478,8 @@ class SelfAttributeFilter(ClassFilter): """ name_class = SelfName - def __init__(self, infer_state, value, class_value, origin_scope): + def __init__(self, value, class_value, origin_scope): super(SelfAttributeFilter, self).__init__( - infer_state=infer_state, value=value, node_value=class_value, origin_scope=origin_scope, diff --git a/jedi/inference/value/iterable.py b/jedi/inference/value/iterable.py index b6bf1bbd..39c8fb16 100644 --- a/jedi/inference/value/iterable.py +++ b/jedi/inference/value/iterable.py @@ -117,7 +117,7 @@ class CompForValue(TreeValue): return cls(parent_context.infer_state, parent_context, comp_for) def get_filters(self, search_global=False, until_position=None, origin_scope=None): - yield ParserTreeFilter(self.infer_state, self) + yield ParserTreeFilter(self) def comprehension_from_atom(infer_state, value, atom): diff --git a/jedi/inference/value/klass.py b/jedi/inference/value/klass.py index 7cefc131..0a966ec6 100644 --- a/jedi/inference/value/klass.py +++ b/jedi/inference/value/klass.py @@ -208,7 +208,7 @@ class ClassMixin(object): yield filter else: yield ClassFilter( - self.infer_state, self, node_value=cls, + self, node_value=cls, origin_scope=origin_scope, is_instance=is_instance ) @@ -230,7 +230,6 @@ class ClassMixin(object): def get_global_filter(self, until_position=None, origin_scope=None): return ParserTreeFilter( - self.infer_state, value=self, until_position=until_position, origin_scope=origin_scope diff --git a/jedi/inference/value/module.py b/jedi/inference/value/module.py index 730cb48f..3a4e04e7 100644 --- a/jedi/inference/value/module.py +++ b/jedi/inference/value/module.py @@ -101,7 +101,6 @@ class ModuleMixin(SubModuleDictMixin): def get_filters(self, search_global=False, until_position=None, origin_scope=None): yield MergedFilter( ParserTreeFilter( - self.infer_state, value=self, until_position=until_position, origin_scope=origin_scope diff --git a/jedi/plugins/stdlib.py b/jedi/plugins/stdlib.py index 14d1e59d..48884ee4 100644 --- a/jedi/plugins/stdlib.py +++ b/jedi/plugins/stdlib.py @@ -793,7 +793,7 @@ def get_metaclass_filters(func): for metaclass in metaclasses: if metaclass.py__name__() == 'EnumMeta' \ and metaclass.get_root_value().py__name__() == 'enum': - filter_ = ParserTreeFilter(cls.infer_state, value=cls) + filter_ = ParserTreeFilter(value=cls) return [DictFilter({ name.string_name: EnumInstance(cls, name).name for name in filter_.values() })]