mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 14:04:26 +08:00
NameFinder.filter_name is simpler now.
This commit is contained in:
@@ -69,24 +69,29 @@ class NameFinder(object):
|
|||||||
# reference.
|
# reference.
|
||||||
name_list = sorted(name_list, key=lambda n: n.start_pos, reverse=True)
|
name_list = sorted(name_list, key=lambda n: n.start_pos, reverse=True)
|
||||||
for name in name_list:
|
for name in name_list:
|
||||||
|
if self.name_str != name.get_code():
|
||||||
|
continue
|
||||||
|
|
||||||
parpar = name.parent.parent
|
parpar = name.parent.parent
|
||||||
if self.name_str == name.get_code() and parpar not in break_scopes:
|
if name.parent.parent in break_scopes:
|
||||||
if not self._name_is_array_assignment(name):
|
continue
|
||||||
result.append(name) # `arr[1] =` is not the definition
|
|
||||||
# for comparison we need the raw class
|
if not self._name_is_array_assignment(name):
|
||||||
# this means that a definition was found and is not e.g.
|
result.append(name) # `arr[1] =` is not the definition
|
||||||
# in if/else.
|
# for comparison we need the raw class
|
||||||
if result and self._name_is_break_scope(name):
|
# this means that a definition was found and is not e.g.
|
||||||
#print result, name.parent, parpar, s
|
# in if/else.
|
||||||
if isinstance(parpar, pr.Flow) \
|
if result and self._name_is_break_scope(name):
|
||||||
or isinstance(parpar, pr.KeywordStatement) \
|
#print result, name.parent, parpar, s
|
||||||
and parpar.name == 'global':
|
if isinstance(parpar, pr.Flow) \
|
||||||
s = nscope.base if isinstance(nscope, er.Class) else nscope
|
or isinstance(parpar, pr.KeywordStatement) \
|
||||||
if parpar == s:
|
and parpar.name == 'global':
|
||||||
break
|
s = nscope.base if isinstance(nscope, er.Class) else nscope
|
||||||
else:
|
if parpar == s:
|
||||||
break
|
break
|
||||||
break_scopes.append(parpar)
|
else:
|
||||||
|
break
|
||||||
|
break_scopes.append(parpar)
|
||||||
if result:
|
if result:
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|||||||
@@ -1387,6 +1387,9 @@ class NamePart(object):
|
|||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
return self.string == other
|
return self.string == other
|
||||||
|
|
||||||
|
def __ne__(self, other):
|
||||||
|
return not self.__eq__(other)
|
||||||
|
|
||||||
def __hash__(self):
|
def __hash__(self):
|
||||||
return hash(self.string)
|
return hash(self.string)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user