
    ziD                        d dl mZ d dlZd dlmZ d dlmZ  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)
NamedTuple)Contextc                  $    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__     W/var/www/tmov.alphamb/tmov_inventario/venv/lib/python3.11/site-packages/astroid/_ast.pyr   r      s*         r   r   c                  L    e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   dddZdS )ParserModule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                .    t          j        ||          S )N)r   )astparse)selfr   r   s      r   r%   zParserModule.parse   s    y}====r   NT)r   r   r   r    r!   r"   )r
   r   r   r   r%   r   r   r   r   r      sk         2222....00001111::::> > > > > > >r   r   type_commentr   r!   FunctionType | Nonec                d    t          j        | dd          }t          |j        |j                  S )z;Given a correct type comment, obtain a FunctionType object.z<type_comment>	func_type)r   r	   )r$   r%   r   r   r	   )r(   r+   s     r   parse_function_type_commentr,      s/    	,(8+FFI!3Y=NOOOOr   Tr   r    c                    t                      }t                      }t                      }t                      }t	                      }t          |||||          S N)_unary_operators_from_module_compare_operators_from_module_bool_operators_from_module_binary_operators_from_module_contexts_from_moduler   )r   r   r   r   r   r   s         r   get_parser_moduler4   #   s[    355355N133O244N+--O  r   r   c                 f    t           j        dt           j        dt           j        dt           j        diS )N+-not~)r$   UAddUSubNotInvertr   r   r   r/   r/   3   s!    Hc38S#'5#*cJJr   r   c                 >   t           j        dt           j        dt           j        dt           j        dt           j        dt           j        dt           j        dt           j        dt           j	        d	t           j
        d
t           j        dt           j        dt           j        diS )Nr6   &|^/z//@%*z**r7   z<<z>>)r$   AddBitAndBitOrBitXorDivFloorDivMatMultModMultPowSubLShiftRShiftr   r   r   r2   r2   7   sg    
C	3
CdS#
D
D r   r   c                 6    t           j        dt           j        diS )Nandor)r$   AndOrr   r   r   r1   r1   I   s    GUCFD))r   r   c                     t           j        dt           j        dt           j        dt           j        dt           j        dt           j        dt           j        dt           j        dt           j	        d	t           j
        d
i
S )Nz==>z>=iniszis not<z<=z!=znot in)r$   EqGtGtEInIsIsNotLtLtENotEqNotInr   r   r   r0   r0   M   sR    	8	4	8 r   r   c                     t           j        t          j        t           j        t          j        t           j        t          j        t           j        t          j        iS r.   )r$   Loadr   StoreDelParamr   r   r   r3   r3   \   s0    ',	7=	7=	 r   )r(   r   r!   r)   r'   )r   r    r!   r   )r!   r   )r!   r   )r!   r   )r!   r   )r!   r   )
__future__r   r$   typingr   astroid.constr   r   r   r,   r4   r/   r2   r1   r0   r3   r   r   r   <module>ro      s=  
 # " " " " " 



       ! ! ! ! ! !    :   
> > > > >: > > >P P P P     K K K K   $* * * *        r   