mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 14:04:26 +08:00
Fix context issues when working with instances
This commit is contained in:
@@ -381,7 +381,7 @@ class OverloadedFunctionValue(FunctionMixin, ValueWrapper):
|
||||
return self._overloaded_functions
|
||||
|
||||
|
||||
def _find_overload_functions(value, tree_node):
|
||||
def _find_overload_functions(context, tree_node):
|
||||
def _is_overload_decorated(funcdef):
|
||||
if funcdef.parent.type == 'decorated':
|
||||
decorators = funcdef.parent.children[0]
|
||||
@@ -404,8 +404,7 @@ def _find_overload_functions(value, tree_node):
|
||||
|
||||
while True:
|
||||
filter = ParserTreeFilter(
|
||||
value.inference_state,
|
||||
value,
|
||||
context,
|
||||
until_position=tree_node.start_pos
|
||||
)
|
||||
names = filter.get(tree_node.name.value)
|
||||
|
||||
@@ -483,14 +483,15 @@ class SelfAttributeFilter(ClassFilter):
|
||||
"""
|
||||
name_class = SelfName
|
||||
|
||||
def __init__(self, value, class_value, origin_scope):
|
||||
def __init__(self, instance, class_value, origin_scope):
|
||||
super(SelfAttributeFilter, self).__init__(
|
||||
parent_context=value,
|
||||
parent_context=instance.parent_context,
|
||||
node_context=class_value.as_context(),
|
||||
origin_scope=origin_scope,
|
||||
is_instance=True,
|
||||
)
|
||||
self._class_value = class_value
|
||||
self._instance = instance
|
||||
|
||||
def _filter(self, names):
|
||||
names = self._filter_self_names(names)
|
||||
@@ -508,7 +509,7 @@ class SelfAttributeFilter(ClassFilter):
|
||||
yield name
|
||||
|
||||
def _convert_names(self, names):
|
||||
return [self.name_class(self.parent_context, self._class_value, name) for name in names]
|
||||
return [self.name_class(self._instance, self._class_value, name) for name in names]
|
||||
|
||||
def _check_flows(self, names):
|
||||
return names
|
||||
|
||||
Reference in New Issue
Block a user