OwlCyberSecurity - MANAGER
Edit File: Eiffel.pyo
� ��^c�����������@���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"���(����(���R!���R���R���s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR���%���s���� (���R���R���t���staticmethodR���(����(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR���"���s���t���EiffelMethodWrapperc�����������B���s���e��Z�d�����Z�d����Z�RS(���c���������C���s���|�|��_��|�|��_�d��S(���N(���t���_instt���_descr(���R���t���instt���descr(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyt���__init__6���s���� c���������O���s���|��j��j�|��j�|�|���S(���N(���R'���t ���callmethodR&���(���R���R���R���(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyt���__call__:���s����(���R���R���R*���R,���(����(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR%���4���s��� t���EiffelDescriptorc�����������B���s#���e��Z�d�����Z�d����Z�d����Z�RS(���c���������C���s7���|�|��_��|�|��_�|�|��_�|�j�|��_�|�j�|��_�d��S(���N(���t���_funcR ���R ���R���R#���(���R���R!���R���R���(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR*���?���s ���� c���������C���s ���t��|�|����S(���N(���R%���(���R���t���objR���(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyt���__get__G���s����c���������C���sZ���|��j��r�|��j��|�|�|���n��|��j�|�|�|���}�|��j�rV�|��j�|�|�|�|���n��|�S(���N(���R ���R.���R ���(���R���R(���R���R���R ���(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR+���J���s���� (���R���R���R*���R0���R+���(����(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR-���=���s��� t���EiffelMetaClass2c�����������B���s���e��Z�e�Z�RS(����(���R���R���R-���R���(����(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR1���R���s���c������������s����d�d���f�d�������Y}�d�|�f�d�������Y}�d�|�f����f�d�������Y���|����}�|�j��d���|�j�d���y�|�j�d���Wn�t�k �r��n�X������}�y�|�j�d���Wn�t�k �r��n�Xy�|�j�d ���Wn�t�k �r��n�X|�j�d ���d��S(���Nt���Eiffelc��������������s���e��Z����Z�RS(����(���R���R���t ���__metaclass__(����(���t ���metaclass(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR2���X���s���t���Testc�����������B���s,���e��Z�d�����Z�d����Z�d����Z�d����Z�RS(���c���������S���s���|�d�S(���s���Make it a little largeri���(����(���R���t���arg(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR���]���s����c���������S���s���|�d�S(���s���Make it a little largeri���(����(���R���R6���(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyt���m2a���s����c���������S���s���d��S(���N(����(���R���R6���(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyt���m2_pree���s����c���������S���s���d��S(���N(����(���R���t���resultR6���(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyt���m2_posth���s����(���R���R���R���R7���R8���R:���(����(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR5���[���s��� t���Subc��������������s ���e��Z�d�����Z����f�d����Z�RS(���c���������S���s���|�d�S(���Ni���(����(���R���R6���(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR7���l���s����c������������s���t�����|����j�|�|���d��S(���N(���R���R:���(���R���t���ResultR6���(���R;���(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR:���n���s����(���R���R���R7���R:���(����(���R;���(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR;���k���s��� i���i����i ���i���(����(���R���R7���t���AssertionError(���R4���R2���R5���t���tt���s(����(���R;���R4���s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyt���_testW���s(���� t���__main__N(����( ���R#���t���typesR����R���t���typeR���R���R%���t���objectR-���R1���R@���R���(����(����(����s2���/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyt���<module>���s��� 4