%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /snap/core20/current/lib/python3/dist-packages/jinja2/__pycache__/
Upload File :
Create Path :
Current File : //snap/core20/current/lib/python3/dist-packages/jinja2/__pycache__/idtracking.cpython-38.pyc

U

�G�\�#�@spddlmZddlmZdZdZdZdZddd	�Zdd
d�Z	Gdd
�d
e
�ZGdd�de�ZGdd�de�Z
dS)�)�NodeVisitor)�	iteritems�paramZresolve�aliasZ	undefinedNcCs*t|d�}t|�}|D]}|�|�q|S�N)�parent)�Symbols�FrameSymbolVisitor�visit)�nodes�parent_symbols�sym�visitor�node�r�3/usr/lib/python3/dist-packages/jinja2/idtracking.py�find_symbolss

rcCst|d�}|�|�|Sr)r�analyze_node)rrr
rrr�symbols_for_nodes

rc@sxeZdZddd�Zdd�Zddd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)rNcCsD|dkr |dkrd}n
|jd}||_||_i|_i|_t�|_dS)Nr�)�levelr�refs�loads�set�stores)�selfrrrrr�__init__s
zSymbols.__init__cKst|�}|j|f|�dS�N)�RootVisitorr
)rr�kwargsrrrrr'szSymbols.analyze_nodecCs.d|j|f}||j|<|dk	r*||j|<|S)Nzl_%d_%s)rrr)r�name�loadZidentrrr�_define_ref+s


zSymbols._define_refcCs.||jkr|j|S|jdk	r*|j�|�SdSr)rr�	find_load)r�targetrrrr#2s


zSymbols.find_loadcCs.||jkr|j|S|jdk	r*|j�|�SdSr)rr�find_ref�rr rrrr%8s


