£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
3
2a                  @   sr   d dl mZ d dlmZ d dlmZmZmZ dd Zdd Z	dd	 Z
d
d Zdd Zdd ZG dd dejZdS )   )
fixer_base)token)symsNodeLeafc             C   sx   xr| j D ]h}|jtjkr t|S |jtjkr|j r|j d }|jtjkr|j r|j d }t|tr|j	dkrdS qW dS )N    __metaclass__TF)
childrentyper   suitehas_metaclasssimple_stmt	expr_stmt
isinstancer   value)parentnode	expr_nodeZ	left_side r   2/opt/alt/python36/lib64/python3.6/fix_metaclass.pyr      s    



r   c             C   s   x| j D ]}|jtjkrd S qW x,t| j D ]\}}|jtjkr,P q,W tdttjg }x:| j |d d  r| j |d  }|j	|j
  |j  q\W | j	| |}d S )NzNo class suite and no ':'!   )r	   r
   r   r   	enumerater   COLON
ValueErrorr   append_childcloneremove)cls_noder   ir   	move_noder   r   r   fixup_parse_tree-   s    
r    c       
      C   s   x(t |jD ]\}}|jtjkrP qW d S |j  ttjg }ttj	|g}x2|j|d  r~|j| }|j
|j  |j  qNW | j|| |jd jd }|jd jd }	|	j|_d S )Nr   )r   r	   r
   r   SEMIr   r   r   r   r   r   r   insert_childprefix)
r   r   Z	stmt_nodeZsemi_indr   Znew_exprZnew_stmtr   Z	new_leaf1Z	old_leaf1r   r   r   fixup_simple_stmtG   s    
r$   c             C   s*   | j r&| j d jtjkr&| j d j  d S )Nr   r%   )r	   r
   r   NEWLINEr   )r   r   r   r   remove_trailing_newline_   s    r'   c             c   s   x$| j D ]}|jtjkrP qW tdxtt|j D ]t\}}|jtjkr6|j r6|j d }|jtjkr6|j r6|j d }t	|t
r6|jdkr6t||| t| |||fV  q6W d S )NzNo class suite!r   r   )r	   r
   r   r   r   listr   r   r   r   r   r   r$   r'   )r   r   r   Zsimple_noder   Z	left_noder   r   r   
find_metasd   s    



r)   c             C   s   | j d d d }x|r.|j }|jtjkrP qW xL|r||j }t|trd|jtjkrd|jr`d|_d S |j	|j d d d  q2W d S )Nr    r%   r%   )
r	   popr
   r   INDENTr   r   DEDENTr#   extend)r   Zkidsr   r   r   r   fixup_indent{   s    r/   c               @   s   e Zd ZdZdZdd ZdS )FixMetaclassTz
    classdef<any*>
    c             C   s<  t |sd S t| d }x"t|D ]\}}}|}|j  q"W |jd j}t|jdkr|jd jtjkrt|jd }n(|jd j	 }	t
tj|	g}|jd| nt|jdkrt
tjg }|jd| nZt|jdkrt
tjg }|jdttjd |jd| |jdttjd ntd	|jd jd }
d
|
_|
j}|jr^|jttjd d|
_nd|
_|jd }d|jd _d|jd _|j| t| |js|j  t|d}||_|j| |jttjd nbt|jdkr8|jd jtjkr8|jd jtjkr8t|d}|jd| |jdttjd d S )Nr               r   )(zUnexpected class definition	metaclass, r*   r   pass
r%   r%   r%   )r   r    r)   r   r	   r
   lenr   arglistr   r   Z	set_childr"   r   r   RPARLPARr   r   r#   r   COMMAr/   r&   r,   r-   )selfr   resultsZlast_metaclassr   r   ZstmtZ	text_typer>   r   Zmeta_txtZorig_meta_prefixr   Z	pass_leafr   r   r   	transform   s^    




zFixMetaclass.transformN)__name__
__module____qualname__ZBM_compatibleZPATTERNrD   r   r   r   r   r0      s   r0   N)r*   r   Zpygramr   Z
fixer_utilr   r   r   r   r    r$   r'   r)   r/   ZBaseFixr0   r   r   r   r   <module>   s   