MOON
Server: Apache/2.2.34 (Unix) mod_ssl/2.2.34 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 FrontPage/5.0.2.2635
System: Linux server.asjudinet.com 2.6.32-042stab141.3 #1 SMP Fri Nov 15 22:45:34 MSK 2019 i686
User: asjudine (504)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: //proc/3/root/proc/2/task/2/root/usr/lib/python2.4/Demo/newmetaclasses/Eiffel.pyo
mò
‚=5Dc@s°dZdklZdefd„ƒYZdefd„ƒYZdfd„ƒYZdefd	„ƒYZd
efd„ƒYZ	d„Z
ed
joe
eƒe
e	ƒndS(s6Support Eiffel-style preconditions and postconditions.(sfunctiontEiffelBaseMetaClasscBs&tZd„Zd„ZeeƒZRS(NcCs,|i|ƒtt|ƒi||||ƒS(N(tmetatconvert_methodstdicttsuperRt__new__tnametbases(RRRR((t0/usr/lib/python2.4/Demo/newmetaclasses/Eiffel.pyRs
cCsÒg}x_|iƒD]Q\}}|idƒp|idƒoqt|tƒo|i|ƒqqWxc|D][}|i
d|ƒ}|i
d|ƒ}|p|o!|i||||ƒ||<qoqoWdS(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(tmethodsRt	iteritemstktvtendswitht
isinstancetfunctiontappendtmtgettpretposttclstmake_eiffel_method(RRRRR
RRR((RRs
 (t__name__t
__module__RRtclassmethod(((RRs		tEiffelMetaClass1cBstZd„ZeeƒZRS(Ncs0‡‡‡d†}ˆioˆi|_n|S(NcsOˆoˆ|||Žnˆ|||Ž}ˆoˆ||||Žn|S(N(RtselftargstkwargstfunctxR(RRRR!(RR R(Rtmethod's(R"R t__doc__(R RRR"((R RRRR&s
(RRRtstaticmethod(((RR#s	tEiffelMethodWrappercBstZd„Zd„ZRS(NcCs||_||_dS(N(tinstRt_insttdescrt_descr(RR&R(((Rt__init__8s	cOs|ii|i||ƒS(N(RR)t
callmethodR'RR(RRR((Rt__call__<s(RRR*R,(((RR%6s	tEiffelDescriptorcBs#tZd„Zd„Zd„ZRS(NcCs7||_||_||_|i|_|i|_dS(N(	R Rt_funcRR	RR
RR#(RR RR((RR*As
			cCs
t||ƒS(N(R%tobjR(RR/R((Rt__get__IscCs^|io|i|||Žn|i|||Ž}|io|i||||Žn|S(N(RR	R&RRR.R!R
(RR&RRR!((RR+Ls

(RRR*R0R+(((RR-?s		tEiffelMetaClass2cBstZeZRS(N(RRR-R(((RR1Tscs÷df‡d†ƒY}d|fd„ƒY}d|f‡d†ƒY‰|ƒ}|idƒ|idƒy|idƒWntj
onXˆƒ}y|idƒWntj
onXy|id	ƒWntj
onX|id
ƒdS(NtEiffelcstZˆZRS(N(RRt	metaclasst
__metaclass__((R3(RR2ZstTestcBs,tZd„Zd„Zd„Zd„ZRS(NcCs|dS(sMake it a little largeriN(targ(RR6((RR_scCs|dS(sMake it a little largeriN(R6(RR6((Rtm2cscCsdS(N((RR6((Rtm2_pregscCsdS(N((RtresultR6((Rtm2_postjs(RRRR7R8R:(((RR5]s			tSubcstZd„Z‡d†ZRS(NcCs|dS(Ni(R6(RR6((RR7nscstˆ|ƒi||ƒdS(N(RR;RR:tResultR6(RR<R6(R;(RR:ps(RRR7R:((R;(RR;ms	iii
i(R2R5R;ttRR7tAssertionErrorts(R3R;R2R?R=R5((R3R;Rt_testYs.	

	t__main__N(R#tnewRttypeRRR%tobjectR-R1R@R(RR%R1R@RRR-((Rt?s
		4