(root)/
Python-3.12.0/
Lib/
lib2to3/
fixes/
fix_nonzero.py
       1  """Fixer for __nonzero__ -> __bool__ methods."""
       2  # Author: Collin Winter
       3  
       4  # Local imports
       5  from .. import fixer_base
       6  from ..fixer_util import Name
       7  
       8  class ESC[4;38;5;81mFixNonzero(ESC[4;38;5;149mfixer_baseESC[4;38;5;149m.ESC[4;38;5;149mBaseFix):
       9      BM_compatible = True
      10      PATTERN = """
      11      classdef< 'class' any+ ':'
      12                suite< any*
      13                       funcdef< 'def' name='__nonzero__'
      14                                parameters< '(' NAME ')' > any+ >
      15                       any* > >
      16      """
      17  
      18      def transform(self, node, results):
      19          name = results["name"]
      20          new = Name("__bool__", prefix=name.prefix)
      21          name.replace(new)