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