³ņ
C3IHc           @   sT   d  d k  l Z d  d k l Z d  d k l Z d  d k Td e f d     YZ d S(   i’’’’(   t   Check(   t   Warning(   t   util(   t   *t   RedefineCheckc           B   s    e  Z e d  d  Z d   Z RS(   s   Report redefined scopess"   Scope (%s) is redefined at line %dc   	      C   sŪ   h  } xĪ | i  i   D]½ \ } } t | d  o” | i | i f } | i |  oq | } | | } t i | |  o q n | i | i j o | | } } n | i	 | |  i
 | i | i  n | | | <q q Wd  S(   Nt   name(   t   scopest   itemst   hasattrt   parentR   t   has_keyR   t   try_if_exclusivet   linenot   warningt   redefinedScope(	   t   selft   filet   unused_checkert   namest   nodet   scopet   keyt   firstt   second(    (    s,   C:\py\_spe\plugins\pychecker2\ScopeChecks.pyt   check   s     
(   t   __name__t
   __module__R   R   R   (    (    (    s,   C:\py\_spe\plugins\pychecker2\ScopeChecks.pyR      s   	N(   t   pychecker2.CheckR    t   pychecker2.WarningR   t
   pychecker2R   t   compiler.astR   (    (    (    s,   C:\py\_spe\plugins\pychecker2\ScopeChecks.pys   <module>   s   
