³ò
C3IHc           @   s|   d  d k  l Z d  d k l Z d  d k l Z l Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d	 „  ƒ  YZ	 d
 S(   iÿÿÿÿ(   t   Check(   t   BaseVisitor(   t   astt   walkt   ConstantFinderc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   g  |  _  d  S(   N(   t   result(   t   self(    (    s2   C:\py\_spe\plugins\pychecker2\ConditionalChecks.pyt   __init__   s    c         C   sG   t  | i t i t i t i f ƒ o |  i i | | i f ƒ n d  S(   N(	   t
   isinstancet   parentR   t   Ort   Nott   AndR   t   appendt   value(   R   t   node(    (    s2   C:\py\_spe\plugins\pychecker2\ConditionalChecks.pyt
   visitConst   s    %c         C   sW   | i  d j oC t | i t i t i t i f ƒ o |  i i | d f ƒ qS n d  S(   Nt   None(	   t   nameR   R	   R   R
   R   R   R   R   (   R   R   (    (    s2   C:\py\_spe\plugins\pychecker2\ConditionalChecks.pyt	   visitName   s    %(   t   __name__t
   __module__R   R   R   (    (    (    s2   C:\py\_spe\plugins\pychecker2\ConditionalChecks.pyR      s   		t   GetConditionalConstantsc           B   s/   e  Z d  „  Z d „  Z d „  Z e Z e Z RS(   c         C   s   g  |  _  d  S(   N(   R   (   R   (    (    s2   C:\py\_spe\plugins\pychecker2\ConditionalChecks.pyR      s    c         C   s=   x6 | i  D]+ \ } } |  i i t | t ƒ  ƒ i ƒ q
 Wd  S(   N(   t   testsR   t   extendR   R   (   R   R   t   testt   code(    (    s2   C:\py\_spe\plugins\pychecker2\ConditionalChecks.pyt   visitIf   s    
 c         C   s&   |  i  i t | i t ƒ  ƒ i  ƒ d  S(   N(   R   R   R   R   R   (   R   R   (    (    s2   C:\py\_spe\plugins\pychecker2\ConditionalChecks.pyt
   visitWhile   s    (   R   R   R   R   R   t   visitListCompIft   visitAssert(    (    (    s2   C:\py\_spe\plugins\pychecker2\ConditionalChecks.pyR      s
   			t   ConstantCheckc           B   s    e  Z e d  d ƒ Z d „  Z RS(   s%   Report constants used in conditionalss   Constant used in conditional %sc         C   sW   | i  oI t ƒ  } x= t | i  | ƒ i D]" \ } } | i | |  i | ƒ q) Wn d  S(   N(   t	   parseTreeR   R   R   t   warningt   constantInConditional(   R   t   filet   unused_checkert   vt   nR   (    (    s2   C:\py\_spe\plugins\pychecker2\ConditionalChecks.pyt   check(   s
    
	 (   R   R   t   WarningR"   R'   (    (    (    s2   C:\py\_spe\plugins\pychecker2\ConditionalChecks.pyR   "   s   	N(
   t   pychecker2.CheckR    t   pychecker2.utilR   t   compilerR   R   R   R   R   (    (    (    s2   C:\py\_spe\plugins\pychecker2\ConditionalChecks.pys   <module>   s
   