
    <i*                     X    S SK Jr  S SKJr  S SKJr  Sr " S S\5      r " S S\5      r	g)	    )StringIO)Token)IllegalStateExceptionNc                       \ rS rSrSrg)TokenStream    N)__name__
__module____qualname____firstlineno____static_attributes__r	       T/home/james-whalen/.local/lib/python3.13/site-packages/antlr4/BufferedTokenStream.pyr   r      s    r   r   c                   r   \ rS rSrSrS\4S jrS rS\4S jr	S r
S	\4S
 jrS	\4S jrS rS\4S jrS\4S jrS+S\S\S\4S jjrS\4S jrS\4S jrS\4S jrS\4S jrS rS rS\4S jrS\S\4S jrS\S\4S  jrS,S!\S\4S" jjrS,S!\S\4S# jjrS$\S%\S\4S& jrS' rS-S\S\4S( jjrS) r S*r!g).BufferedTokenStream   tokenSourcetokensindex
fetchedEOFr   c                 :    Xl         / U l        SU l        SU l        g NFr   selfr   s     r   __init__BufferedTokenStream.__init__    s#    &
  
  r   c                     gNr   r	   r   s    r   markBufferedTokenStream.markA   s    r   markerc                     g Nr	   )r   r%   s     r   releaseBufferedTokenStream.releaseD   s    r   c                 &    U R                  S5        g r!   )seekr"   s    r   resetBufferedTokenStream.resetH   s    		!r   r   c                 P    U R                  5         U R                  U5      U l        g r'   )lazyInitadjustSeekIndexr   r   r   s     r   r+   BufferedTokenStream.seekK   s    ))%0
