
    ɯwg                     f    d dl mZ  G d de      ZdededdfdZ G d	 d
e      Z G d de      Zy)    )Enumc                   $    e Zd ZdZdZdZdZdZdZy)ExportErrorType                  N)	__name__
__module____qualname__INVALID_INPUT_TYPEINVALID_OUTPUT_TYPEVIOLATION_OF_SPECNOT_SUPPORTEDMISSING_PROPERTYUNINITIALIZED     X/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/torch/_export/error.pyr   r      s.       M  Mr   r   pred
assert_msgreturnNc                     | st        |      y)z
    This is exir's custom assert method. It internally just throws InternalError.
    Note that the sole purpose is to throw our own error while maintaining similar syntax
    as python assert.
    N)InternalError)r   r   s     r   internal_assertr      s     J'' r   c                   ,     e Zd ZdZdeddf fdZ xZS )r   z
    Raised when an internal invariance is violated in EXIR stack.
    Should hint users to report a bug to dev and expose the original
    error message.
    messager   Nc                 $    t         |   |       y )Nsuper__init__)selfr   	__class__s     r   r#   zInternalError.__init__+   s    !r   )r   r   r   __doc__strr#   __classcell__r%   s   @r   r   r   $   s     " " " "r   r   c                   0     e Zd ZdZdededdf fdZ xZS )ExportErrorz
    This type of exception is raised for errors that are directly caused by the user
    code. In general, user errors happen during model authoring, tracing, using our public
    facing APIs, and writing graph passes.
    
error_coder   r   Nc                 6    d| d}t         |   ||z          y )N[z]: r!   )r$   r,   r   prefixr%   s       r   r#   zExportError.__init__6   s#    ZL$')*r   )r   r   r   r&   r   r'   r#   r(   r)   s   @r   r+   r+   /   s'    +? +S +T + +r   r+   )	enumr   r   boolr'   r   	Exceptionr   r+   r   r   r   <module>r3      sF    d *($ (C (D ("I "	+) 	+r   