o
    ÃÚ·iÒ
  ã                   @   s8   d dl mZ d dlmZ d dlmZ G dd„ deƒZdS )é    )ÚBufferedTokenStream)ÚLexer)ÚTokenc                       sb   e Zd ZdZejfdedef‡ fdd„Zdefdd„Z	defd	d
„Z
defdd„Zdd„ Z‡  ZS )ÚCommonTokenStreamÚchannelÚlexerc                    s   t ƒ  |¡ || _d S ©N)ÚsuperÚ__init__r   )Úselfr   r   ©Ú	__class__© úN/home/ubuntu/vllm_env/lib/python3.10/site-packages/antlr4/CommonTokenStream.pyr
   (   s   
zCommonTokenStream.__init__Úic                 C   s   |   || j¡S r   )ÚnextTokenOnChannelr   )r   r   r   r   r   ÚadjustSeekIndex,   s   z!CommonTokenStream.adjustSeekIndexÚkc                 C   sd   |dks| j | dk rd S | j }d}||kr'|  |d | j¡}|d7 }||ks|dk r-d S | j| S ©Nr   é   )ÚindexÚpreviousTokenOnChannelr   Útokens©r   r   r   Únr   r   r   ÚLB/   s   ý
zCommonTokenStream.LBc                 C   st   |   ¡  |dkr
d S |dk r|  | ¡S | j}d}||k r5|  |d ¡r-|  |d | j¡}|d7 }||k s| j| S r   )ÚlazyInitr   r   Úsyncr   r   r   r   r   r   r   ÚLT=   s   ü
zCommonTokenStream.LTc                 C   sV   d}|   ¡  tdt| jƒƒD ]}| j| }|j| jkr|d7 }|jtjkr( |S q|S r   )ÚfillÚrangeÚlenr   r   Útyper   ÚEOF)r   r   r   Útr   r   r   ÚgetNumberOfOnChannelTokensN   s   
þz,CommonTokenStream.getNumberOfOnChannelTokens)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__r   ÚDEFAULT_CHANNELr   Úintr
   r   r   r   r%   Ú__classcell__r   r   r   r   r   %   s    r   N)Úantlr4.BufferedTokenStreamr   Úantlr4.Lexerr   Úantlr4.Tokenr   r   r   r   r   r   Ú<module>   s   