a
    d                     @   s8   d dl mZ d dlmZ d dlmZ G dd deZdS )    )StringIO)ParseTreePattern)	ParseTreec                   @   sP   e Zd ZdZeeeedddZedddZ	edddZ
d	d
 Zdd ZdS )ParseTreeMatch)treepatternlabelsmismatchedNodec                 C   sL   |d u rt d|d u r t d|d u r0t d|| _|| _|| _|| _d S )Nztree cannot be nullzpattern cannot be nullzlabels cannot be null)	Exceptionr   r   r   r	   )selfr   r   r   r	    r   c/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/antlr4/tree/ParseTreeMatch.py__init__!   s    zParseTreeMatch.__init__)labelc                 C   s:   | j |d }|d u s"t|dkr&d S |t|d  S d S )Nr      )r   getlen)r   r   Z
parseTreesr   r   r   r   =   s    zParseTreeMatch.getc                 C   s$   | j |d }|d u rt S |S d S N)r   r   list)r   r   nodesr   r   r   getAll[   s    zParseTreeMatch.getAllc                 C   s
   | j d u S r   )r	   )r   r   r   r   	succeededi   s    zParseTreeMatch.succeededc                 C   sz   t  `}|d ||  r"dnd |d |tt| j |d | W  d    S 1 sl0    Y  d S )NzMatch r   failedz; found z labels)r   writer   strr   r   getvalue)r   bufr   r   r   __str__o   s    


zParseTreeMatch.__str__N)__name__
__module____qualname__	__slots__r   r   dictr   r   r   r   r   r   r   r   r   r   r      s   r   N)ior   Zantlr4.tree.ParseTreePatternr   Zantlr4.tree.Treer   objectr   r   r   r   r   <module>   s   