Viewing File: /usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyo
ó
V
Qc @ s± d Z d d l m Z d e f d „ ƒ YZ d e f d „ ƒ YZ d d d „ ƒ YZ d e f d
„ ƒ YZ d e f d „ ƒ YZ
d
„ Z e d k r e e ƒ e e
ƒ n d S( s6 Support Eiffel-style preconditions and postconditions.iÿÿÿÿ( t FunctionTypet EiffelBaseMetaClassc B s e Z d „ Z e d „ ƒ Z RS( c C s, | j | ƒ t t | ƒ j | | | | ƒ S( N( t convert_methodst superR t __new__( t metat namet basest dict( ( s2 /usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR s
c C sÊ g } xZ | j ƒ D]L \ } } | j d ƒ s_ | j d ƒ r@ q t | t ƒ r | j | ƒ q q Wx` | D]X } | j d | ƒ } | j d | ƒ } | s¢ | rj | j | | | | ƒ | | <qj qj Wd S( sí Replace functions in dict with EiffelMethod wrappers.
The dict is modified in place.
If a method ends in _pre or _post, it is removed from the dict
regardless of whether there is a corresponding method.
t _pret _posts %s_pres %s_postN( t iteritemst endswitht
isinstancet functiont appendt gett make_eiffel_method( t clsR t methodst kt vt mt pret post( ( s2 /usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR s
( t __name__t
__module__R t classmethodR ( ( ( s2 /usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR s t EiffelMetaClass1c B s e Z e d „ ƒ Z RS( c s1 ‡ ‡ ‡ f d † } ˆ j r- ˆ j | _ n | S( Nc sK ˆ r ˆ | | | Ž n ˆ | | | Ž } ˆ rG ˆ | | | | Ž n | S( N( ( t selft argst kwargst x( t funcR R ( s2 /usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyt method' s ( t __doc__( R! R R R"