
    hu                     P    S r SSKJr  \ " S S5      5       r\ " S S5      5       rg)zEThis module defines types for representing parsing/compilation errors    )	dataclassc                   4    \ rS rSr% \\S'   \\S'   \\S'   Srg)Message   messagelinecolumn N)__name__
__module____qualname____firstlineno__str__annotations__int__static_attributes__r
       $/mnt/public/Repos/urclelf/./error.pyr   r      s    L
IKr   r   c                   r    \ rS rSr% \\   \S'   \SS\S\	S\	4S jj5       r
SS\S\	S\	4S jjrS\4S	 jrS
rg)	Traceback
   errorsr   line_numbercolumn_numberc                 .    [        [        XU5      /5      $ )N)r   r   )clsr   r   r   s       r   newTraceback.new   s    ''FGHHr   c                     U(       d2  U R                   S   R                  nU R                   S   R                  nU R                   R                  S[	        XU5      5        g )Nr   )r   r   r	   insertr   )selfr   r   r   s       r   	elaborateTraceback.elaborate   sF    ++a.--K KKN11M1ggMJKr   returnc           	         / nUR                  S5        U R                   Hj  nUR                  R                  5       nUR                  UR                   SUR
                   SUS    35        USS   H  nUR                  U5        M     Ml     SnU H  n[        U5      U:  d  M  [        U5      nM!     UR                  SSU-  5        UR                  SU-  5        SR                  U5      $ )N	TRACEBACK: r      =
)	appendr   r   
splitlinesr   r	   lenr    join)r!   lineserror	sub_linesr   traceback_widths         r   __str__Traceback.__str__   s    [![[E002ILLEJJ<qa	!~FG!!"T" & ! D4y?*"%d)  	Qo-.S?*+yyr   r
   N)r   r)   )r   r   r   r   listr   r   classmethodr   r   r   r"   r4   r   r
   r   r   r   r   
   sb    MI# I3 I I IL L# Ls L   r   r   N)__doc__dataclassesr   r   r   r
   r   r   <module>r:      s;    G !
  
 !  !  ! r   