a
    d                     @   s   d dl mZ dZG dd deZG dd deZG dd deZG d	d
 d
eZG dd deZG dd deZ	G dd deZ
dZG dd deZ[G dd deZG dd dee	ZG dd deZe e_dS )    )Token)c                   @   s   e Zd ZdS )TreeN__name__
__module____qualname__ r
   r
   Y/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/antlr4/tree/Tree.pyr      s   r   c                   @   s   e Zd ZdS )
SyntaxTreeNr   r
   r
   r
   r   r      s   r   c                   @   s   e Zd ZdS )	ParseTreeNr   r
   r
   r
   r   r      s   r   c                   @   s   e Zd ZdS )RuleNodeNr   r
   r
   r
   r   r      s   r   c                   @   s   e Zd ZdS )TerminalNodeNr   r
   r
   r
   r   r      s   r   c                   @   s   e Zd ZdS )	ErrorNodeNr   r
   r
   r
   r   r      s   r   c                   @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )ParseTreeVisitorc                 C   s
   | | S N)accept)selftreer
   r
   r   visit!   s    zParseTreeVisitor.visitc                 C   sV   |   }| }t|D ]8}| ||s0|  S ||}|| }| ||}q|S r   )defaultResultgetChildCountrangeshouldVisitNextChildgetChildr   aggregateResult)r   noderesultnicZchildResultr
   r
   r   visitChildren$   s    

zParseTreeVisitor.visitChildrenc                 C   s   |   S r   r   r   r   r
   r
   r   visitTerminal1   s    zParseTreeVisitor.visitTerminalc                 C   s   |   S r   r#   r$   r
   r
   r   visitErrorNode4   s    zParseTreeVisitor.visitErrorNodec                 C   s   d S r   r
   r   r
   r
   r   r   7   s    zParseTreeVisitor.defaultResultc                 C   s   |S r   r
   )r   Z	aggregateZ
nextResultr
   r
   r   r   :   s    z ParseTreeVisitor.aggregateResultc                 C   s   dS )NTr
   )r   r   ZcurrentResultr
   r
   r   r   =   s    z%ParseTreeVisitor.shouldVisitNextChildN)
r   r   r	   r   r"   r%   r&   r   r   r   r
   r
   r
   r   r       s   r   Nc                   @   sD   e Zd ZedddZedddZedddZedd	d
Z	dS )ParseTreeListener)r   c                 C   s   d S r   r
   r$   r
   r
   r   r%   D   s    zParseTreeListener.visitTerminalc                 C   s   d S r   r
   r$   r
   r
   r   r&   G   s    z ParseTreeListener.visitErrorNode)ctxc                 C   s   d S r   r
   r   r)   r
   r
   r   enterEveryRuleJ   s    z ParseTreeListener.enterEveryRulec                 C   s   d S r   r
   r*   r
   r
   r   exitEveryRuleM   s    zParseTreeListener.exitEveryRuleN)
r   r   r	   r   r%   r   r&   ParserRuleContextr+   r,   r
   r
   r
   r   r(   B   s   r(   c                       s   e Zd ZdZedddZ fddZeddd	Zd
d Z	dd Z
dd Zdd Zdd ZedddZdd Zdd Z  ZS )TerminalNodeImpl	parentCtxsymbolr1   c                 C   s   d | _ || _d S r   r/   )r   r1   r
   r
   r   __init__U   s    zTerminalNodeImpl.__init__c                    s   t  || d S r   )super__setattr__)r   keyvalue	__class__r
   r   r5   X   s    zTerminalNodeImpl.__setattr__)r    c                 C   s   d S r   r
   )r   r    r
   r
   r   r   [   s    zTerminalNodeImpl.getChildc                 C   s   | j S r   r2   r'   r
   r
   r   	getSymbol^   s    zTerminalNodeImpl.getSymbolc                 C   s   | j S r   )r0   r'   r
   r
   r   	getParenta   s    zTerminalNodeImpl.getParentc                 C   s   | j S r   r2   r'   r
   r
   r   
getPayloadd   s    zTerminalNodeImpl.getPayloadc                 C   s   | j d u rtS | j j}||fS r   )r1   INVALID_INTERVAL
tokenIndex)r   r>   r
   r
   r   getSourceIntervalg   s    
z"TerminalNodeImpl.getSourceIntervalc                 C   s   dS )Nr   r
   r'   r
   r
   r   r   m   s    zTerminalNodeImpl.getChildCountvisitorc                 C   s
   | | S r   )r%   r   rA   r
   r
   r   r   p   s    zTerminalNodeImpl.acceptc                 C   s   | j jS r   )r1   textr'   r
   r
   r   getTexts   s    zTerminalNodeImpl.getTextc                 C   s   | j jtjkrdS | j jS d S )Nz<EOF>)r1   typer   EOFrC   r'   r
   r
   r   __str__v   s    zTerminalNodeImpl.__str__)r   r   r	   	__slots__r   r3   r5   intr   r:   r;   r<   r?   r   r   r   rD   rG   __classcell__r
   r
   r8   r   r.   R   s   r.   c                       s0   e Zd Zed fddZedddZ  ZS )ErrorNodeImpl)tokenc                    s   t  | d S r   )r4   r3   )r   rL   r8   r
   r   r3      s    zErrorNodeImpl.__init__r@   c                 C   s
   | | S r   )r&   rB   r
   r
   r   r      s    zErrorNodeImpl.accept)r   r   r	   r   r3   r   r   rJ   r
   r
   r8   r   rK      s   rK   c                   @   s@   e Zd ZdZeedddZeedddZeeddd	Z	dS )
ParseTreeWalkerN)listenertc                 C   sf   t |tr|| dS t |tr0|| dS | || | D ]}| || qD| || dS )a  
	    Performs a walk on the given parse tree starting at the root and going down recursively
	    with depth-first search. On each node, {@link ParseTreeWalker#enterRule} is called before
	    recursively walking down into child nodes, then
	    {@link ParseTreeWalker#exitRule} is called after the recursive call to wind up.
	    @param listener The listener used by the walker to process grammar rules
	    @param t The parse tree to be walked on
        N)	
isinstancer   r&   r   r%   	enterRuleZgetChildrenwalkexitRule)r   rN   rO   childr
   r
   r   rR      s    	



zParseTreeWalker.walk)rN   rc                 C   s    |  }|| || dS )a9  
	    Enters a grammar rule by first triggering the generic event {@link ParseTreeListener#enterEveryRule}
	    then by triggering the event specific to the given parse tree node
	    @param listener The listener responding to the trigger events
	    @param r The grammar rule containing the rule context
        N)getRuleContextr+   rQ   r   rN   rU   r)   r
   r
   r   rQ      s    
zParseTreeWalker.enterRulec                 C   s    |  }|| || dS )a7  
	    Exits a grammar rule by first triggering the event specific to the given parse tree node
	    then by triggering the generic event {@link ParseTreeListener#exitEveryRule}
	    @param listener The listener responding to the trigger events
	    @param r The grammar rule containing the rule context
        N)rV   rS   r,   rW   r
   r
   r   rS      s    
zParseTreeWalker.exitRule)
r   r   r	   DEFAULTr(   r   rR   r   rQ   rS   r
   r
   r
   r   rM      s   rM   )Zantlr4.Tokenr   r=   objectr   r   r   r   r   r   r   r-   r(   r.   rK   rM   rX   r
   r
   r
   r   <module>
   s    0	4