
    <ix                          S SK Jr  S SKJr  S SKJrJr  S SKJr  S SK	J
r
  S SKJr  S SKJr  S SKJrJr  S	r " S
 S\5      r " S S\5      rg	)    )StringIO)reduce)PredictionContextmerge)str_list)ATN)	ATNConfig)SemanticContext)UnsupportedOperationExceptionIllegalStateExceptionNc                       \ rS rSrSrSS\4S jjrS rSS\4S jjr	S\4S	 jr
S
 rS rS\4S jrS\4S jrS\4S jrS rS rS rS rS rS rS rS\4S jrS rSrg)ATNConfigSet   )	configLookupfullCtxreadonlyconfigs	uniqueAltconflictingAltshasSemanticContextdipsIntoOuterContextcachedHashCoder   c                     [        5       U l        Xl        SU l        / U l        SU l        S U l        SU l        SU l        SU l	        g )NFr   )
dictr   r   r   r   r   r   r   r   r   )selfr   s     Q/home/james-whalen/.local/lib/python3.13/site-packages/antlr4/atn/ATNConfigSet.py__init__ATNConfigSet.__init__$   sP     !F   # #($)!     c                 6    U R                   R                  5       $ N)r   __iter__r   s    r   r#   ATNConfigSet.__iter__A   s    ||$$&&r    Nconfigc                    U R                   (       a  [        S5      eUR                  [        R                  La  SU l        UR                  S:  a  SU l        U R                  U5      nX1L a#  SU l	        U R                  R                  U5        gU R                  (       + n[        UR                  UR                  XB5      n[        UR                  UR                  5      Ul        UR                   (       a  SUl        XSl        g)NThis set is readonlyTr   r   )r   	ExceptionsemanticContextr
   NONEr   reachesIntoOuterContextr   getOrAddr   r   appendr   r   contextmaxprecedenceFilterSuppressed)r   r&   
mergeCacheexistingrootIsWildcardmergeds         r   addATNConfigSet.addM   s    ==233!!)=)==&*D#))A-(,D%==("$DLL'!\\)x''T ,/x/O/OQWQoQo+p(,,26H/!r    c                    ^ TR                  5       nU R                  R                  US 5      nUb  [        U4S jU 5       S 5      nUb  U$ Uc  T/nX0R                  U'   T$ UR	                  T5        T$ )Nc              3   X   >#    U  H  nTR                  U5      (       d  M  Uv   M!     g 7fr"   )equalsForConfigSet).0cfgr&   s     r   	<genexpr>(ATNConfigSet.getOrAdd.<locals>.<genexpr>j   s      IQc&*C*CC*HccQs   *	*)hashCodeForConfigSetr   getnextr.   )r   r&   hlrs    `   r   r-   ATNConfigSet.getOrAddf   s~    '')!!!T*=IQI4PA}9A#$a   HHVr    c                 :    [        S U R                   5       5      $ )Nc              3   8   #    U  H  oR                   v   M     g 7fr"   )state)r;   cs     r   r=   )ATNConfigSet.getStates.<locals>.<genexpr>u   s     1Lq77Ls   )setr   r$   s    r   	getStatesATNConfigSet.getStatest   s    1DLL111r    c                 :    [        S U R                   5       5      $ )Nc              3   x   #    U  H0  oR                   [        R                  :w  d  M"  UR                   v   M2     g 7fr"   )r*   r
   r+   )r;   r<   s     r   r=   -ATNConfigSet.getPredicates.<locals>.<genexpr>x   s+     m<CCVCVXgXlXlCl'C''<s   !::)listr   r$   s    r   getPredicatesATNConfigSet.getPredicatesw   s    m4<<mmmr    ic                      U R                   U   $ r"   )r   )r   rT   s     r   r@   ATNConfigSet.getz   s    ||Ar    interpreterc                     U R                   (       a  [        S5      e[        U R                  5      S:X  a  g U R                   H#  nUR	                  UR
                  5      Ul        M%     g )Nr(   r   )r   r   lenr   getCachedContextr/   )r   rW   r&   s      r   optimizeConfigsATNConfigSet.optimizeConfigs}   sM    =='(>??t||allF(99&..IFN #r    collc                 8    U H  nU R                  U5        M     g)NF)r6   )r   r]   rI   s      r   addAllATNConfigSet.addAll   s    AHHQK r    c                    XL a  g[        U[        5      (       d  gU R                  S L=(       a    U R                  UR                  :H  =(       a    U R                  UR                  :H  =(       ay    U R                  UR                  :H  =(       aY    U R
                  UR
                  :H  =(       a9    U R                  UR                  :H  =(       a    U R                  UR                  :H  nU$ )NTF)
