o
    ڷi                     @   sl   d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 dZG dd deZdZG d	d
 d
eZdS )    )StringIO)PredictionContext)ATNStateDecisionState)LexerActionExecutor)SemanticContextNc                   @   sX   e Zd ZdZddededededef
dd	Z	d
d Z
dd Zdd Zdd Zdd ZdS )	ATNConfig)statealtcontextsemanticContextreachesIntoOuterContextprecedenceFilterSuppressedNr	   r
   r   semanticconfigc                 C   s   |d ur |d u r|j }|d u r|j}|d u r|j}|d u r |j}|d u r'tj}|| _ || _|| _|| _|d u r9dn|j| _|d u rFd| _d S |j| _d S )Nr   F)r	   r
   r   r   r   NONEr   r   )selfr	   r
   r   r   r    r   J/home/ubuntu/vllm_env/lib/python3.10/site-packages/antlr4/atn/ATNConfig.py__init__   s"   
zATNConfig.__init__c                 C   sf   | |u rdS t |tsdS | jj|jjko2| j|jko2| j|ju p&| j|jko2| j|jko2| j|jkS NTF)
isinstancer   r	   stateNumberr
   r   r   r   r   otherr   r   r   __eq__B   s   



zATNConfig.__eq__c                 C   s   t | jj| j| j| jfS N)hashr	   r   r
   r   r   r   r   r   r   __hash__N      zATNConfig.__hash__c                 C   s   t | jj| jt | jfS r   )r   r	   r   r
   r   r   r   r   r   hashCodeForConfigSetQ   r    zATNConfig.hashCodeForConfigSetc                 C   sB   | |u rdS t |tsdS | jj|jjko | j|jko | j|jkS r   )r   r   r	   r   r
   r   r   r   r   r   equalsForConfigSetT   s   


zATNConfig.equalsForConfigSetc                 C   s   t  l}|d |t| j |d |t| j | jd ur5|d |t| j |d | jd urM| jtjurM|d |t| j | j	dkr_|d |t| j	 |d |
 W  d    S 1 srw   Y  d S )N(,z,[]r   z,up=))r   writestrr	   r
   r   r   r   r   r   getvalue)r   bufr   r   r   __str__^   s$   








$zATNConfig.__str__)NNNNN)__name__
__module____qualname__	__slots__r   intr   r   r   r   r   r   r!   r"   r+   r   r   r   r   r      s     %
r   c                       s~   e Zd ZdZddejddfdedededede	de
f fd	d
Zdd Z fddZdd Zdd Zde
defddZ  ZS )LexerATNConfig)lexerActionExecutorpassedThroughNonGreedyDecisionNr	   r
   r   r   r2   r   c                    sV   t  j|||||d |d ur|d u r|j}|| _|d u r"d| _d S | ||| _d S )N)r	   r
   r   r   r   F)superr   r2   checkNonGreedyDecisionr3   )r   r	   r
   r   r   r2   r   	__class__r   r   r   w   s   $zLexerATNConfig.__init__c                 C   s"   t | jj| j| j| j| j| jfS r   )r   r	   r   r
   r   r   r3   r2   r   r   r   r   r      s   zLexerATNConfig.__hash__c                    sF   | |u rdS t |tsdS | j|jkrdS | j|jksdS t |S r   )r   r1   r3   r2   r4   r   r   r6   r   r   r      s   
zLexerATNConfig.__eq__c                 C   s   t | S r   )r   r   r   r   r   r!         z#LexerATNConfig.hashCodeForConfigSetc                 C   s   | |kS r   r   r   r   r   r   r"      r8   z!LexerATNConfig.equalsForConfigSetsourcetargetc                 C   s   |j p
t|to
|jS r   )r3   r   r   	nonGreedy)r   r9   r:   r   r   r   r5      s   z%LexerATNConfig.checkNonGreedyDecision)r,   r-   r.   r/   r   r   r   r0   r   r   r1   r   r   r   r!   r"   r5   __classcell__r   r   r6   r   r1   t   s    
r1   )ior   antlr4.PredictionContextr   antlr4.atn.ATNStater   r   antlr4.atn.LexerActionExecutorr   antlr4.atn.SemanticContextr   r   objectr1   r   r   r   r   <module>   s   [