mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 22:14:27 +08:00
Get at least some usages stuff right.
This commit is contained in:
@@ -6,7 +6,7 @@ from jedi.evaluate import imports
|
||||
from jedi.evaluate import helpers
|
||||
|
||||
|
||||
def usages(evaluator, definitions, mods):
|
||||
def usages(evaluator, definition_names, mods):
|
||||
"""
|
||||
:param definitions: list of Name
|
||||
"""
|
||||
@@ -56,16 +56,25 @@ def usages(evaluator, definitions, mods):
|
||||
if any(r in compare_definitions for r in compare_follow_res):
|
||||
yield classes.Definition(evaluator, search)
|
||||
|
||||
search_name = unicode(list(definitions)[0])
|
||||
compare_definitions = compare_array(definitions)
|
||||
mods |= set([d.get_parent_until() for d in definitions])
|
||||
names = []
|
||||
search_name = unicode(list(definition_names)[0])
|
||||
compare_definitions = compare_array(definition_names)
|
||||
mods |= set([d.get_parent_until() for d in definition_names])
|
||||
definitions = []
|
||||
for m in imports.get_modules_containing_name(mods, search_name):
|
||||
try:
|
||||
stmts = m.used_names[search_name]
|
||||
check_names = m.used_names[search_name]
|
||||
except KeyError:
|
||||
continue
|
||||
for stmt in stmts:
|
||||
for name in check_names:
|
||||
|
||||
result = evaluator.goto(name)
|
||||
if [c in compare_definitions for c in compare_array(result)]:
|
||||
definitions.append(classes.Definition(evaluator, name))
|
||||
|
||||
continue # TODO DELETE
|
||||
|
||||
|
||||
stmt = name.get_definition()
|
||||
if isinstance(stmt, pr.Import):
|
||||
count = 0
|
||||
imps = []
|
||||
@@ -83,7 +92,7 @@ def usages(evaluator, definitions, mods):
|
||||
else:
|
||||
for call in helpers.scan_statement_for_calls(stmt, search_name, assignment_details=True):
|
||||
names += check_call_for_usage(call)
|
||||
return names
|
||||
return definitions
|
||||
|
||||
|
||||
def usages_add_import_modules(evaluator, definitions):
|
||||
|
||||
@@ -1470,7 +1470,8 @@ class Param(Base):
|
||||
return self.get_parent_until(IsScope)
|
||||
|
||||
def get_code(self):
|
||||
return self.tfpdef.get_code()
|
||||
df = '' if self.default is None else '=' + self.default.get_code()
|
||||
return self.tfpdef.get_code() + df
|
||||
|
||||
def __init__old(self):
|
||||
kwargs.pop('names_are_set_vars', None)
|
||||
|
||||
@@ -93,7 +93,7 @@ ClassVar().x = ''
|
||||
|
||||
# Recurring use of the same var name, github #315
|
||||
def f(t=None):
|
||||
#! 9 ['t = None']
|
||||
#! 9 ['t=None']
|
||||
t = t or 1
|
||||
|
||||
# -----------------
|
||||
|
||||
@@ -3,10 +3,10 @@ Renaming tests. This means search for usages.
|
||||
I always leave a little bit of space to add room for additions, because the
|
||||
results always contain position informations.
|
||||
"""
|
||||
#< 4 (0,4), (3,0), (5,0)
|
||||
#< 4 (0,4), (3,0), (5,0), (17,0)
|
||||
def abc(): pass
|
||||
|
||||
#< 0 (-3,4), (0,0), (2,0)
|
||||
#< 0 (-3,4), (0,0), (2,0), (14,0)
|
||||
abc.d.a.bsaasd.abc.d
|
||||
|
||||
abc
|
||||
|
||||
Reference in New Issue
Block a user