v #8u&dZddlZddlZddlmZddlmZddlmZddlmZhdZej dZ ej edd Z Gd d ej ZGd dej ZGddej ZGddZdS)zyHandles parsing of Python code. Parsing to AST is done via _ast on Python > 2.5, otherwise the compiler module is used. N) _ast_util)compat) exceptions)util>NoneTrueFalseprintargexecc tj|d|S#t$rV}tjdt jjjdt jd|dddfi||d}~wwxYw) zParse an expression into ASTz (z) z (r2)N) rparse ExceptionrSyntaxExceptionr exception_as __class____name__)codemodeexception_kwargses /srv/buildsys-work-dir/castor/build_node/builder-2/WGSG1/unpkd_srcs/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/mako/pyparser.pyrr s t[$777    ((#%%/888#%%%%QrT        s A8AA33A8c\eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdS)FindIdentifiersc dd|_d|_t|_||_||_dSNF) in_functionin_assign_targetssetlocal_ident_stacklistenerrselfr$rs r__init__zFindIdentifiers.__init__2s3 !&!$  0c|js!|jj|dS|j|dSN)r r$declared_identifiersaddr#)r&names r _add_declaredzFindIdentifiers._add_declared9sI - M . 2 24 8 8 8 8 8  " & &t , , , , ,r(c:||jdSr*)r.r-r&nodes rvisit_ClassDefzFindIdentifiers.visit_ClassDef?s 49%%%%%r(c||j|j}d|_|jD]}||||_dSNT)visitvaluer!targets)r&r1in_ans r visit_AssignzFindIdentifiers.visit_AssignBsX 4:%!%  A JJqMMMM!%r(c|j||j|j||j|jD]}||dSr*)r-r.typer5bodyr&r1 statements rvisit_ExceptHandlerz#FindIdentifiers.visit_ExceptHandlerOsl 9   ty ) ) ) 9 JJty ! ! ! " "I JJy ! ! ! ! " "r(c2||ddSr4)_visit_function)r&r1argss r visit_LambdazFindIdentifiers.visit_LambdaWs T4(((((r(cf||j||ddSr)r.r-rBr0s rvisit_FunctionDefz!FindIdentifiers.visit_FunctionDefZs4 49%%% T5)))))r(c#lK|D].}t|tjr|jEd{V*|V/dSr*) isinstance_astTupleelts)r&rCr s r_expand_tupleszFindIdentifiers._expand_tuples^s[  C#tz** 8########   r(cF|j}d|_|j}|d||jjD|_|r||jn|jD]}||||_||_dS)NTc,g|]}t|Sarg_id.0r s r z3FindIdentifiers._visit_function..rs H H HSVC[[ H H Hr()r r#unionrLrCr5r=)r&r1islambdainfr#r9s rrBzFindIdentifiers._visit_functiones 2!2!8!8 H HD$7$7 $G$G H H H" "    JJty ! ! ! !Y   1 !2r(c||j||j|jD]}|||jD]}||dSr*)r5itertargetr=orelser>s r visit_ForzFindIdentifiers.visit_For|s 49 4; " "I JJy ! ! ! ! " "I JJy ! ! ! ! " "r(c.t|jtjr||jdS|jt vrG|j|jjvr6|j|j vr*|jj |jdSdSdSdSr*) rHctxrIStorer.idreservedr$r+r#undeclared_identifiersr,r0s r visit_NamezFindIdentifiers.visit_Names dh + + >   tw ' ' ' ' ' G8 # #t}AAAt555 M 0 4 4TW = = = = = $ #AA55r(c|jD]W}|j||j$||jddXdS)N.r)namesasnamer.r-splitr&r1r-s r visit_ImportzFindIdentifiers.visit_ImportshJ < import , , ...' instead.)rm)rfrgr.r-rCompileExceptionrris rvisit_ImportFromz FindIdentifiers.visit_ImportFromsJ . .D{&""4;////c!! 1$ + ""49---- . .r(N)r __module__ __qualname__r'r.r2r:r@rDrFrLrBr\rcrjrorOr(rrr1s111--- &&& & & &""")))***333. " " " > > ><<< . . . . .r(rceZdZdZdZdS) FindTuplec 0||_||_||_dSr*)r$r code_factory)r&r$rurs rr'zFindTuple.__init__s  0(r(c|jD]}|j|fi|j}|jj||jjt||jj }| |j |j_ |jj }| |j |j_ dSr*) rKrurr$codeargsappendrCExpressionGeneratorr6r+rUrb)r&r1r9pldiluis r visit_TuplezFindTuple.visit_Tuples  A!!!==t'<==A M " ) )! , , , M  % %&9!&<&<&B&B&D&D E E E-4C14&22DM .-6C3699(44DM 0 0  r(N)rrprqr'r}rOr(rrsrss2)))     r(rsceZdZdZdZdS) ParseFuncc "||_||_dSr*)r$rr%s rr'zParseFunc.__init__s  0r(c |j|j_d|jjD}|jjr$||jjjd|jjD}|jjr$||jjj||j_ |jj |j_ ||j_ |jj |j_ |jj|j_|jj|j_dS)Nc,g|]}t|SrOrPrRs rrTz/ParseFunc.visit_FunctionDef..s:::CF3KK:::r(c,g|]}t|SrOrPrRs rrTz/ParseFunc.visit_FunctionDef..sBBBcfSkkBBBr()r-r$funcnamerCvarargrxr kwonlyargskwargargnamesdefaults kwargnames kw_defaults kwdefaultsvarargskwargs)r&r1rrs rrFzParseFunc.visit_FunctionDefs!% ::49>::: 9  2 OODI,0 1 1 1BBTY-ABBB 9? 3   dio1 2 2 2!) !%!3 #-  #'9#8  $ 0 #y r(N)rrprqr'rFrOr(rrrs2111/////r(rceZdZdZdZdS)rycltjd|_|j|dS)Nz )rSourceGenerator generatorr5)r&astnodes rr'zExpressionGenerator.__init__s0"27;; W%%%%%r(c@d|jjS)N)joinrresult)r&s rr6zExpressionGenerator.valueswwt~,---r(N)rrprqr'r6rOr(rryrys2&&&.....r(ry)r )__doc__operatorrImakorrrrra attrgetterrQ restore__astr NodeVisitorrrsrryrOr(rrsu   . - -  U # #$"v.v.v.v.v.i+v.v.v.r %*///// %///...........r(