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}xZ|jD]L\}}|jds_|jdr@qt|tr|j|qqWx`|D]X}|jd|}|jd|}|s|rj|j||||||s  4