Martin v. Löwis | ef04c44 | 2008-03-19 05:04:44 +0000 | [diff] [blame] | 1 | """Fixer for __nonzero__ -> __bool__ methods.""" |
| 2 | # Author: Collin Winter |
| 3 | |
| 4 | # Local imports |
Benjamin Peterson | df6dc8f | 2008-06-15 02:57:40 +0000 | [diff] [blame] | 5 | from .. import fixer_base |
| 6 | from ..fixer_util import Name, syms |
Martin v. Löwis | ef04c44 | 2008-03-19 05:04:44 +0000 | [diff] [blame] | 7 | |
Benjamin Peterson | df6dc8f | 2008-06-15 02:57:40 +0000 | [diff] [blame] | 8 | class FixNonzero(fixer_base.BaseFix): |
Martin v. Löwis | ef04c44 | 2008-03-19 05:04:44 +0000 | [diff] [blame] | 9 | 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) |