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 )é    )ÚCommonTokenFactory)ÚTokenSource)ÚTokenc                   @   sR   e Zd ZdZdeedœdd„Zedd„ ƒZdd	„ Z	ed
d„ ƒZ
dd„ Zdd„ ZdS )ÚListTokenSource)ÚtokensÚ
sourceNameÚposÚeofTokenÚ_factoryN)r   r   c                 C   s4   |d u rt dƒ‚|| _|| _d| _d | _tj| _d S )Nztokens cannot be nullr   )ÚReferenceErrorr   r   r   r	   r   ÚDEFAULTr
   )Úselfr   r   © r   ú_/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/antlr4/ListTokenSource.pyÚ__init__#   s    zListTokenSource.__init__c                 C   sœ   | j t| jƒk r| j| j  jS | jd ur0| jjS t| jƒdkr˜| jt| jƒd  }|j}|d ur‚| d¡}|dkr‚t|ƒ| d S |j|j |j d S dS ©Nr   é   Ú
)	r   Úlenr   Úcolumnr	   ÚtextÚrfindÚstopÚstart)r   Ú	lastTokenÚ	tokenTextZlastNewLiner   r   r   r   5   s    

zListTokenSource.columnc              
   C   sÖ   | j t| jƒkr’| jd u rŒd}t| jƒdkrR| jt| jƒd  j}|dkrR|d }td|d ƒ}| j | |  ¡ ft	j
dt	j||| j| j¡| _| jS | j| j  }| j t| jƒd krÄ|jt	j
krÄ|| _|  j d7  _ |S )Néÿÿÿÿr   r   ÚEOF)r   r   r   r	   r   Úmaxr
   ÚcreateÚgetInputStreamr   r   ZDEFAULT_CHANNELÚliner   Útype)r   r   ZpreviousStopr   Útr   r   r   Ú	nextTokenM   s"    
ÿ zListTokenSource.nextTokenc                 C   s|   | j t| jƒk r| j| j  jS | jd ur0| jjS t| jƒdkrx| jt| jƒd  }|j}|j}|d urt|| d¡7 }|S dS r   )r   r   r   r!   r	   r   Úcount)r   r   r!   r   r   r   r   r!   b   s    
zListTokenSource.linec                 C   sb   | j t| jƒk r | j| j   ¡ S | jd ur4| j ¡ S t| jƒdkrZ| jt| jƒd   ¡ S d S d S )Nr   r   )r   r   r   r    r	   )r   r   r   r   r    {   s    

zListTokenSource.getInputStreamc                 C   s0   | j d ur| j S |  ¡ }|d ur(| ¡ S dS d S )NÚList)r   r    ÚgetSourceName)r   ZinputStreamr   r   r   r'   ‰   s    
zListTokenSource.getSourceName)N)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__ÚlistÚstrr   Úpropertyr   r$   r!   r    r'   r   r   r   r   r      s   

r   N)Zantlr4.CommonTokenFactoryr   Zantlr4.Lexerr   Zantlr4.Tokenr   r   r   r   r   r   Ú<module>   s   