blob: abb1f4e855f1937bf1e1bd185afd25bdd2cf44e5 [file] [log] [blame]
Martin v. Löwisef04c442008-03-19 05:04:44 +00001"""Fixer for __nonzero__ -> __bool__ methods."""
2# Author: Collin Winter
3
4# Local imports
Benjamin Petersondf6dc8f2008-06-15 02:57:40 +00005from .. import fixer_base
6from ..fixer_util import Name, syms
Martin v. Löwisef04c442008-03-19 05:04:44 +00007
Benjamin Petersondf6dc8f2008-06-15 02:57:40 +00008class FixNonzero(fixer_base.BaseFix):
Martin v. Löwisef04c442008-03-19 05:04:44 +00009 PATTERN = """
10 classdef< 'class' any+ ':'
11 suite< any*
12 funcdef< 'def' name='__nonzero__'
13 parameters< '(' NAME ')' > any+ >
14 any* > >
15 """
16
17 def transform(self, node, results):
18 name = results["name"]
19 new = Name("__bool__", prefix=name.get_prefix())
20 name.replace(new)