B u `Fã@sRddlZddlmZddlmZddlmZGdd„dejƒZGdd„de ƒZ dS) éN)ÚExtensionPoint)Ú IModelChecker)Ú ModelScriptcs@eZdZggdf‡fdd„ Zdd„Zdd„Z‡fdd „Z‡ZS) ÚCheckingNodeVisitorÚcs<tt|ƒ ¡||_||_||_||_| d¡|_d|_ dS)z| @param tc iterative tree checkers @param dc iterative data checkers @param pt program text Ú rN) ÚsuperrÚ__init__ÚrunnerÚscriptÚ treeCheckersÚ dataCheckersÚsplitÚ programLinesÚrunning_lineno)Úselfr r ÚtcÚdcÚpt)Ú __class__©ú8/tmp/pip-unpacked-wheel-n62dbgi3/pyomo/checker/runner.pyr s zCheckingNodeVisitor.__init__cCs*x$|j|jD]}| |j|j¡qWdS)N)r r Ú_beginCheckingr r )rÚcheckerrrrÚ sendBegin$szCheckingNodeVisitor.sendBegincCs*x$|j|jD]}| |j|j¡qWdS)N)r r Ú _endCheckingr r )rrrrrÚsendEnd(szCheckingNodeVisitor.sendEndc sˆdt|ƒkrR|j}||jkrR||_x.|jD]$}| |j|j||j|df¡q*Wx |jD]}| |j|j|¡qZWt t |ƒ  |¡dS)NÚlinenoé) Údirrrr Ú_checkr r rr rrÚ generic_visit)rÚnodeZcurrent_linenor)rrrr!,s   $ z!CheckingNodeVisitor.generic_visit)Ú__name__Ú __module__Ú __qualname__r rrr!Ú __classcell__rr)rrrsrc@s,eZdZeeƒZdd„Zdd„Zdd„ZdS)ÚModelCheckRunnercCs g|_dS)N)Úscripts)rrrrr >szModelCheckRunner.__init__csÊddlm‰m‰m‰m‰| dd¡}| dd¡}| di¡}||_|dk rX| t|ƒ¡|ikrht dƒxP|j dd D]@}|  ¡|kr®|  ¡||  ¡kr¤|  ¡q¶| ¡qv| ¡qvW‡fd d „|j Dƒ}‡fd d „|j Dƒ}‡fd d „|j Dƒ} ‡fdd „|j Dƒ} xº|jD]°}| ¡} x4|D],} |  ||¡|  ||| ¡|  ||¡q$Wt | ¡} x4| D],} |  ||¡|  ||| ¡|  ||¡qdWt||| || d}| ¡| | ¡| ¡qWdS)Nr)ÚImmediateDataCheckerÚIterativeDataCheckerÚImmediateTreeCheckerÚIterativeTreeCheckerr ÚverboseFÚcheckerszWARNING: No checkers enabled!T)Úallcsg|]}t|ˆƒr|‘qSr)Ú isinstance)Ú.0Úc)r)rrú jsz(ModelCheckRunner.run..csg|]}t|ˆƒr|‘qSr)r0)r1r2)r*rrr3kscsg|]}t|ˆƒr|‘qSr)r0)r1r2)r+rrr3lscsg|]}t|ˆƒr|‘qSr)r0)r1r2)r,rrr3ms)rrr)Zpyomo.checker.plugins.checkerr)r*r+r,Úpopr-Ú addScriptrÚprintÚ _checkersZ_checkerPackageZ _checkerNameÚenableÚdisabler(Úreadrr rÚastÚparserrÚvisitr)rÚargsÚkwargsr r-r.r2ZimmDataCheckersZiterDataCheckersZimmTreeCheckersZiterTreeCheckersÚdatarÚtreeZvisitorr)r)r+r*r,rÚrunAsD              zModelCheckRunner.runcCs|j |¡dS)N)r(Úappend)rr rrrr5„szModelCheckRunner.addScriptN) r#r$r%rrr7r rBr5rrrrr':sCr') r;Zpyomo.common.pluginrZpyomo.checker.checkerrZpyomo.checker.scriptrZ NodeVisitorrÚobjectr'rrrrÚ s    (