
    #|g                     j    d Z ddlmZ e G d d                      Ze G d d                      ZdS )zEThis module defines types for representing parsing/compilation errors    )	dataclassc                   .    e Zd ZU eed<   eed<   eed<   dS )MessagemessagelinecolumnN)__name__
__module____qualname__str__annotations__int     G/media/seanl/Data/Files/Programming/Python/URCL/urclelf/urcl/./error.pyr   r      s+         LLL
IIIKKKKKr   r   c                   n    e Zd ZU ee         ed<   eddededefd            Z	ddededefdZ
d	efd
ZdS )	Tracebackerrorsr      r   line_numbercolumn_numberc                 @    t          t          |||          g          S )N)r   r   )clsr   r   r   s       r   newzTraceback.new   s    '';FFGHHHr   c                     |s$| j         d         j        }| j         d         j        }| j                             dt	          |||                     d S )Nr   )r   r   r   insertr   )selfr   r   r   s       r   	elaboratezTraceback.elaborate   sP     	2+a.-K KN1M1gg{MJJKKKKKr   returnc           	         g }|                     d           | j        D ]j}|j                                        }|                     |j         d|j         d|d                     |dd          D ]}|                     |           kd}|D ]$}t          |          |k    rt          |          }%|                    dd|z             |                     d|z             d                    |          S )N	TRACEBACK: r   r   =
)	appendr   r   
splitlinesr   r   lenr   join)r   lineserror	sub_linesr   traceback_widths         r   __str__zTraceback.__str__   s   [!!![ 	# 	#E0022ILLEJFFFF	!FFGGG!!"" # #T""""#  	, 	,D4yy?**"%d))Qo-...S?*+++yyr   N)r   r   )r   r   )r	   r
   r   listr   r   classmethodr   r   r   r   r.   r   r   r   r   r   
   s         MI I# I3 I I I I [IL L L# Ls L L L L             r   r   N)__doc__dataclassesr   r   r   r   r   r   <module>r3      s    G G ! ! ! ! ! !
       
 !  !  !  !  !  !  !  !  !  ! r   