V Qc@sdZddlmZdefdYZdefdYZdddYZd efd YZ d efd YZ d Z e dkre ee e ndS(s6Support Eiffel-style preconditions and postconditions.i(t FunctionTypetEiffelBaseMetaClasscBs eZdZedZRS(cCs,|j|tt|j||||S(N(tconvert_methodstsuperRt__new__(tmetatnametbasestdict((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyRs cCsg}xo|jD]a\}}|jds=|jdrUt|tsttqt|tr|j|qqWx`|D]X}|jd|}|jd|}|s|r|j||||||s  4