
    %
iX                        d dl Z d dlZd dlZd dlmZ d dlZddlmZmZ ddlm	Z	m
Z
 d Z G d dej                  Z G d	 d
ej                  Z G d dej                  ZddZ	 ddZd dlmZ  G d de          Z G d d          ZdS )    N)pprint   )axdebuggateways)RaiseNotImpl_wrapc                     t          j                    }t          | |           |                                                                S N)ioStringIOr   getvaluestrip)obstreams     C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\win32comext/axdebug/expressions.pyMakeNiceStringr      s9    []]F
2v??""$$$    c                       e Zd ZdS )ProvideExpressionContextsN)__name__
__module____qualname__ r   r   r   r      s        Dr   r   c                        e Zd Zd Zd Zd ZdS )ExpressionContextc                     || _         d S r
   )frame)selfr   s     r   __init__zExpressionContext.__init__   s    


r   c           	      b    t          t          | j        ||||          t          j                  S r
   )r   
Expressionr   r   IID_IDebugExpression)r   coderadixdelimflagss        r   ParseLanguageTextz#ExpressionContext.ParseLanguageText   s/    tz4u==(
 
 	
r   c                     dS )N)Pythonz&{DF630910-1C1D-11d0-AE36-8C0F5E000000}r   r   s    r   GetLanguageInfoz!ExpressionContext.GetLanguageInfo!   s    AAr   N)r   r   r   r   r'   r+   r   r   r   r   r      sF          
 
 
B B B B Br   r   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )r!   c                     d | _         || _        || _        || _        || _        || _        d| _        d | _        t          j	        | _
        d S )Nr   )callbackr   r#   r$   r%   r&   
isCompleteresultwinerrorE_UNEXPECTEDhresult)r   r   r#   r$   r%   r&   s         r   r   zExpression.__init__'   sH    
	


,r   c                 r   	 	 	 t          | j        | j        j        | j        j                  | _        nA# t          $ r4 t          | j        | j        j        | j        j                   d| _        Y nw xY wd| _        n#  t          j
        t          j                    d         t          j                    d                   }d                    d |D                       | _        t          j        | _        Y nxY wd| _        |                                 d S # d| _        |                                 w xY w)N r   r   
c              3   *   K   | ]}|d d         V  d S )Nr   ).0ss     r   	<genexpr>z#Expression.Start.<locals>.<genexpr>B   s*      ':':1#2#':':':':':':r   )evalr#   r   	f_globalsf_localsr0   SyntaxErrorexecr3   	tracebackformat_exception_onlysysexc_infojoinr1   E_FAILr/   
onComplete)r   r.   ls      r   StartzExpression.Start2   s0   	"/%"&	4:#79L# #DKK # % % %DJ$8$*:MNNN"$DKKK%  !/3LNN1%s|~~a'8  #ii':':':':':::'DO!!!!!  DO!!!!s9   /4 A= ;A2/A= 1A22
A= <D =A:C97D D6c                 $    t          d           d S )Nz** ABORT **)printr*   s    r   AbortzExpression.AbortH   s    mr   c                     | j         S r
   )r/   r*   s    r   QueryIsCompletezExpression.QueryIsCompleteK   s
    r   c                 8    | j         t          | j                  fS r
   )r3   r   r0   r*   s    r   GetResultAsStringzExpression.GetResultAsStringN   s    |^DK8888r   c                     t          t          | j        | j        d | j                  t
          j                  }| j        |fS r
   )r   DebugPropertyr#   r0   r3   r   IID_IDebugProperty)r   r0   s     r   GetResultAsDebugPropertyz#Expression.GetResultAsDebugPropertyR   s=    $)T[$EE&
 
 |V##r   N)	r   r   r   r   rI   rL   rN   rP   rT   r   r   r   r!   r!   &   sn        	- 	- 	-" " ",    9 9 9$ $ $ $ $r   r!   c                    g }t          | d          r't          | d          r|                                 }| }n0t          | d          r | j                                        }| j        }g }|D ]-\  }}	|                    t	          ||	||d||                     .t          t          |          t          j                  S )Nitemskeys__dict__r   )	hasattrrV   rX   appendGetPropertyInfor   EnumDebugPropertyInfor   IID_IEnumDebugPropertyInfo)
objectdwFieldSpecnRadixiid
stackFrame	name_vals
dictionaryinfosnamevals
             r   MakeEnumDebugPropertyrh   Z   s    Ivw %GFF$;$; %LLNN	

		$	$ %O))++	_
