File: //lib/python3.12/__pycache__/py_compile.cpython-312.pyc
�
    )!�h�  �                   ��   � d Z ddlZddlZddlZddlZddlZddlZddlZddl	Z	g d�Z
 G d� de�      Z G d� dej                  �      Zd� Z	 	 dd	�Zd
� Zedk(  r e�        yy)
zqRoutine to "compile" a .py file to a .pyc file.
This module has intimate knowledge of the format of .pyc files.
�    N)�compile�main�PyCompileError�PycInvalidationModec                   �   � e Zd ZdZdd�Zd� Zy)r   a�  Exception raised when an error occurs while attempting to
    compile the file.
    To raise this exception, use
        raise PyCompileError(exc_type,exc_value,file[,msg])
    where
        exc_type:   exception type to be used in error message
                    type name can be accesses as class variable
                    'exc_type_name'
        exc_value:  exception value to be used in error message
                    can be accesses as class variable 'exc_value'
        file:       name of file being compiled to be used in error message
                    can be accesses as class variable 'file'
        msg:        string message to be written as error message
                    If no value is given, a default exception message will be
                    given, consistent with 'standard' py_compile output.
                    message (or default) can be accesses as class variable
                    'msg'
    c                 �,  � |j                   }|t        u r;dj                  t        j                  ||�      �      }|j                  dd|z  �      }nd|�d|��}t        j                  | |xs ||||�       || _        || _	        || _
        |xs || _        y )N� zFile "<string>"z	File "%s"zSorry: z: )�__name__�SyntaxError�join�	traceback�format_exception_only�replace�	Exception�__init__�
exc_type_name�	exc_value�file�msg)�self�exc_typer   r   r   r   �tbtext�errmsgs           �!/usr/lib/python3.12/py_compile.pyr   zPyCompileError.__init__.   s�   � � �)�)�
��{�"��W�W�Y�<�<��)�%� &�F��^�^�$5�{�T�7I�J�F� #�
 )6�i�@�F����4��
�v�m�I�d�K�*���"�����	��=�&���    c                 �   � | j                   S )N)r   )r   s    r   �__str__zPyCompileError.__str__>