
    c2                    "   U d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZmZ ej        dk    reZded	<   n	 d dlmZ n# e$ r dZY nw xY w G d
 de
          Z G d de
          Zd#dZd$d%dZd&dZd'dZd(dZd)d Zd*d"ZdS )+    )annotationsN)Callable)partial)
NamedTuple)	PY38_PLUSContext)      ztypes.ModuleType | None_ast_py3c                  $    e Zd ZU ded<   ded<   dS )FunctionTypezlist[ast.expr]argtypeszast.exprreturnsN)__name__
__module____qualname____annotations__     ,lib/python3.11/site-packages/astroid/_ast.pyr   r      s*         r   r   c                  V    e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   ded<   dddZdS )ParserModuletypes.ModuleTypemoduledict[type[ast.unaryop], str]unary_op_classesdict[type[ast.cmpop], str]cmp_op_classesdict[type[ast.boolop], str]bool_op_classesdict[type[ast.operator], str]bin_op_classes%dict[type[ast.expr_context], Context]context_classesTstringstrtype_commentsboolreturn
ast.Modulec                    | j         t          u rNt          rt          | j         j        |          }n7t          | j         j        t
          j        j                  }n| j         j        } ||          S )N)r'   )feature_version)r   r   r   r   parsesysversion_infominor)selfr%   r'   
parse_funcs       r   r-   zParserModule.parse'   st    ;(" 	+ $T[%6mTTT

$K%s7G7M  

 *Jz&!!!r   NT)r%   r&   r'   r(   r)   r*   )r   r   r   r   r-   r   r   r   r   r      sw         2222....00001111::::" " " " " " "r   r   type_commentr&   r)   FunctionType | Nonec                v    t           dS t          j        | dd          }t          |j        |j                  S )z;Given a correct type comment, obtain a FunctionType object.Nz<type_comment>	func_type)r   r   )r   r-   r   r   r   )r4   r7   s     r   parse_function_type_commentr8   5   s<     t|-={KKI!3Y=NOOOOr   Tr'   r(   c                    t           }| rt          rt          }t          |          }t          |          }t	          |          }t          |          }t          |          }t          ||||||          S N)astr   _unary_operators_from_module_compare_operators_from_module_bool_operators_from_module_binary_operators_from_module_contexts_from_moduler   )r'   parser_moduler   r   r    r"   r$   s          r   get_parser_modulerB   >   s    M ! ! 3MBB3MBBN1-@@O2=AAN+M::O  r   r   r   r   c                >    | j         d| j        d| j        d| j        diS )N+-not~)UAddUSubNotInvertr   s    r   r<   r<   S   s$     Kfk3
E6=RUVVr   r!   c                    | j         d| j        d| j        d| j        d| j        d| j        d| j        d| j        d| j        d	| j	        d
| j
        d| j        d| j        di}|S )NrD   &|^/z//@%*z**rE   z<<z>>)AddBitAndBitOrBitXorDivFloorDivMatMultModMultPowSubLShiftRShift)r   binary_operatorss     r   r?   r?   Y   so     	
Cscs
C
CS
D
Ctt r   r   c                "    | j         d| j        diS )Nandor)AndOrrL   s    r   r>   r>   n   s     Jvy$//r   r   c                    | j         d| j        d| j        d| j        d| j        d| j        d| j        d| j        d| j        d	| j	        d
i
S )Nz==>z>=iniszis not<z<=z!=znot in)
EqGtGtEInIsIsNotLtLtENotEqNotInrL   s    r   r=   r=   t   sT     		4	3
D	4	4h	3
Ddh r   r#   c                    | j         t          j         | j        t          j        | j        t          j        | j        t          j        iS r:   )Loadr   StoreDelParamrL   s    r   r@   r@      s2     	W\gm
GKgm	 r   )r4   r&   r)   r5   r3   )r'   r(   r)   r   )r   r   r)   r   )r   r   r)   r!   )r   r   r)   r   )r   r   r)   r   )r   r   r)   r#   )
__future__r   r;   r.   typescollections.abcr   	functoolsr   typingr   astroid.constr   r   r/   r   r   typed_ast.ast3ast3ImportErrorr   r   r8   rB   r<   r?   r>   r=   r@   r   r   r   <module>r      s  
 # " " " " " " 



 



  $ $ $ $ $ $             , , , , , , , ,v (+H+++++)))))))       :   
" " " " ": " " ",P P P P    *W W W W   *0 0 0 0   "     s   A	 	AA