3
2)^                 @   s6   d dl mZ eddddd!d#d%d'd)d+d-gZdd ZdS ).    )Token
ifelsestmttestexprc_stmts_optjump_forward_else
else_suite_come_froms\e__come_fromsifelsestmtlelse_suitecifelsestmtcjump_absolute_elsejf_cfs\e_opt_come_from_exceptJUMP_FORWARD
come_fromsc_stmtsopt_come_from_except	jf_cf_popstmtselse_suite_optc             C   s  |d |k r(||d  dkr(|dkr(dS |t kr4dS |d }|dkrpt|dkrp|d }	|	dkrp|	d dkrpdS t|d
krV|d  }
|
jdkr| jdkr|
dkrt|
dkr|
d }
t|
tst|
r|| j|
d! jkS n|| j|
jkrdS | jdk r|d" }n|| }|dkrV|| j|jkrV| jdk rV| j| j	|j  j
dkrVdS |d }|d d#kr|d }|d }|jjdstt|dkr|d jjdr||kr|d8 }|d }| jdkr|d j}nt|d j}|d }|dkr|d }d}|dkr>d}t|j}|| j }||kr>dS || jdd}||kr\dS |d$kr|d dkr|d }|j}||k rdS |d%kr|d& dkr|d' j |krdS || j |krdS ||ko|| dkS dS )(N   ZCOME_FROM_LOOPr   TFr   r   raise_stmt1LOAD_ASSERT   r   g      @r   Z	COME_FROM
SETUP_LOOPtesttrue	testfalse   Zjmp_g@   r   r   )Zprefer_lastr   r   jb_elsecjb_elseljb_cfs)r   )r   r#   r#   )r   r   )r   r   )r    r!   r   r"   r#   r#   )IFELSE_STMT_RULESlenkindversion
isinstancer   offsetattrZinstsZoffset2inst_indexopname
startswithAssertionErrorintZpattrZoff2int)selflhsnZruleasttokensfirstlastr   r   Zend_come_fromsZ
last_tokenr   Zif_conditionr   ZjmpZ
jmp_targetZjump_else_endZjump_to_jumpZendif_targetZlast_offsetZjump_else_forwardZjump_else_forward_target r6   f/home/psgendb/BIRCHDEV/python/lib/python3.6/site-packages/uncompyle6/parsers/reducecheck/ifelsestmt.pyr   n   s    $

& 








Nr   r   r   r   r   )r   r8   r   r   r   r   r	   )r   r9   r   r   r   r   )r
   r:   r   r   r   r   r	   )r   r;   r   r   r   r   )r   r<   r   r   r   r   r   )r   r=   r   r   r   r   r   )r   r>   r   r   r   r   r   )r   r?   r   r   r   r   r   )r   r@   r   r   r   r   )r   rA   r   r   r   r   r   )r   rB   )Zuncompyle6.scanners.tokr   	frozensetr$   r   r6   r6   r6   r7   <module>   sz                                                   