zSymbols.find_refcCs"|�|�}|dkrtd|��|S)NzITried to resolve a name to a reference that was unknown to the frame (%r))r%�AssertionError)rr �rvrrr�ref>s
�zSymbols.refcCsBt�|j�}|j�|j�|j��|_|j��|_|j��|_|Sr)	�object�__new__�	__class__�__dict__�updater�copyrr)rr(rrrr/EszSymbols.copycCs`|j�|�||jkr\|jdk	rJ|j�|�}|dk	rJ|j|t|fd�dS|j|tdfd�dS�N)r!)r�addrrr%r"�VAR_LOAD_ALIAS�VAR_LOAD_UNDEFINED)rr Z	outer_refrrr�storeMs

z
Symbols.storecCs|j�|�|j|tdfd�Sr0)rr1r"�VAR_LOAD_PARAMETERr&rrr�declare_parameter_szSymbols.declare_parametercCs(|�|�}|dkr$|j|t|fd�dSr0)r%r"�VAR_LOAD_RESOLVE)rr r$rrrr!cs
zSymbols.loadc	Cs�i}|D]0}|jD]$}||jkr"q|�|d�d||<qq|D].}|j�|j�|j�|j�|j�|j�q>t|�D]l\}}|t|�kr�qv|�|�}|dk	s�td��|j	dk	r�|j	�|�}|dk	r�t
|f|j|<qvt|f|j|<qvdS)Nrrzshould not happen)r�getrr.rr�lenr%r'rr2r7)	rZbranch_symbolsr�branchr$r
r Zbranch_countZouter_targetrrr�
branch_updatehs*



zSymbols.branch_updatecCs>i}|}|dk	r:|jD]}||kr|�|�||<q|j}q|Sr)rr%r)rr(rr rrr�dump_stores�s
zSymbols.dump_storescCsHt�}|}|dk	rDt|j�D]\}\}}|tkr|�|�q|j}q
|Sr)rrrr5r1r)rr(rr$Zinstr�_rrr�dump_param_targets�szSymbols.dump_param_targets)NN)N)�__name__�
__module__�__qualname__rrr"r#r%r)r/r4r6r!r;r<r>rrrrrs


rc@sjeZdZdd�Zdd�ZeZZZZZ	Z
Zdd�Zdd�Z
d	d
�Zddd
�Zdd�Zdd�ZdS)rcCst|�|_dSr)r	�sym_visitor�r�symbolsrrrr�szRootVisitor.__init__cKs|��D]}|j�|�qdSr�Ziter_child_nodesrBr
�rrr�childrrr�
_simple_visit�szRootVisitor._simple_visitcKs|jD]}|j�|�qdSr��bodyrBr
rFrrr�visit_AssignBlock�s
zRootVisitor.visit_AssignBlockcKs"|jdd�D]}|j�|�qdS)N)�call)ZexcluderErFrrr�visit_CallBlock�szRootVisitor.visit_CallBlockcKs|jD]}|j�|�qdSrrIrFrrr�visit_OverlayScope�s
zRootVisitor.visit_OverlayScoperJcKs�|dkr"|jj|jdd�|j}nN|dkr2|j}n>|dkrh|jj|jdd�|jdk	rd|j�|j�dStd��|pvdD]}|j�|�qxdS)NrJT)�store_as_param�else�testzUnknown for branchr)rBr
r$rJ�else_rQ�RuntimeError)rrZ
for_branchrr:�itemrrr�	visit_For�s
zRootVisitor.visit_ForcKs4|jD]}|j�|�q|jD]}|j�|�qdSr)ZtargetsrBr
rJ)rrrr$rGrrr�
visit_With�s

zRootVisitor.visit_WithcOstd|jj��dS)NzCannot find symbols for %r)�NotImplementedErrorr,r?)rr�argsrrrr�
generic_visit�s�zRootVisitor.generic_visitN)rJ)r?r@rArrHZvisit_Template�visit_Block�visit_Macro�visit_FilterBlock�visit_Scope�visit_IfZvisit_ScopedEvalContextModifierrKrMrNrUrVrYrrrrr�s��
rc@s�eZdZdZdd�Zd$dd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#S)%r	zA visitor for `Frame.inspect`.cCs
||_dSr)rDrCrrrr�szFrameSymbolVisitor.__init__FcKsT|s|jdkr|j�|j�n2|jdkr8|j�|j�n|jdkrP|j�|j�dS)z2All assignments to names go through this function.rr4r!N)ZctxrDr6r r4r!)rrrOrrrr�
visit_Name�s

zFrameSymbolVisitor.visit_NamecKs|j�|j�dSr)rDr!r �rrrrrr�visit_NSRef�szFrameSymbolVisitor.visit_NSRefcs^�j|jf���j����fdd�}||j�}||j�}||jpDd�}�j�|||g�dS)Ncs0����_}|D]}�j|f��q��_|Sr)r/rDr
)rr(Zsubnode�rZoriginal_symbolsrrr�inner_visit�s
z0FrameSymbolVisitor.visit_If.<locals>.inner_visitr)r
rQrDrJZelif_rRr;)rrrrcZbody_symbolsZelif_symbolsZelse_symbolsrrbrr^�s

zFrameSymbolVisitor.visit_IfcKs|j�|j�dSr)rDr4r r`rrrr[�szFrameSymbolVisitor.visit_MacrocKs |j|f|�|j�|j�dSr)rYrDr4r$r`rrr�visit_Import�szFrameSymbolVisitor.visit_ImportcKsF|j|f|�|jD],}t|t�r4|j�|d�q|j�|�qdS)Nr)rY�names�
isinstance�tuplerDr4)rrrr rrr�visit_FromImport�s


z#FrameSymbolVisitor.visit_FromImportcKs$|j|jf|�|j|jf|�dS)z'Visit assignments in the correct order.N)r
rr$r`rrr�visit_Assign�szFrameSymbolVisitor.visit_AssigncKs|j|jf|�dS)zqVisiting stops at for blocks.  However the block sequence
        is visited as part of the outer scope.
        N)r
�iterr`rrrrUszFrameSymbolVisitor.visit_ForcKs|j|jf|�dSr)r
rLr`rrrrM	sz"FrameSymbolVisitor.visit_CallBlockcKs|j|jf|�dSr)r
�filterr`rrrr\sz$FrameSymbolVisitor.visit_FilterBlockcKs|jD]}|�|�qdSr)�valuesr
)rrrr$rrrrVs
zFrameSymbolVisitor.visit_WithcKs|j|jf|�dS)zStop visiting at block assigns.N)r
r$r`rrrrKsz$FrameSymbolVisitor.visit_AssignBlockcKsdS)zStop visiting at scopes.Nrr`rrrr]szFrameSymbolVisitor.visit_ScopecKsdS)zStop visiting at blocks.Nrr`rrrrZszFrameSymbolVisitor.visit_BlockcKsdS)z!Do not visit into overlay scopes.Nrr`rrrrNsz%FrameSymbolVisitor.visit_OverlayScopeN)F)r?r@rA�__doc__rr_rar^r[rdrhrirUrMr\rVrKr]rZrNrrrrr	�s"
	r	)N)N)Zjinja2.visitorrZjinja2._compatrr5r7r2r3rrr*rrr	rrrr�<module>s

~4

Zerion Mini Shell 1.0