isinstancer   r   r   r   r   r   r   )r   othersames      r   __eq__ATNConfigSet.__eq__   s    =E<00||4' DLL%--'DLLEMM)D NNeoo-D   E$9$99	D
 ##u'?'??D %%)C)CC 	 r    c                     U R                   (       a1  U R                  S:X  a  U R                  5       U l        U R                  $ U R                  5       $ )Nr   )r   r   hashConfigsr$   s    r   __hash__ATNConfigSet.__hash__   sC    ==""b(&*&6&6&8#&&&!!r    c                 2    [        S U R                  S5      $ )Nc                     [        X45      $ r"   )hash)rB   r<   s     r   <lambda>*ATNConfigSet.hashConfigs.<locals>.<lambda>   s
    T1(^r    r   )r   r   r$   s    r   rh   ATNConfigSet.hashConfigs   s    3T\\1EEr    c                 ,    [        U R                  5      $ r"   rY   r   r$   s    r   __len__ATNConfigSet.__len__   s    4<<  r    c                 2    [        U R                  5      S:H  $ )Nr   rr   r$   s    r   isEmptyATNConfigSet.isEmpty   s    4<< !##r    c                     U R                   c  [        S5      eUR                  5       nU R                   R                  US 5      nUb!  U H  nUR	                  U5      (       d  M    g   g)Nz1This method is not implemented for readonly sets.TF)r   r   r?   r@   r:   )r   r&   rB   rC   rI   s        r   __contains__ATNConfigSet.__contains__   sh    $/0cdd'')!!!T*=,,Q//  r    c                     U R                   (       a  [        S5      eU R                  R                  5         SU l        U R
                  R                  5         g )Nr(   r   )r   r   r   clearr   r   r$   s    r   r|   ATNConfigSet.clear   s?    =='(>?? !r    r   c                     Xl         S U l        g r"   )r   r   )r   r   s     r   setReadonlyATNConfigSet.setReadonly   s      r    c                    [        5        nUR                  [        U R                  5      5        U R                  (       a5  UR                  S5        UR                  [        U R                  5      5        U R                  [        R                  :w  a5  UR                  S5        UR                  [        U R                  5      5        U R                  b5  UR                  S5        UR                  [        U R                  5      5        U R                  (       a  UR                  S5        UR                  5       sS S S 5        $ ! , (       d  f       g = f)Nz,hasSemanticContext=z,uniqueAlt=z,conflictingAlts=z,dipsIntoOuterContext)r   writer   r   r   strr   r   INVALID_ALT_NUMBERr   r   getvalue)r   bufs     r   __str__ATNConfigSet.__str__   s    Z3IIht||,-&&		01		#d5567~~s555		-(		#dnn-.##/		-.		#d2234((		12<<> ZZs   D1E
E)	r   r   r   r   r   r   r   r   r   )Tr"   )__name__
__module____qualname____firstlineno__	__slots__boolr   r#   r	   r6   r-   rL   rR   intr@   ATNSimulatorr[   rQ   r_   re   ri   rh   rs   rv   ry   r|   r   r   __static_attributes__ r    r   r   r      s    I!t !:' 2i 2nC J, J$ 
 "F!$	"!4 !"r    r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )OrderedATNConfigSet   c                 "   > [         TU ]  5         g r"   )superr   )r   	__class__s    r   r   OrderedATNConfigSet.__init__   s    r    r   )r   r   r   r   r   r   __classcell__)r   s   @r   r   r      s     r    r   )ior   	functoolsr   antlr4.PredictionContextr   r   antlr4.Utilsr   antlr4.atn.ATNr   antlr4.atn.ATNConfigr	   antlr4.atn.SemanticContextr
   antlr4.error.Errorsr   r   r   objectr   r   r   r    r   <module>r      s?      = !  * 6 Tx"6 x"v, r    