mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	Fix typos in the Lib directory as identified by codespell. Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
		
			
				
	
	
		
			44 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
"""Fixer that adds parentheses where they are required
 | 
						|
 | 
						|
This converts ``[x for x in 1, 2]`` to ``[x for x in (1, 2)]``."""
 | 
						|
 | 
						|
# By Taek Joo Kim and Benjamin Peterson
 | 
						|
 | 
						|
# Local imports
 | 
						|
from .. import fixer_base
 | 
						|
from ..fixer_util import LParen, RParen
 | 
						|
 | 
						|
# XXX This doesn't support nested for loops like [x for x in 1, 2 for x in 1, 2]
 | 
						|
class FixParen(fixer_base.BaseFix):
 | 
						|
    BM_compatible = True
 | 
						|
 | 
						|
    PATTERN = """
 | 
						|
        atom< ('[' | '(')
 | 
						|
            (listmaker< any
 | 
						|
                comp_for<
 | 
						|
                    'for' NAME 'in'
 | 
						|
                    target=testlist_safe< any (',' any)+ [',']
 | 
						|
                     >
 | 
						|
                    [any]
 | 
						|
                >
 | 
						|
            >
 | 
						|
            |
 | 
						|
            testlist_gexp< any
 | 
						|
                comp_for<
 | 
						|
                    'for' NAME 'in'
 | 
						|
                    target=testlist_safe< any (',' any)+ [',']
 | 
						|
                     >
 | 
						|
                    [any]
 | 
						|
                >
 | 
						|
            >)
 | 
						|
        (']' | ')') >
 | 
						|
    """
 | 
						|
 | 
						|
    def transform(self, node, results):
 | 
						|
        target = results["target"]
 | 
						|
 | 
						|
        lparen = LParen()
 | 
						|
        lparen.prefix = target.prefix
 | 
						|
        target.prefix = "" # Make it hug the parentheses
 | 
						|
        target.insert_child(0, lparen)
 | 
						|
        target.append_child(RParen())
 |