r   c                 @    U R                  5         U R                  U   $ r'   )r/   r   r1   s     r   getBufferedTokenStream.getO   s    {{5!!r   c                    SnU R                   S:  aZ  U R                  (       a&  U R                   [        U R                  5      S-
  :  nO%U R                   [        U R                  5      :  nOSnU(       d.  U R	                  S5      [
        R                  :X  a  [        S5      eU R                  U R                   S-   5      (       a$  U R                  U R                   S-   5      U l         g g )NFr      zcannot consume EOF)
r   r   lenr   LAr   EOFr   syncr0   )r   skipEofChecks     r   consumeBufferedTokenStream.consumeS   s    ::?  $zzC,<q,@@  $zzC,<< !L
eii 7'(<==99TZZ!^$$--djj1n=DJ %r   ic                 p    U[        U R                  5      -
  S-   nUS:  a  U R                  U5      nX2:  $ g)Nr7   r   T)r8   r   fetch)r   r?   nfetcheds       r   r;   BufferedTokenStream.syncm   s9    DKK  1$q5jjmG<r   rB   c                 F   U R                   (       a  g[        SU5       H~  nU R                  R                  5       n[	        U R
                  5      Ul        U R
                  R                  U5        UR                  [        R                  :X  d  Mr  SU l         US-   s  $    U$ )Nr   Tr7   )r   ranger   	nextTokenr8   r   
tokenIndexappendtyper   r:   )r   rB   r?   ts       r   rA   BufferedTokenStream.fetchx   sy    ??q!A  **,At{{+ALKKq!vvuyy "&1u  r   Nstartstoptypesc                 v   US:  d  US:  a  g U R                  5         / nU[        U R                  5      :  a  [        U R                  5      S-
  n[        X5       HY  nU R                  U   nUR                  [
        R                  :X  a    U$ Ub  UR                  U;   d  MH  UR                  U5        M[     U$ Nr   r7   )r/   r8   r   rF   rJ   r   r:   rI   )r   rM   rN   rO   subsetr?   rK   s          r   	getTokensBufferedTokenStream.getTokens   s    7d1f3t{{##t{{#A%Du#AAAvvuyy   }%a  $ r   c                 8    U R                  U5      R                  $ r'   )LTrJ   r   r?   s     r   r9   BufferedTokenStream.LA   s    wwqzr   kc                 b    U R                   U-
  S:  a  g U R                  U R                   U-
     $ r!   )r   r   )r   rY   s     r   LBBufferedTokenStream.LB   s,    JJqLA{{4::a<((r   c                 @   U R                  5         US:X  a  g US:  a  U R                  U* 5      $ U R                  U-   S-
  nU R                  U5        U[	        U R
                  5      :  a%  U R
                  [	        U R
                  5      S-
     $ U R
                  U   $ rQ   )r/   r[   r   r;   r8   r   )r   rY   r?   s      r   rV   BufferedTokenStream.LT   s    a4q577A2;JJNQ		!DKK  ;;s4;;/122{{1~r   c                     U$ r'   r	   rW   s     r   r0   #BufferedTokenStream.adjustSeekIndex   s    r   c                 F    U R                   S:X  a  U R                  5         g g )Nr   )r   setupr"   s    r   r/   BufferedTokenStream.lazyInit   s    ::JJL r   c                 R    U R                  S5        U R                  S5      U l        g r!   )r;   r0   r   r"   s    r   rb   BufferedTokenStream.setup   s    		!))!,
r   c                 :    Xl         / U l        SU l        SU l        g r   r   r   s     r   setTokenSource"BufferedTokenStream.setTokenSource   s    &
r   channelc                 v   U R                  U5        U[        U R                  5      :  a  [        U R                  5      S-
  $ U R                  U   nUR                  U:w  aW  UR                  [
        R                  :X  a  U$ US-  nU R                  U5        U R                  U   nUR                  U:w  a  MW  U$ )Nr7   )r;   r8   r   ri   rJ   r   r:   )r   r?   ri   tokens       r   nextTokenOnChannel&BufferedTokenStream.nextTokenOnChannel   s    		!c$++t{{#a''AmmW$zz599$FAIIaLKKNE mmW$ r   c                     US:  aG  U R                   U   R                  U:w  a*  US-  nUS:  a  U R                   U   R                  U:w  a  M*  U$ rQ   )r   ri   )r   r?   ri   s      r   previousTokenOnChannel*BufferedTokenStream.previousTokenOnChannel   sJ    dt{{1~--w6FA dt{{1~--w6r   rH   c                    U R                  5         US:  d  U[        U R                  5      :  a9  [        [	        U5      S-   [	        [        U R                  5      S-
  5      -   5      eSSKJn  U R                  US-   UR                  5      nUS-   nUS:X  a  [        U R                  5      S-
  OUnU R                  XVU5      $ )Nr    not in 0..r7   Lexerr   )
r/   r8   r   	Exceptionstrantlr4.Lexerrt   rl   DEFAULT_TOKEN_CHANNELfilterForChannel)r   rH   ri   rt   nextOnChannelfrom_tos          r   getHiddenTokensToRight*BufferedTokenStream.getHiddenTokensToRight   s    a<:s4;;'77C
Om;c#dkkBRSTBT>UUVV&//
Q@[@[\1%2B%6c$++q M$$U88r   c                 f   U R                  5         US:  d  U[        U R                  5      :  a9  [        [	        U5      S-   [	        [        U R                  5      S-
  5      -   5      eSSKJn  U R                  US-
  UR                  5      nXAS-
  :X  a  g US-   nUS-
  nU R                  XVU5      $ )Nr   rr   r7   rs   )
r/   r8   r   ru   rv   rw   rt   ro   rx   ry   )r   rH   ri   rt   prevOnChannelr{   r|   s          r   getHiddenTokensToLeft)BufferedTokenStream.getHiddenTokensToLeft   s    a<:s4;;'77C
Om;c#dkkBRSTBT>UUVV&33JNED_D_`N*a\$$U88r   leftrightc                 .   / n[        XS-   5       Hp  nU R                  U   nUS:X  a5  SSKJn  UR                  UR
                  :w  a  UR                  U5        MK  MM  UR                  U:X  d  M_  UR                  U5        Mr     [        U5      S:X  a  g U$ )Nr7   r   r   rs   )rF   r   rw   rt   ri   rx   rI   r8   )r   r   r   ri   hiddenr?   rK   rt   s           r   ry   $BufferedTokenStream.filterForChannel  s    t1W%AAA{.99u:::MM!$ ;G#MM!$ & v;>r   c                 6    U R                   R                  5       $ r'   )r   getSourceNamer"   s    r   r   !BufferedTokenStream.getSourceName  s    --//r   c                    U R                  5         U R                  5         [        U[        5      (       a  UR                  nOUc  Sn[        U[        5      (       a  UR                  nO4Ub  U[        U R                  5      :  a  [        U R                  5      S-
  nUS:  d  US:  d  X!:  a  g[        5        n[        XS-   5       HM  nU R                  U   nUR                  [        R                  :X  a    OUR                  UR                  5        MO     UR                  5       sS S S 5        $ ! , (       d  f       g = f)Nr   r7    )r/   fill
isinstancer   rH   r8   r   r   rF   rJ   r:   writetextgetvalue)r   rM   rN   bufr?   rK   s         r   getTextBufferedTokenStream.getText  s    		eU##$$E]EdE""??D\TS%55t{{#a'D19qDLZ35q&)KKN66599$		!&&!	 *
 <<> ZZs   :A/D33
Ec                     U R                  5         U R                  S5      S:X  a   U R                  S5      S:X  a  M  g g )Ni  )r/   rA   r"   s    r   r   BufferedTokenStream.fill+  s2    jj$ jj$r   )r   r   r   r   r'   )r   )NN)"r
   r   r   r   	__slots__rt   r   r#   intr(   r,   r+   r4   r=   r;   rA   setrS   r9   r[   rV   r0   r/   rb   rg   rl   ro   r}   r   ry   r   r   r   r   r	   r   r   r   r      sB   @I 5  BS 1 1" ">4S 
c 
c  3 3 )3 )
3 2 -
   3   s C 	9 	9S 	99s 9C 9C s C 0"C "3 ".r   r   )
ior   antlr4.Tokenr   antlr4.error.Errorsr   rt   objectr   r   r	   r   r   <module>r      s1       5 		& 	
Q+ Qr   