MOON
Server: Apache
System: Linux server30c.hostingraja.org 3.10.0-962.3.2.lve1.5.63.el7.x86_64 #1 SMP Fri Oct 8 12:03:35 UTC 2021 x86_64
User: jibhires (1887)
PHP: 8.1.30
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, allow_url_fopen, symlink, escapeshellcmd, pcntl_exec
Upload Files
File: //opt/alt/python38/lib/python3.8/site-packages/jinja2/__pycache__/idtracking.cpython-38.pyc
U

^�a�)�@s�ddlZddlmZddlmZdZdZdZdZ	dej
ejejd	d	d
�dd�Z
dejejd	d	d
�dd�ZGdd	�d	�ZGdd�de�ZGdd�de�ZdS)�N�)�nodes)�NodeVisitor�paramZresolve�aliasZ	undefined�Symbols)r�parent_symbols�returncCs*t|d�}t|�}|D]}|�|�q|S�N)�parent)r�FrameSymbolVisitor�visit)rr�sym�visitor�node�r�B/opt/alt/python38/lib/python3.8/site-packages/jinja2/idtracking.py�find_symbolss

r)rrr	cCst|d�}|�|�|Sr
)r�analyze_node)rrrrrr�symbols_for_nodes

rc@s*eZdZd#ejdejedd�dd�Zejej	dd�dd�Z
d$eejejeejefed�d	d
�Z
eejej	d�dd
�Zeejed�dd�Zeed�dd�Zdd�dd�Zedd�dd�Zeed�dd�Zedd�dd�Zejddd�dd�Zejeefd�dd �Zejed�d!d"�ZdS)%rN)r�levelr	cCsD|dkr |dkrd}n
|jd}||_||_i|_i|_t�|_dS)Nrr)rr�refs�loads�set�stores)�selfrrrrr�__init__s
zSymbols.__init__�r�kwargsr	cKst|�}|j|f|�dS�N)�RootVisitorr
)rrrrrrrr.szSymbols.analyze_node)�name�loadr	cCs2d|j�d|��}||j|<|dk	r.||j|<|S)NZl_�_)rrr)rr!r"Zidentrrr�_define_ref2s


zSymbols._define_ref)�targetr	cCs.||jkr|j|S|jdk	r*|j�|�SdSr)rr�	find_load)rr%rrrr&;s



zSymbols.find_load)r!r	cCs.||jkr|j|S|jdk	r*|j�|�SdSr)rr�find_ref�rr!rrrr'Ds



zSymbols.find_refcCs&|�|�}|dkr"td|�d���|S)NzFTried to resolve a name to a reference that was unknown to the frame (�))r'�AssertionError)rr!�rvrrr�refMs

�zSymbols.ref)r	cCsJt�tt�|j��}|j�|j�|j�	�|_|j
�	�|_
|j�	�|_|Sr)�t�castr�object�__new__�	__class__�__dict__�updater�copyrr)rr+rrrr4Vs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�store^s

z
Symbols.storecCs|j�|�|j|tdfd�Sr5)rr6r$�VAR_LOAD_PARAMETERr(rrr�declare_parameterpszSymbols.declare_parametercCs$|�|�dkr |j|t|fd�dSr5)r'r$�VAR_LOAD_RESOLVEr(rrrr"tszSymbols.load)�branch_symbolsr	c	Cs�i}|D]0}|jD]$}||jkr"q|�|d�d||<qq|D].}|j�|j�|j�|j�|j�|j�q>|��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�getrr3r�items�lenr'r*rr7r<)	rr=r�branchr%rr!Zbranch_countZouter_targetrrr�
branch_updatexs*



zSymbols.branch_updatecCsBi}|}|dk	r>t|j�D]}||kr|�|�||<q|j}q|Sr)�sortedrr'r)rr+rr!rrr�dump_stores�szSymbols.dump_storescCsHt�}|}|dk	rD|j��D]\}\}}|tkr|�|�q|j}q
|Sr)rrr?r:r6r)rr+rr%Zinstrr#rrr�dump_param_targets�szSymbols.dump_param_targets)NN)N)�__name__�
__module__�__qualname__r-�Optional�intrr�Node�Anyr�strZTupler$r&r'r,r4r9r;r"�SequencerBZDictrD�SetrErrrrrs0����				
c@s�eZdZddd�dd�Zejejdd�dd�ZeZ	eZ
eZeZeZ
eZeZejejdd�d	d
�Zejejdd�dd�Zejejdd�d
d�Zdejeejdd�dd�Zejejdd�dd�Zejejejdd�dd�ZdS)r rN��symbolsr	cCst|�|_dSr)r�sym_visitor�rrQrrrr�szRootVisitor.__init__rcKs|��D]}|j�|�qdSr�Ziter_child_nodesrRr
�rrr�childrrr�
_simple_visit�szRootVisitor._simple_visitcKs|jD]}|j�|�qdSr��bodyrRr
rUrrr�visit_AssignBlock�s
zRootVisitor.visit_AssignBlockcKs"|jdd�D]}|j�|�qdS)N)�call)ZexcluderTrUrrr�visit_CallBlock�szRootVisitor.visit_CallBlockcKs|jD]}|j�|�qdSrrXrUrrr�visit_OverlayScope�s
zRootVisitor.visit_OverlayScoperY)r�
for_branchrr	cKs�|dkr"|jj|jdd�|j}nN|dkr2|j}n>|dkrh|jj|jdd�|jdk	rd|j�|j�dStd��|r�|D]}|j�|�qxdS)NrYT)�store_as_param�else�testzUnknown for branch)rRr
r%rY�else_ra�RuntimeError)rrr^rrA�itemrrr�	visit_For�s
zRootVisitor.visit_ForcKs4|jD]}|j�|�q|jD]}|j�|�qdSr)ZtargetsrRr
rY)rrrr%rVrrr�
visit_With�s

