o
    ?i	                     @   s    d dl mZ G dd deZdS )    )Tokenc                   @   s   e Zd ZdZdefddZdd Zedd Zed	d
 Z	dd Z
dd ZdefddZdefddZdd ZdefddZdefddZdedefddZd d! Zd"S )#InputStream)namestrdata_indexdata_sizer   c                 C   s   d| _ || _|   d S )Nz<empty>)r   r   _loadString)selfr    r   O/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/antlr4/InputStream.py__init__   s   zInputStream.__init__c                 C   s(   d| _ dd | jD | _t| j| _d S )Nr   c                 S   s   g | ]}t |qS r   )ord).0cr   r   r   
<listcomp>   s    z+InputStream._loadString.<locals>.<listcomp>)r   r   r   lenr   r
   r   r   r   r	      s   zInputStream._loadStringc                 C      | j S Nr   r   r   r   r   index      zInputStream.indexc                 C   r   r   )r   r   r   r   r   size   r   zInputStream.sizec                 C   s
   d| _ d S )Nr   r   r   r   r   r   reset'      
zInputStream.resetc                 C   s:   | j | jkr| dtjksJ td|  j d7  _ d S )N   zcannot consume EOF)r   r   LAr   EOF	Exceptionr   r   r   r   consume*   s   zInputStream.consumeoffsetc                 C   sL   |dkrdS |dk r|d7 }| j | d }|dk s|| jkr!tjS | j| S )Nr   r   )r   r   r   r   r   )r
   r!   posr   r   r   r   0   s   
zInputStream.LAc                 C   s
   |  |S r   )r   )r
   r!   r   r   r   LT:   r   zInputStream.LTc                 C   s   dS )Nr   r   r   r   r   mark>      zInputStream.markmarkerc                 C   s   d S r   r   )r
   r'   r   r   r   releaseA   r&   zInputStream.releaser   c                 C   s&   || j kr
|| _ d S t|| j| _ d S r   )r   minr   )r
   r   r   r   r   seekG   s   
zInputStream.seekstartstopc                 C   s4   || j kr
| j d }|| j krdS | j||d  S )Nr    )r   r   )r
   r+   r,   r   r   r   getTextN   s
   


zInputStream.getTextc                 C   r   r   )r   r   r   r   r   __str__V   s   zInputStream.__str__N)__name__
__module____qualname__	__slots__strr   r	   propertyr   r   r   r    intr   r#   r%   r(   r*   r.   r/   r   r   r   r   r      s"    


r   N)antlr4.Tokenr   objectr   r   r   r   r   <module>   s   
