mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-09 23:34:45 +08:00
Fix usages in context of the new parso parameter include_setitem=True
This commit is contained in:
@@ -553,7 +553,7 @@ class Definition(BaseDefinition):
|
|||||||
typ = 'def'
|
typ = 'def'
|
||||||
return typ + ' ' + self._name.get_public_name()
|
return typ + ' ' + self._name.get_public_name()
|
||||||
|
|
||||||
definition = tree_name.get_definition() or tree_name
|
definition = tree_name.get_definition(include_setitem=True) or tree_name
|
||||||
# Remove the prefix, because that's not what we want for get_code
|
# Remove the prefix, because that's not what we want for get_code
|
||||||
# here.
|
# here.
|
||||||
txt = definition.get_code(include_prefix=False)
|
txt = definition.get_code(include_prefix=False)
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ def _get_definition_names(used_names, name_key):
|
|||||||
except KeyError:
|
except KeyError:
|
||||||
names = used_names.get(name_key, ())
|
names = used_names.get(name_key, ())
|
||||||
result = for_module[name_key] = tuple(
|
result = for_module[name_key] = tuple(
|
||||||
name for name in names if name.is_definition()
|
name for name in names if name.is_definition(include_setitem=True)
|
||||||
)
|
)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|||||||
@@ -323,7 +323,7 @@ def _infer_expr_stmt(context, stmt, seek_name=None):
|
|||||||
is_annassign = first_operator not in ('=', None) and first_operator.type == 'operator'
|
is_annassign = first_operator not in ('=', None) and first_operator.type == 'operator'
|
||||||
if is_annassign or is_setitem:
|
if is_annassign or is_setitem:
|
||||||
# `=` is always the last character in aug assignments -> -1
|
# `=` is always the last character in aug assignments -> -1
|
||||||
name = stmt.get_defined_names()[0].value
|
name = stmt.get_defined_names(include_setitem=True)[0].value
|
||||||
left_values = context.py__getattribute__(name, position=stmt.start_pos)
|
left_values = context.py__getattribute__(name, position=stmt.start_pos)
|
||||||
|
|
||||||
if is_setitem:
|
if is_setitem:
|
||||||
@@ -594,7 +594,7 @@ def tree_name_to_values(inference_state, context, tree_name):
|
|||||||
return value_set
|
return value_set
|
||||||
|
|
||||||
types = []
|
types = []
|
||||||
node = tree_name.get_definition(import_name_always=True)
|
node = tree_name.get_definition(import_name_always=True, include_setitem=True)
|
||||||
if node is None:
|
if node is None:
|
||||||
node = tree_name.parent
|
node = tree_name.parent
|
||||||
if node.type == 'global_stmt':
|
if node.type == 'global_stmt':
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ class ClassFilter(ParserTreeFilter):
|
|||||||
# Filter for ClassVar variables
|
# Filter for ClassVar variables
|
||||||
# TODO this is not properly done, yet. It just checks for the string
|
# TODO this is not properly done, yet. It just checks for the string
|
||||||
# ClassVar in the annotation, which can be quite imprecise. If we
|
# ClassVar in the annotation, which can be quite imprecise. If we
|
||||||
# wanted to do this correct, we would have to resolve the ClassVar.
|
# wanted to do this correct, we would have to infer the ClassVar.
|
||||||
if not from_instance:
|
if not from_instance:
|
||||||
expr_stmt = name.get_definition()
|
expr_stmt = name.get_definition()
|
||||||
if expr_stmt is not None and expr_stmt.type == 'expr_stmt':
|
if expr_stmt is not None and expr_stmt.type == 'expr_stmt':
|
||||||
|
|||||||
@@ -368,7 +368,6 @@ some_dct['unknown']
|
|||||||
some_dct['a']
|
some_dct['a']
|
||||||
|
|
||||||
some_dct = dict({'a': 1, 1: ''})
|
some_dct = dict({'a': 1, 1: ''})
|
||||||
some_dct = dict(a=1, x=''})
|
|
||||||
#? int() str()
|
#? int() str()
|
||||||
some_dct['la']
|
some_dct['la']
|
||||||
some_dct['x'] = list
|
some_dct['x'] = list
|
||||||
|
|||||||
Reference in New Issue
Block a user