_scan_array didn't search for all names

This commit is contained in:
David Halter
2012-09-14 22:25:57 +02:00
parent fd37ae53f2
commit 4a23a1d533

View File

@@ -156,9 +156,14 @@ def _scan_array(arr, search_name):
if isinstance(s, parsing.Array): if isinstance(s, parsing.Array):
result += _scan_array(s, search_name) result += _scan_array(s, search_name)
elif isinstance(s, parsing.Call): elif isinstance(s, parsing.Call):
n = s.name while s is not None:
if isinstance(n, parsing.Name) and search_name in n.names: n = s.name
result.append(s) if isinstance(n, parsing.Name) and search_name in n.names:
result.append(s)
if s.execution is not None:
result += _scan_array(s.execution, search_name)
s = s.next
return result return result
#@dec #@dec
@@ -169,7 +174,7 @@ def _check_array_additions(compare_array, module, is_list):
>>> a = [""] >>> a = [""]
>>> a.append(1) >>> a.append(1)
""" """
if not settings.dynamic_array_additions: if not settings.dynamic_array_additions or module.is_builtin():
return [] return []
def check_calls(calls, add_name): def check_calls(calls, add_name):