
    BVhE                     J    d Z ddlZddlZ G d dej                        ZddZy)z8Print an AST tree in a form more readable than ast.dump.    Nc                   J    e Zd ZdZd ZddZd Zd Zd Zd Z	d	 Z
d
 ZddZy)PrettyPrinterzPrint AST nodes.c                 <    d| _         d| _        || _        || _        y )Nr    )
indent_lvlresultcolornoanno)selfr	   r
   s      _/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/autograph/pyct/pretty_printer.py__init__zPrettyPrinter.__init__   s    DODKDJDK    Nc                 N    | j                   rt        j                  |||      S |S )N)attrs)r	   	termcolorcolored)r   stringr	   r   s       r   _colorzPrettyPrinter._color   s#    zzvuE::Mr   c                 R    | j                  |j                  j                  d dg      S )Nbold)r   	__class____name__)r   nodes     r   _typezPrettyPrinter._type#   s!    ;;t~~..vh??r   c                 &    | j                  |d      S )Nbluer   r   names     r   _fieldzPrettyPrinter._field&   s    ;;tV$$r   c                 &    | j                  |d      S )Nmagentar   r   s     r   _valuezPrettyPrinter._value)   s    ;;tY''r   c                 &    | j                  |d      S )Nredr   r   s     r   _warningzPrettyPrinter._warning,   s    ;;tU##r   c                 D    | j                  d| j                  z  d dg      S )Nz| dark)r   r   )r   s    r   _indentzPrettyPrinter._indent/   s     ;;tdoo-tfX>>r   c                 X    | xj                   |z  c_         | xj                   dz  c_         y )N
)r   )r   ss     r   _printzPrettyPrinter._print2   s    KK1KKK4Kr   c           
      	   t        |t              rP|r(| j                  | j                         |d|d       y | j                  | j                         d|d       y |j                  rd}nd}|rG| j                  | j                         | j                  |      d| j                  |      |       n4| j                  | j                         | j                  |      |       | xj                  dz  c_        |j                  D ]  }| j                  r|j                  d      r"t        ||      s6| j                  | j                         | j                  d|z               dt        ||      }t        |t              r|r| j                  | j                         | j                  |      d	       | xj                  dz  c_        |D ]8  }|| j                  |       | j                  d
| j                         z         : | xj                  dz  c_        | j                  d| j                         z         @| j                  | j                         | j                  |      d       ut        |t              r|r| j                  | j                         | j                  |      d       | xj                  dz  c_        |D ]8  }|| j                  |       | j                  d
| j                         z         : | xj                  dz  c_        | j                  d| j                         z         E| j                  | j                         | j                  |      d       zt        |t         j"                        r| j                  ||       t        |t$              rI| j                  | j                         | j                  |      d| j'                  d|z               t        |t              rI| j                  | j                         | j                  |      d| j'                  d|z               Z| j                  | j                         | j                  |      d| j'                  |              | xj                  dz  c_        y )Nz="":z()=   __z
%s=<unset>z=[z%sNonez%s]z=[]z=(z%s)z=()zb"%s"zu"%s")
isinstancestrr-   r)   _fieldsr    r   r   r
   
startswithhasattrr&   getattrlistgeneric_visittuplegastASTbytesr#   )r   r   r   contfvns          r   r;   zPrettyPrinter.generic_visit6   su    $	4<<>4>?  	56||dd
kkT1B!%D!149 : kkdllndjj.>EFOOqO\\ +2	d+T1dllndmmL1<L.MNO
$
a	At	
++$,,.$++a.A
B
//Q
/ 7a}  #kk(dlln56	7
 //Q
/
++et||~.
/
++4<<>4;;q>B
Ca
++$,,.$++a.A
B
//Q
/ 7a}  #kk(dlln56	7
 //Q
/
++et||~.
/
++4<<>4;;q>B
Ca"1a aQ!%Wq[!9; 	<aQ!%Wq[!9; 	< 	Q!%Q1 	2U+2X 	OOqOr   N)r   
__module____qualname____doc__r   r   r   r    r#   r&   r)   r-   r;    r   r   r   r      s4    
@%($?Br   r   c                     t        ||      }t        | t        t        f      r$| D ]  }|j	                  |        |j
                  S |j	                  |        |j
                  S rD   )r   r4   r:   r<   visitr   )r   r	   r
   printerrC   s        r   fmtrL   {   s[    %('tUm$ mmA 
 MM$	r   )TF)rG   r=   r   NodeVisitorr   rL   rH   r   r   <module>rN      s*    ?  cD$$ cLr   