E 
 
	cD#{FAz:VV	
 	
 	
 	
 &u--w/QRRRr   c           
      H   d x}x}x}	x}
x}}|t           j        z  rt          |          }	|t           j        z  r| }|t           j        z  rG|rd}nB	 t          |          j        }n,# t          $ r t          t          |                    }Y nw xY w|t           j	        z  r| }
|t           j
        z  r/t          |d          st          |d          rt           j        }nd}|t           j        z  r,t          t          ||d |||          t           j                  }|||	|
||fS )NErrorhas_keyrX   r   )r   DBGPROP_INFO_VALUEr   DBGPROP_INFO_NAMEDBGPROP_INFO_TYPEtyper   AttributeErrorstrDBGPROP_INFO_FULLNAMEDBGPROP_INFO_ATTRIBUTESrY   "DBGPROP_ATTRIB_VALUE_IS_EXPANDABLEDBGPROP_INFO_DEBUGPROPr   rR   rS   )obnameobvaluer_   r`   r3   rd   rb   rf   typvaluefullnameattribdbgprops                r   r[   r[   j   sg    8<;D;3;;;FWW// (w''W.. W.. ) 	)CC)7mm,! ) ) )$w--(()W22 W44 7I&& 	'Z+
 +
 	 ?FFFW33 
$w
JOO&
 
 eXvw66s   A& &&BB)ListEnumeratorGatewayc                   D    e Zd ZdZej        dgz   Zej        gZd Z	d Z
dS )r\   a  A class to expose a Python sequence as an EnumDebugCodeContexts

    Create an instance of this class passing a sequence (list, tuple, or
    any sequence protocol supporting object) and it will automatically
    support the EnumDebugCodeContexts interface for the object.

    GetCountc                 *    t          | j                  S r
   )len_list_r*   s    r   r   zEnumDebugPropertyInfo.GetCount   s    4;r   c                     |S r
   r   )r   r   s     r   r   zEnumDebugPropertyInfo._wrap   s    	r   N)r   r   r   __doc__r}   _public_methods_r   r]   _com_interfaces_r   r   r   r   r   r\   r\      sZ          -=L:;         r   r\   c                   N    e Zd Zej        gZg dZ	 d
dZd Zd Z	d Z
d Zd	 ZdS )rR   )r[   GetExtendedInfoSetValueAsStringEnumMembers	GetParentNr   c                 Z    || _         || _        || _        || _        || _        || _        d S r
   )rf   ry   parentr3   rd   rb   )r   rf   ry   r   r3   rd   rb   s          r   r   zDebugProperty.__init__   s2     	
$$r   c           	      ^    t          | j        | j        ||| j        | j        | j                  S r
   )r[   rf   ry   r3   rd   rb   )r   r_   r`   s      r   r[   zDebugProperty.GetPropertyInfo   s3    IJLOO
 
 	
r   c                 $    t          d           d S )NzDebugProperty::GetExtendedInfor   r*   s    r   r   zDebugProperty.GetExtendedInfo   s    566666r   c                     | j         r;| j        r4t          || j         j        | j         j                  | j        | j        <   d S t          d           d S )NzDebugProperty::SetValueAsString)rb   rd   r<   r=   r>   rf   r   )r   ry   r$   s      r   r   zDebugProperty.SetValueAsString   s[    ? 	<t 	<)-t0$/2J* *DODI&&& :;;;;;r   c                 <    t          | j        |||| j                  S r
   )rh   ry   rb   )r   r_   r`   ra   s       r   r   zDebugProperty.EnumMembers   s#    $JVS$/
 
 	
r   c                 $    t          d           d S )NzDebugProperty::GetParentr   r*   s    r   r   zDebugProperty.GetParent   s    /00000r   )Nr   NN)r   r   r   r   rS   r   r   r   r[   r   r   r   r   r   r   r   rR   rR      s        23   PT% % % %	
 	
 	
7 7 7< < <
 
 
1 1 1 1 1r   rR   r
   )r   NN)r   rC   rA   r   r1   r5   r   r   utilr   r   r   r   DebugExpressionContextr   DebugExpressionr!   rh   r[   win32com.server.utilr}   r\   rR   r   r   r   <module>r      s   				 



                    % % % % % % % %% % %	 	 	 	 	 B 	 	 	B B B B B7 B B B1$ 1$ 1$ 1$ 1$) 1$ 1$ 1$hS S S S" RV7 7 7 7D 7 6 6 6 6 6    1   &21 21 21 21 21 21 21 21 21 21r   