zRootVisitor.visit_With)r�argsrr	cOstdt|�j����dS)NzCannot find symbols for )�NotImplementedError�typerF)rrrgrrrr�
generic_visit�szRootVisitor.generic_visit)rY)rFrGrHrrrKr-rLrWZvisit_Template�visit_Block�visit_Macro�visit_FilterBlock�visit_Scope�visit_IfZvisit_ScopedEvalContextModifier�AssignBlockrZ�	CallBlockr\�OverlayScoper]�ForrMre�Withrfrjrrrrr �s*��r c@sneZdZdZddd�dd�Zd(ejeej	dd�d	d
�Z
ejej	dd�dd
�Zej
ej	dd�dd�Zejej	dd�dd�Zejej	dd�dd�Zejej	dd�dd�Zejej	dd�dd�Zejej	dd�dd�Zejej	dd�dd�Zejej	dd�dd�Zejej	dd�dd�Zejej	dd�d d!�Z ej!ej	dd�d"d#�Z"ej#ej	dd�d$d%�Z$ej%ej	dd�d&d'�Z&dS))rzA visitor for `Frame.inspect`.rNrPcCs
||_dSr)rQrSrrrr�szFrameSymbolVisitor.__init__F)rr_rr	cKsT|s|jdkr|j�|j�n2|jdkr8|j�|j�n|jdkrP|j�|j�dS)z2All assignments to names go through this function.rr9r"N)ZctxrQr;r!r9r")rrr_rrrr�
visit_Name�s

zFrameSymbolVisitor.visit_NamercKs|j�|j�dSr)rQr"r!�rrrrrr�visit_NSRef�szFrameSymbolVisitor.visit_NSRefcsn�j|jf���j�tjtjdd����fdd�}||j�}||j�}||j	pTd�}�j�
|||g�dS)Nr)rr	cs0����_}|D]}�j|f��q��_|Sr)r4rQr
)rr+Zsubnode�rZoriginal_symbolsrrr�inner_visits
z0FrameSymbolVisitor.visit_If.<locals>.inner_visitr)r
rarQr-�IterablerrKrYZelif_rbrB)rrrryZbody_symbolsZelif_symbolsZelse_symbolsrrxrro�s 	

zFrameSymbolVisitor.visit_IfcKs|j�|j�dSr)rQr9r!rvrrrrlszFrameSymbolVisitor.visit_MacrocKs |j|f|�|j�|j�dSr)rjrQr9r%rvrrr�visit_ImportszFrameSymbolVisitor.visit_ImportcKsF|j|f|�|jD],}t|t�r4|j�|d�q|j�|�qdS)Nr)rj�names�
isinstance�tuplerQr9)rrrr!rrr�visit_FromImports


z#FrameSymbolVisitor.visit_FromImportcKs$|j|jf|�|j|jf|�dS)z'Visit assignments in the correct order.N)r
rr%rvrrr�visit_AssignszFrameSymbolVisitor.visit_AssigncKs|j|jf|�dS)zqVisiting stops at for blocks.  However the block sequence
        is visited as part of the outer scope.
        N)r
�iterrvrrrre#szFrameSymbolVisitor.visit_ForcKs|j|jf|�dSr)r
r[rvrrrr\)sz"FrameSymbolVisitor.visit_CallBlockcKs|j|jf|�dSr)r
�filterrvrrrrm,sz$FrameSymbolVisitor.visit_FilterBlockcKs|jD]}|�|�qdSr)�valuesr
)rrrr%rrrrf/s
zFrameSymbolVisitor.visit_WithcKs|j|jf|�dS)zStop visiting at block assigns.N)r
r%rvrrrrZ3sz$FrameSymbolVisitor.visit_AssignBlockcKsdS)zStop visiting at scopes.Nrrvrrrrn7szFrameSymbolVisitor.visit_ScopecKsdS)zStop visiting at blocks.Nrrvrrrrk:szFrameSymbolVisitor.visit_BlockcKsdS)z!Do not visit into overlay scopes.Nrrvrrrr]=sz%FrameSymbolVisitor.visit_OverlayScope)F)'rFrGrH�__doc__rr�Name�boolr-rLruZNSRefrwZIfroZMacrorlZImportr{Z
FromImportrZAssignr�rsrerqr\ZFilterBlockrmrtrfrprZZScopernZBlockrkrrr]rrrrr�s.��	r)N)N)�typingr-�rrrr:r<r7r8rzrKrIrrrr rrrrr�<module>s,�
���: