3
/*^	                 @   sJ   d dl Z d dlmZ d dlmZ d dlmZ er6e jZG dd deZ	dS )    N)PYTHON3)	NoneToken)ASTc                   sF   e Zd Z fddZdd Zdd Zddd	Zd
d Zdd Z  Z	S )
SyntaxTreec                s   t t| j|| d | _d S )N)superr   __init__transformed_by)selfargskwargs)	__class__ X/home/psgendb/BIRCHDEV/python/lib/python3.6/site-packages/uncompyle6/parsers/treenode.pyr      s    zSyntaxTree.__init__c             C   s   t | jdkot| jd kS )z{An SyntaxTree None token. We can't use regular list comparisons
        because SyntaxTree token offsets might be different   r   )lendatar   )r	   r   r   r   isNone   s    zSyntaxTree.isNonec             C   s   | j dd S )N )	__repr1__)r	   r   r   r   __repr__   s    zSyntaxTree.__repr__Nc       	      C   s  t | j}|d k	rd||f }d}t| dkrB|dt|  7 }d}| jd k	rn| jdkr`|d7 }n|d| j 7 }|| }|d7 }d	}x| D ]}t|d
r|r|j||}q|j|d }n@|jdd}|jdr|dd  }|r|d||f  }n|| }|d| 7 }|d7 }qW |S )Nz%2d. %sFr   z (%d)Tz (transformed)z (transformed by %s)z    r   r   r   )Zline_prefix
)strkindr   r   hasattrr   format
startswith)	r	   indentZsibNumrvZenumerate_childreninodechildinstr   r   r   r      s8    






zSyntaxTree.__repr1__c             C   s.   t | dkr*| d }t|ts"|S |j S | S )Nr   )r   
isinstancer   first_child)r	   r    r   r   r   r#   ;   s    
zSyntaxTree.first_childc             C   s.   t | dkr*| d }t|ts"|S |j S | S )Nr   r   )r   r"   r   
last_child)r	   r    r   r   r   r%   C   s    
zSyntaxTree.last_child)N)
__name__
__module____qualname__r   r   r   r   r#   r%   __classcell__r   r   )r   r   r   
   s   
$r   )
sys
uncompyle6r   Zuncompyle6.scanners.tokr   Zspark_parser.astr   Z	spark_ASTinternr   r   r   r   r   <module>   s   