B
    t\e	                 @   s   d dl Z d dlmZ d dlmZ edZG dd deZdZ	dZ
d	Zd
ZdZdZeZee	e
eeeeddZe eedde ZddddddddddediZdd ZdS )    N)BOM_UTF8)groupzutf-8c               @   s2   e Zd ZdddZedd Zdd Zd	d
 ZdS )
PrefixPart Nc             C   s.   |d k	st || _|| _|| _|| _|| _d S )N)AssertionErrorparenttypevaluespacing	start_pos)selfleaftypr	   r
   r    r   2lib/python3.7/site-packages/parso/python/prefix.py__init__
   s    zPrefixPart.__init__c             C   sL   | j dr| jd d dfS | j tkr.| jS | jd | jd t| j  fS )N
r      )r	   endswithr   unicode_bomlen)r   r   r   r   end_pos   s
    
zPrefixPart.end_posc             C   s2   | j d t| j }t| jd| j| j d |fdS )Nr   r
   r   )r   )r   r   r
   r   r   )r   columnr   r   r   create_spacing_part   s    
zPrefixPart.create_spacing_partc             C   s   d| j j| jt| j| jf S )Nz%s(%s, %s, %s))	__class____name__r   reprr	   r   )r   r   r   r   __repr__"   s
    zPrefixPart.__repr__)r   N)r   
__module____qualname__r   propertyr   r   r   r   r   r   r   r   	   s   
	r   z#[^\n\r\f]*z\\\r?\nz\r?\nz\f$z[ \t]*T)Zcapture#comment\Z	backslashZformfeedr   newlinebomc       
   	   c   s   |\}}d}d }}d}x|t | jkrt| j|}|d}|d}|sPP t|d  }	t| |	||||| t| t | fdV  |	dkrd}|d}|	d	r|d7 }| }qW |rd}t| d
|||| fdV  d S )Nr   r   Fr      )r   r(   Tr   r
   )
r   prefix_regexmatchr   _typesr   intendr   )
r   r   liner   startr	   r
   r(   r,   Ztype_r   r   r   split_prefixD   s2    

"


r2   )recodecsr   Zparso.python.tokenizer   decoder   objectr   Z_commentZ
_backslashZ_newlineZ
_form_feedZ_only_spacingZ_spacingZ_bomr+   compiler-   r2   r   r   r   r   <module>   s,   
"