MCPcopy Create free account
hub / github.com/ebeweber/flake8-mutable / MutableDefaultChecker

Class MutableDefaultChecker

mutable_defaults.py:16–42  ·  view source on GitHub ↗

Mutable default argument checker. Flake8 extension that alerts when a mutable type is used as an argument's default value.

Source from the content-addressed store, hash-verified

14
15
16class MutableDefaultChecker(object):
17 """Mutable default argument checker.
18
19 Flake8 extension that alerts when a mutable type is used
20 as an argument's default value.
21 """
22 name = 'flake-mutable'
23 version = __version__
24 _error_tmpl = '{} - mutable default arg of type {}'
25 _code = 'M511'
26
27 def __init__(self, tree, filename):
28 self.tree = tree
29
30 def run(self):
31 for node in ast.walk(self.tree):
32 if isinstance(node, ast.FunctionDef):
33 for default in node.args.defaults:
34 if any([
35 isinstance(default, mutable_type)
36 for mutable_type in mutable_types
37 ]):
38 error_msg = self._error_tmpl.format(
39 self._code, type(default).__name__
40 )
41 yield (default.lineno, default.col_offset,
42 error_msg, type(self))

Callers 2

test_mutable_defaultsFunction · 0.90

Calls

no outgoing calls

Tested by 2

test_mutable_defaultsFunction · 0.72