³ò
Ü‘RMc           @   s0   d  e  f d „  ƒ  YZ d e  f d „  ƒ  YZ d S(   t
   ropropertyc           B   s   e  Z d  „  Z d d „ Z RS(   c         C   s   | |  _  d  S(   N(   t   getter(   t   selfR   (    (    s(   /64/home/arigo/u/pypy/tool/descriptor.pyt   __init__   s    c         C   s&   | d  j o |  Sn |  i | ƒ Sd  S(   N(   t   NoneR   (   R   t   objt   cls(    (    s(   /64/home/arigo/u/pypy/tool/descriptor.pyt   __get__   s    N(   t   __name__t
   __module__R   R   R   (    (    (    s(   /64/home/arigo/u/pypy/tool/descriptor.pyR       s   	t   InstanceMethodc           B   s;   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   sG   Like types.InstanceMethod, but with a reasonable (structural) equality.c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   im_funct   im_selft   im_class(   R   R   R   R   (    (    s(   /64/home/arigo/u/pypy/tool/descriptor.pyR      s    		c         O   s{   |  i  } | d  j oR | p t | d |  i ƒ o t d |  i f ƒ ‚ n | d } | d } n |  i | | | Ž S(   Ni    s1   must be called with %r instance as first argumenti   (   R   R   t
   isinstanceR   t	   TypeErrorR   (   R   t   argst   kwdst   firstarg(    (    s(   /64/home/arigo/u/pypy/tool/descriptor.pyt   __call__   s    	 
c         C   s3   t  | t ƒ o# |  i | i j o |  i | i j S(   N(   R   R
   R   R   (   R   t   other(    (    s(   /64/home/arigo/u/pypy/tool/descriptor.pyt   __eq__   s    c         C   s   |  i  | ƒ S(   N(   R   (   R   R   (    (    s(   /64/home/arigo/u/pypy/tool/descriptor.pyt   __ne__$   s    c         C   s   t  |  i |  i f ƒ S(   N(   t   hashR   R   (   R   (    (    s(   /64/home/arigo/u/pypy/tool/descriptor.pyt   __hash__'   s    (   R   R	   t   __doc__R   R   R   R   R   (    (    (    s(   /64/home/arigo/u/pypy/tool/descriptor.pyR
      s   				N(   t   objectR    R
   (    (    (    s(   /64/home/arigo/u/pypy/tool/descriptor.pys   <module>   s   

