xref: /third_party/python/Lib/lib2to3/fixes/fix_nonzero.py (revision 7db96d56)
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/python/Lib/lib2to3/fixes/
17db96d56Sopenharmony_ci"""Fixer for __nonzero__ -> __bool__ methods."""
27db96d56Sopenharmony_ci# Author: Collin Winter
37db96d56Sopenharmony_ci
47db96d56Sopenharmony_ci# Local imports
57db96d56Sopenharmony_cifrom .. import fixer_base
67db96d56Sopenharmony_cifrom ..fixer_util import Name
77db96d56Sopenharmony_ci
87db96d56Sopenharmony_ciclass FixNonzero(fixer_base.BaseFix):
97db96d56Sopenharmony_ci    BM_compatible = True
107db96d56Sopenharmony_ci    PATTERN = """
117db96d56Sopenharmony_ci    classdef< 'class' any+ ':'
127db96d56Sopenharmony_ci              suite< any*
137db96d56Sopenharmony_ci                     funcdef< 'def' name='__nonzero__'
147db96d56Sopenharmony_ci                              parameters< '(' NAME ')' > any+ >
157db96d56Sopenharmony_ci                     any* > >
167db96d56Sopenharmony_ci    """
177db96d56Sopenharmony_ci
187db96d56Sopenharmony_ci    def transform(self, node, results):
197db96d56Sopenharmony_ci        name = results["name"]
207db96d56Sopenharmony_ci        new = Name("__bool__", prefix=name.prefix)
217db96d56Sopenharmony_ci        name.replace(new)
22

Indexes created Thu Nov 07 10:32:03 CST 2024