summaryrefslogtreecommitdiff
path: root/checkers
diff options
context:
space:
mode:
authorClaudiu Popa <cpopa@cloudbasesolutions.com>2014-10-31 23:01:51 +0200
committerClaudiu Popa <cpopa@cloudbasesolutions.com>2014-10-31 23:01:51 +0200
commit298d5b96550740a8810883fcfb6099043cd5626a (patch)
treec2f14abd745df3ca7962aa0562156f267f5f3414 /checkers
parent73b8b103751a5759118206f0ebca75e64b2d7b7c (diff)
downloadpylint-git-298d5b96550740a8810883fcfb6099043cd5626a.tar.gz
Exit early from the visit_callfunc.
Diffstat (limited to 'checkers')
-rw-r--r--checkers/python3.py26
1 files changed, 14 insertions, 12 deletions
diff --git a/checkers/python3.py b/checkers/python3.py
index 449a1aead..57a789203 100644
--- a/checkers/python3.py
+++ b/checkers/python3.py
@@ -26,8 +26,8 @@ def _check_dict_node(node):
inferred_types.add(inferred_node)
except (astroid.InferenceError, astroid.UnresolvableName):
pass
- return (not inferred_types or
- any(isinstance(x, astroid.Dict) for x in inferred_types))
+ return (not inferred_types
+ or any(isinstance(x, astroid.Dict) for x in inferred_types))
class Python3Checker(checkers.BaseChecker):
@@ -241,16 +241,18 @@ class Python3Checker(checkers.BaseChecker):
self.add_message('old-division', node=node)
def visit_callfunc(self, node):
- if hasattr(node.func, 'attrname'):
- if not any([node.args, node.starargs, node.kwargs]):
- if node.func.attrname == 'next':
- self.add_message('next-method-called', node=node)
- else:
- if _check_dict_node(node.func.expr):
- if node.func.attrname in ('iterkeys', 'itervalues', 'iteritems'):
- self.add_message('dict-iter-method', node=node)
- elif node.func.attrname in ('viewkeys', 'viewvalues', 'viewitems'):
- self.add_message('dict-view-method', node=node)
+ if not isinstance(node.func, astroid.Getattr):
+ return
+ if any([node.args, node.starargs, node.kwargs]):
+ return
+ if node.func.attrname == 'next':
+ self.add_message('next-method-called', node=node)
+ else:
+ if _check_dict_node(node.func.expr):
+ if node.func.attrname in ('iterkeys', 'itervalues', 'iteritems'):
+ self.add_message('dict-iter-method', node=node)
+ elif node.func.attrname in ('viewkeys', 'viewvalues', 'viewitems'):
+ self.add_message('dict-view-method', node=node)
def register(linter):