
    Te
                         d dl Z  G d de      Z G d de      Z G d de      Z G d d	e      Z G d
 de      Z G d de      Z G d de      Z G d de      Z	d Z
eeeeeee	fZy)    Nc                   R     e Zd Zd fd	Zd Zd Zd Zed        Ze	d        Z
 xZS )JsonRpcExceptionc                     t         |   |       |xs t        | j                  d      | _        |xs t        | j                  d      | _        || _        y )NMESSAGECODE)super__init__getattr	__class__messagecodedataselfr   r   r   r   s       :/usr/lib/python3/dist-packages/pylsp_jsonrpc/exceptions.pyr	   zJsonRpcException.__init__	   sE    !D'$..)"D;GDNNF;		    c                 n    | j                   | j                  d}| j                  | j                  |d<   |S )N)r   r   r   )r   r   r   )r   exception_dicts     r   to_dictzJsonRpcException.to_dict   s7    II||
 99 %)YYN6"r   c                     t        || j                        xr4 | j                  |j                  k(  xr | j                  |j                  k(  S N)
isinstancer   r   r   )r   others     r   __eq__zJsonRpcException.__eq__   s?    udnn- *II#*LLEMM)	
r   c                 D    t        | j                  | j                  f      S r   )hashr   r   )r   s    r   __hash__zJsonRpcException.__hash__   s    TYY-..r   c                 j    t         D ]   }|j                  | d         s |di | c S  t        di | S )Nr    )_EXCEPTIONSsupports_coder   )error	exc_classs     r   	from_dictzJsonRpcException.from_dict"   sA    $ 	*I&&uV}5 )5))	*  (%((r   c                 "    t        | dd      |k(  S )Nr   i)r
   clsr   s     r   r!   zJsonRpcException.supports_code)   s     sFF+t33r   )NNN)__name__
__module____qualname__r	   r   r   r   staticmethodr$   classmethodr!   __classcell__r   s   @r   r   r      s?    
/ ) ) 4 4r   r   c                       e Zd ZdZdZy)JsonRpcParseErroriDzParse ErrorNr(   r)   r*   r   r   r   r   r   r0   r0   /   s    DGr   r0   c                       e Zd ZdZdZy)JsonRpcInvalidRequestizInvalid RequestNr1   r   r   r   r3   r3   4   s    DGr   r3   c                   $    e Zd ZdZdZed        Zy)JsonRpcMethodNotFoundizMethod Not Foundc                 4     | | j                   dz   |z         S )Nz: )r   )r   )r'   methods     r   ofzJsonRpcMethodNotFound.of=   s    3;;-677r   Nr(   r)   r*   r   r   r,   r8   r   r   r   r5   r5   9   s    D G8 8r   r5   c                       e Zd ZdZdZy)JsonRpcInvalidParams馀zInvalid ParamsNr1   r   r   r   r;   r;   B   s    DGr   r;   c                   $    e Zd ZdZdZed        Zy)JsonRpcInternalErrorr<   zInternal Errorc                     |\  }}} | dj                  t        j                  ||            j                         dt        j                  |      i      S )N 	traceback)r   r   )joinrA   format_exception_onlystrip	format_tb)r'   exc_infoexc_type	exc_valueexc_tbs        r   r8   zJsonRpcInternalError.ofK   sP    &.#)VGGI;;HiPQWWYy226:;
 	
r   Nr9   r   r   r   r>   r>   G   s    DG
 
r   r>   c                       e Zd ZdZdZy)JsonRpcRequestCancelledizRequest CancelledNr1   r   r   r   rK   rK   T   s    D!Gr   rK   c                   0     e Zd Zd fd	Zed        Z xZS )JsonRpcServerErrorc                 D    t        |      sJ t        | 	  |||       y )N)r   r   r   )_is_server_error_coder   r	   r   s       r   r	   zJsonRpcServerError.__init__[   s%    $T***t$?r   c                     t        |      S r   )rO   r&   s     r   r!   z JsonRpcServerError.supports_code_   s    $T**r   r   )r(   r)   r*   r	   r,   r!   r-   r.   s   @r   rM   rM   Y   s    @ + +r   rM   c                 "    d| cxk  xr dk  S c S )Nii r   )r   s    r   rO   rO   d   s    T#V####r   )rA   	Exceptionr   r0   r3   r5   r;   r>   rK   rM   rO   r    r   r   r   <module>rS      s    %4y %4P( 
 ,  
8, 8+ 


+ 

". "
+) +$
 r   