B
    0°zf^  ã               @   s4   d dl Z dZe je je je jgZG dd„ deƒZdS )é    Nz1.2.0c               @   s0   e Zd ZdZdZeZdZdZdd„ Z	dd„ Z
d	S )
ÚMutableDefaultCheckerzˆMutable default argument checker.

    Flake8 extension that alerts when a mutable type is used
    as an argument's default value.
    zflake-mutablez#{} - mutable default arg of type {}ZM511c             C   s
   || _ d S )N)Útree)Úselfr   Úfilename© r   úS/home/ankuromar296_gmail_com/.local/lib/python3.7/site-packages/mutable_defaults.pyÚ__init__   s    zMutableDefaultChecker.__init__c             #   sz   xtt  | j¡D ]d}t|t jƒrxR|jjD ]F‰ t‡ fdd„tD ƒƒr(| j	 
| jtˆ ƒj¡}ˆ jˆ j|t| ƒfV  q(W qW d S )Nc                s   g | ]}t ˆ |ƒ‘qS r   )Ú
isinstance)Ú.0Zmutable_type)Údefaultr   r   ú
<listcomp>#   s   z-MutableDefaultChecker.run.<locals>.<listcomp>)ÚastÚwalkr   r	   ÚFunctionDefÚargsÚdefaultsÚanyÚmutable_typesÚ_error_tmplÚformatÚ_codeÚtypeÚ__name__ÚlinenoÚ
col_offset)r   ÚnodeÚ	error_msgr   )r   r   Úrun   s    

zMutableDefaultChecker.runN)r   Ú
__module__Ú__qualname__Ú__doc__ÚnameÚ__version__Úversionr   r   r   r   r   r   r   r   r      s   r   )	r   r"   ÚCallÚDictÚListÚSetr   Úobjectr   r   r   r   r   Ú<module>   s   