관리-도구
편집 파일: fix_next.cpython-35.opt-2.pyc
���]f � @ s� d d l m Z d d l m Z d d l m Z d d l m Z m Z m Z d Z Gd d � d e j � Z d d � Z d d � Z d d � Z d S)� )�token)�python_symbols)� fixer_base)�Name�Call�find_bindingz;Calls to builtin next() possibly shadowed by global bindingc s@ e Z d Z d Z d Z d Z � f d d � Z d d � Z � S)�FixNextTa� power< base=any+ trailer< '.' attr='next' > trailer< '(' ')' > > | power< head=any+ trailer< '.' attr='next' > not trailer< '(' ')' > > | classdef< 'class' any+ ':' suite< any* funcdef< 'def' name='next' parameters< '(' NAME ')' > any+ > any* > > | global=global_stmt< 'global' any* 'next' any* > �prec sW t t | � j | | � t d | � } | rJ | j | t � d | _ n d | _ d S)N�nextTF)�superr � start_treer �warning�bind_warning� shadowed_next)�selfZtree�filename�n)� __class__� �-/opt/alt/python35/lib64/python3.5/fix_next.pyr $ s zFixNext.start_treec C se | j d � } | j d � } | j d � } | r� | j r[ | j t d d | j �� qad d � | D� } d | d _ | j t t d d | j �| � � n� | r� t d d | j �} | j | � n� | r<t | � r&| d } d j d d � | D� � j � d k r"| j | t � d S| j t d � � n% d | k ra| j | t � d | _ d S)N�base�attr�name�__next__�prefixc S s g | ] } | j � � q Sr )Zclone)�.0r r r r � <listcomp>9 s z%FixNext.transform.<locals>.<listcomp>� � r �headc S s g | ] } t | � � q Sr )�str)r r r r r r E s �__builtin__�globalT)�getr �replacer r r �is_assign_target�join�stripr r )r �node�resultsr r r r r r r r � transform. s, ( (zFixNext.transform)�__name__� __module__�__qualname__Z BM_compatibleZPATTERN�orderr r* r r )r r r s r c C s] t | � } | d k r d Sx: | j D]/ } | j t j k rB d St | | � r&