OwlCyberSecurity - MANAGER
Edit File: fix_dict.cpython-36.pyc
3 � \�������������������@���sj���d�Z�ddlmZ�ddlmZ�ddlmZ�ddlmZmZmZ�ddlmZ�ej dhB�Z G�dd ��d ej�Zd S�)aj��Fixer for dict methods. d.keys() -> list(d.keys()) d.items() -> list(d.items()) d.values() -> list(d.values()) d.iterkeys() -> iter(d.keys()) d.iteritems() -> iter(d.items()) d.itervalues() -> iter(d.values()) d.viewkeys() -> d.keys() d.viewitems() -> d.items() d.viewvalues() -> d.values() Except in certain very specific contexts: the iter() can be dropped when the context is list(), sorted(), iter() or for...in; the list() can be dropped when the context is list() or sorted() (but not iter() or for...in!). Special contexts that apply to both: list(), sorted(), tuple() set(), any(), all(), sum(). Note: iter(d.keys()) could be written as iter(d) but since the original d.iterkeys() was also redundant we don't fix this. And there are (rare) contexts where it makes a difference (e.g. when passing it as an argument to a function that introspects the argument). ����)�pytree)�patcomp)� fixer_base)�Name�Call�Dot)� fixer_util�iterc���������������@���s@���e�Zd�ZdZdZdd��ZdZeje�Z dZ eje �Zdd��Zd S�) �FixDictTa�� power< head=any+ trailer< '.' method=('keys'|'items'|'values'| 'iterkeys'|'iteritems'|'itervalues'| 'viewkeys'|'viewitems'|'viewvalues') > parens=trailer< '(' ')' > tail=any* > c������� ������C���s��|d�}|d�d�}|d�}|�j�}|j}|jd�}|jd�} |sD| rP|dd���}|dksdtt|���dd��|D��}d d��|D��}|�o�|�j||�} |tj|jt ��t ||jd�g�|d�j��g�}tj|j |�}| p�| s�d|_tt |r�dnd�|g�}|�rtj|j |g|��}|j|_|S�)N�head�method������tailr ���Zview�����keys�items�valuesc�������������S���s���g�|�]}|j����qS���)�clone)�.0�nr���r����./usr/lib64/python3.6/lib2to3/fixes/fix_dict.py� <listcomp>A���s����z%FixDict.transform.<locals>.<listcomp>c�������������S���s���g�|�]}|j����qS�r���)r���)r���r���r���r���r���r���B���s����)�prefixZparens���list)r���r���r���)�syms�value� startswith�AssertionError�repr�in_special_contextr���ZNodeZtrailerr���r���r���r���Zpowerr���) �self�node�resultsr���r���r���r���Zmethod_name�isiterZisviewZspecial�args�newr���r���r���� transform6���s4���� zFixDict.transformz3power< func=NAME trailer< '(' node=any ')' > any* >zmfor_stmt< 'for' any 'in' node=any ':' any* > | comp_for< 'for' any 'in' node=any any* > c�������������C���s����|j�d�krdS�i�}|j�j�d�k r^|�jj|j�j�|�r^|d�|kr^|rN|d�jtkS�|d�jtjkS�|sfdS�|�jj|j�|�o�|d�|kS�)NFr#����func)�parent�p1�matchr����iter_exemptr����consuming_calls�p2)r"���r#���r%���r$���r���r���r���r!���Z���s���� zFixDict.in_special_contextN) �__name__� __module__�__qualname__Z BM_compatibleZPATTERNr(���ZP1r���Zcompile_patternr+���ZP2r/���r!���r���r���r���r���r ���)���s��� r ���N) �__doc__r���r���r���r���r���r���r���r���r.���r-���ZBaseFixr ���r���r���r���r����<module>���s���