U if @sRdZddlmZddlmZddlmZddlm Z m Z m Z Gdddej Z dS) a7 Fixer that changes zip(seq0, seq1, ...) into list(zip(seq0, seq1, ...) unless there exists a 'from future_builtins import zip' statement in the top-level namespace. We avoid the transformation if the zip() call is directly contained in iter(<>), list(<>), tuple(<>), sorted(<>), ...join(<>), or for V in <>:. ) fixer_base)Node)python_symbols)NameArgListin_special_contextc@s eZdZdZdZdZddZdS)FixZipTzN power< 'zip' args=trailer< '(' [any] ')' > [trailers=trailer*] > zfuture_builtins.zipcCs||rdSt|rdS|d}d|_g}d|krZdd|dD}|D] }d|_qNttjtd|gdd}ttjtdt|gg|}|j|_|S) NargstrailerscSsg|] }|qS)clone).0nr r :/opt/alt/python38/lib64/python3.8/lib2to3/fixes/fix_zip.py 'sz$FixZip.transform..zip)prefixlist) Z should_skiprr rrsymsZpowerrr)selfZnodeZresultsr r rnewr r r transforms  zFixZip.transformN)__name__ __module__ __qualname__Z BM_compatibleZPATTERNZskip_onrr r r rrsrN)__doc__r rZpytreerZpygramrrZ fixer_utilrrrZConditionalFixrr r r rs