summaryrefslogtreecommitdiff
path: root/checkers/utils.py
diff options
context:
space:
mode:
authorsylvain thenault <sylvain.thenault@logilab.fr>2009-03-23 12:04:01 +0100
committersylvain thenault <sylvain.thenault@logilab.fr>2009-03-23 12:04:01 +0100
commite06c78824b5c161c0b12c388ae077c612d5495bf (patch)
tree9c4b367c96cb91b6d8a5b64d7bf803249901a6b4 /checkers/utils.py
parentce22e4bd89050437a60f38d61c831a0b1fc5ebeb (diff)
downloadpylint-e06c78824b5c161c0b12c388ae077c612d5495bf.tar.gz
fix #8687, W0613 false positive on inner function
Diffstat (limited to 'checkers/utils.py')
-rw-r--r--checkers/utils.py25
1 files changed, 8 insertions, 17 deletions
diff --git a/checkers/utils.py b/checkers/utils.py
index 41b09e3..321ecb8 100644
--- a/checkers/utils.py
+++ b/checkers/utils.py
@@ -122,26 +122,17 @@ def is_defined_before(var_node, comp_node_types=COMP_NODE_TYPES):
_node = _node.previous_sibling()
return False
-def is_func_default(node, name=None):
- """return true if the name is used in function default argument's value
+def is_func_default(node):
+ """return true if the given Name node is used in function default argument's
+ value
"""
- if name == None:
- name = node.name
parent = node.parent
- if parent is None:
- return 0
if isinstance(parent, astng.Function):
- defaults = parent.args.defaults
- if name in _child_names(defaults):
- return 1
- return is_func_default(parent, name)
-
-def _child_names(nodes):
- """return a list of all Name in a list 'nodes' """
- names = []
- for node in nodes:
- names.extend(n.name for n in node.nodes_of_class(astng.Name))
- return names
+ for default_node in parent.args.defaults:
+ for default_name_node in default_node.nodes_of_class(astng.Name):
+ if default_name_node is node:
+ return True
+ return False
def is_func_decorator(node):
"""return true if the name is used in function decorator