B ÔÂ_ã@s,ddlZddlTddlTGdd„deƒZdS)éN)Ú*c@s,eZdZeeƒeeƒdd„Zdd„ZdS)ÚFunctionTrackerHookcCsæt|ddƒdkri|_t|ddƒdkr,g|_t|tjƒrT||j|j<|j |j¡nŽt|tj ƒrât|j tj ƒr°|j j |jkrâxd|j D]&}t|tj ƒr„|j|j j |j|j <q„Wn2x0|j D]&}t|tj ƒr¸|j |jkr¸|j|j =q¸WdS)NÚ functionDefsÚ functionArgs)ÚgetattrrrÚ isinstanceÚastÚ FunctionDefÚnameÚappendÚargsZAssignÚvalueÚNameÚidÚtargets)ÚselfÚrunnerÚscriptÚinfoÚtarget©rúB/tmp/pip-unpacked-wheel-d4p3hk07/pyomo/checker/plugins/function.pyÚprechecks"        zFunctionTrackerHook.precheckcCst|tjƒr|j ¡dS)z#Remove function args from the stackN)rrr rÚpop)rrrrrrrÚ postcheck0s zFunctionTrackerHook.postcheckN)Ú__name__Ú __module__Ú __qualname__Z implementsZ IPreCheckHookZIPostCheckHookrrrrrrrsr)rZpyomo.common.pluginZpyomo.checker.hooksZSingletonPluginrrrrrÚ s