U{ddlZddlmZddlmZdZdZdZdZ dd ej ej d ej d d d fd Z ddej d ej d d d fdZGdd ZGddeZGddeZdS)N)nodes) NodeVisitorparamresolvealias undefinedrparent_symbolsSymbolsreturncxt|}t|}|D]}|||SN)parent)r FrameSymbolVisitorvisit)rr symvisitornodes /srv/buildsys-work-dir/castor/build_node/builder-2/WGSG1/unpkd_srcs/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/jinja2/idtracking.py find_symbolsr sJ  ( ( (C %%G d JrcPt|}|||Sr)r analyze_node)rr rs rsymbols_for_noders-  ( ( (CT Jrc eZdZ ddejddejeddfdZdejdej ddfdZ dd e d ejej e eje fde fd Z d e dejej fd Zd e deje fdZd e de fdZddZd e ddfdZd e de fdZd e ddfdZdejdddfdZdeje e ffdZdeje fdZdS)r Nrlevelr c||d}n |jdz}||_||_i|_i|_t |_dS)Nrr)rrrefsloadssetstores)selfrrs r__init__zSymbols.__init__sL =~ q(  &( )+ "%%% rrkwargsc @t|}|j|fi|dSN) RootVisitorr)r"rr$rs rrzSymbols.analyze_node.s/d## d%%f%%%%%rnameloadcLd|jd|}||j|<| ||j|<|S)Nl__)rrr)r"r(r)idents r _define_refzSymbols._define_ref2s=)TZ(($(( $   $DJu  rtargetct||jvr |j|S|j|j|SdSr&)rr find_load)r"r/s rr1zSymbols.find_load;s? TZ  :f% % ; ";((00 0trct||jvr |j|S|j|j|SdSr&)rrfind_refr"r(s rr3zSymbols.find_refDs> 49  9T? " ; ";''-- -trcZ||}|td|d|S)NzFTried to resolve a name to a reference that was unknown to the frame ())r3AssertionError)r"r(rvs rrefz Symbols.refMsH ]]4  : 4*.444  rcftjtt|j}|j|j|j |_|j |_ |j |_ |Sr&) tcastr object__new__ __class____dict__updatercopyrr!)r"r8s rrBz Symbols.copyVsy VGV^^DN;; < < 4=)))).."":??$$K$$&&  rc|j|||jvrc|j<|j|}| ||t |fdS||tdfdSdSN)r))r!addrrr3r.VAR_LOAD_ALIASVAR_LOAD_UNDEFINED)r"r( outer_refs rstorez Symbols.store^s  ty {& K0066 ($$T0K$LLLF   T);T(B  C C C C C ! rcr|j|||tdfSrD)r!rEr.VAR_LOAD_PARAMETERr4s rdeclare_parameterzSymbols.declare_parameterps5 ,>+EFFFrcp|| ||t|fdSdSrD)r3r.VAR_LOAD_RESOLVEr4s rr)z Symbols.loadtsA ==   &   T)94(@  A A A A A ' &rbranch_symbolscbi}|D]2}|jD](}||jvr ||ddz||<)3|D]_}|j|j|j|j|j|j`|D]\}}|t |kr||}| Jd|j.|j|}|t|f|j|<ot|f|j|<dS)Nrrzshould not happen) r!getrrAritemslenr3rrFrN) r"rOr!branchr/rr( branch_count outer_targets r branch_updatezSymbols.branch_updatexsc#%$ ; ;F - ; ;T[((!'FA!6!6!:v ; " + +C I  SX & & & J  ci ( ( ( K  sz * * * *"(,,.. : : D,s>2222]]4((F%%':%%%{&#{33D99 +*8,)GDJv&"2D!9DJv   : :rci}|}|>#}}T22BtH;D  rct}|}|K|jD](\}\}}|tkr||)|j}|K|Sr&)r rrRrKrEr)r"r8rr/instrr,s rdump_param_targetszSymbols.dump_param_targetssn UU&*&*j&6&6&8&8 # #" ...FF6NNN;D  r)NNr&)r r )__name__ __module__ __qualname__r;Optionalintr#rNodeAnyrstrTupler.r1r3r9rBrIrLr)SequencerWDictrZSetr]rrr r sDMQ ( (j+ (;<:c? (  ( ( ( (&&qu&&&&& LP z!'#qz#2F*GH  15(9SQZ_D#D$DDDD$GcGcGGGGBBBBBB:AJy,A:d::::6 QVCH-     AE#J      rc `eZdZddZdejdejddfdZeZ eZ eZ eZ eZ eZeZdejdejddfd Zdejdejddfd Zdejdejddfd Z ddejd edejddfdZdejdejddfdZdejdejdejddfdZdS)r'symbolsr r Nc.t||_dSr&)r sym_visitorr"rls rr#zRootVisitor.__init__s-g66rrr$c h|D]}|j|dSr&iter_child_nodesrnrr"rr$childs r _simple_visitzRootVisitor._simple_visitsA**,, * *E   " "5 ) ) ) ) * *rc N|jD]}|j|dSr&bodyrnrrss rvisit_AssignBlockzRootVisitor.visit_AssignBlock7Y * *E   " "5 ) ) ) ) * *rc l|dD]}|j|dS)N)call)excluderqrss rvisit_CallBlockzRootVisitor.visit_CallBlocksF**9*== * *E   " "5 ) ) ) ) * *rc N|jD]}|j|dSr&rwrss rvisit_OverlayScopezRootVisitor.visit_OverlayScoperzrrx for_branchc |dkr)|j|jd|j}nl|dkr|j}n^|dkrI|j|jd|j|j|jdSt d|r|D]}|j|dSdS)NrxT)store_as_paramelsetestzUnknown for branch)rnrr/rxelse_r RuntimeError)r"rrr$rTitems r visit_ForzRootVisitor.visit_Fors      " "4;t " D D DYFF 6 ! !ZFF 6 ! !   " "4;t " D D Dy$ &&ty111 F344 4  - - - &&t,,,, - - - -rc |jD]}|j||jD]}|j|dSr&)targetsrnrrx)r"rr$r/rts r visit_WithzRootVisitor.visit_Withsbl + +F   " "6 * * * *Y * *E   " "5 ) ) ) ) * *rargscJtdt|j)NzCannot find symbols for )NotImplementedErrortyper^)r"rrr$s r generic_visitzRootVisitor.generic_visits"!"TT$ZZ=P"T"TUUUrrlr r N)rx)r^r_r`r#rrcr;rdruvisit_Template visit_Block visit_Macrovisit_FilterBlock visit_Scopevisit_Ifvisit_ScopedEvalContextModifier AssignBlockry CallBlockr~ OverlayScoperForrerWithrrrjrrr'r's7777*%***$****#NKK%KH&3#*e&7*15*T*****EO*qu******u'9*QU*t**** 28--I-+.-CD5- ----(*uz*QU*t**** V%*VQUVaeVPTVVVVVVrr'c zeZdZdZddZ ddejd ed ej ddfd Z dej d ej ddfd Z dej d ej ddfd Zdejd ej ddfdZdejd ej ddfdZdejd ej ddfdZdejd ej ddfdZdejd ej ddfdZdejd ej ddfdZdejd ej ddfdZdejd ej ddfdZdejd ej ddfdZ dej!d ej ddfdZ"dej#d ej ddfdZ$dej%d ej ddfdZ&dS)rzA visitor for `Frame.inspect`.rlr r Nc||_dSr&)rlros rr#zFrameSymbolVisitor.__init__s  rFrrr$c |s |jdkr!|j|jdS|jdkr!|j|jdS|jdkr!|j|jdSdS)z2All assignments to names go through this function.rrIr)N)ctxrlrLr(rIr))r"rrr$s r visit_NamezFrameSymbolVisitor.visit_Names  )TX00 L * *49 5 5 5 5 5 X L  ty ) ) ) ) ) X   L  di ( ( ( ( ( rc D|j|jdSr&)rlr)r(r"rr$s r visit_NSRefzFrameSymbolVisitor.visit_NSRefs  $)$$$$$rc *j|jfijdtjt jddffd }||j}||j}||j pd}j |||gdS)Nrr r crx_}|D]}j|fi_|Sr&)rBrlr)rr8subnoder$original_symbolsr"s r inner_visitz0FrameSymbolVisitor.visit_If..inner_visitsS 0 5 5 7 7 7DL2  . . 7--f----+DLIrrj) rrrlr;Iterablerrcrxelif_rrW)r"rr$r body_symbols elif_symbols else_symbolsrs` ` @rrzFrameSymbolVisitor.visit_Ifs 49'''''< qz%*5 )        #{49-- "{4:.. "{4:#344  ""L, #MNNNNNrc D|j|jdSr&)rlrIr(rs rrzFrameSymbolVisitor.visit_Macros  49%%%%%rc `|j|fi||j|jdSr&)rrlrIr/rs r visit_ImportzFrameSymbolVisitor.visit_Imports;4**6*** 4;'''''rc |j|fi||jD]R}t|tr!|j|d8|j|SdS)Nr)rnames isinstancetuplerlrI)r"rr$r(s rvisit_FromImportz#FrameSymbolVisitor.visit_FromImports4**6***J ) )D$&& ) ""47++++ ""4((((  ) )rc R|j|jfi||j|jfi|dS)z'Visit assignments in the correct order.N)rrr/rs r visit_AssignzFrameSymbolVisitor.visit_Assigns@ 49''''' 4;))&)))))rc ,|j|jfi|dS)zqVisiting stops at for blocks. However the block sequence is visited as part of the outer scope. N)riterrs rrzFrameSymbolVisitor.visit_For#s&  49'''''''rc ,|j|jfi|dSr&)rr|rs rr~z"FrameSymbolVisitor.visit_CallBlock)s$ 49'''''''rc ,|j|jfi|dSr&)rfilterrs rrz$FrameSymbolVisitor.visit_FilterBlock,s$ 4;))&)))))rc D|jD]}||dSr&)valuesr)r"rr$r/s rrzFrameSymbolVisitor.visit_With/s2k  F JJv      rc ,|j|jfi|dS)zStop visiting at block assigns.N)rr/rs rryz$FrameSymbolVisitor.visit_AssignBlock3s$ 4;))&)))))rc dS)zStop visiting at scopes.Nrjrs rrzFrameSymbolVisitor.visit_Scope7rc dS)zStop visiting at blocks.Nrjrs rrzFrameSymbolVisitor.visit_Block:rrc dS)z!Do not visit into overlay scopes.Nrjrs rrz%FrameSymbolVisitor.visit_OverlayScope=rrr)F)'r^r_r`__doc__r#rNameboolr;rdrNSRefrIfrMacrorImportr FromImportrAssignrrrrr~ FilterBlockrrrrryScoperBlockrrrrjrrrrs((8= ) )J )04 )HI )  ) ) ) )% %qu%%%%%OUXOO4OOOO$& &qu&&&&&(((4(((()U%5))4))))***4**** (ei(15(T(((( (EO(qu(((((*e&7*15*T****uzQUt*e&7*15*T****' 'qu'''''' 'qu'''''0u'90QU0t000000rrr&)typingr;rrrrKrNrFrGrrcrarrr r'rrjrrrsv  LP :ej !34:i3H?C *&'j&;MMMMMMMM`7V7V7V7V7V+7V7V7VtV0V0V0V0V0V0V0V0V0V0r