Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/site-packages/coverage/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/site-packages/coverage/__pycache__/pytracer.cpython-35.pyc



E�W��@sjdZddlZddlZddlmZejdZejrPee�ZGdd�de	�Z
dS)z#Raw data collector for coverage.py.�N)�env�YIELD_VALUEc@s^eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dS)�PyTracerz-Python implementation of the raw data tracer.cCs|d|_d|_d|_d|_d|_d|_g|_dg|_g|_d|_	d|_
d|_d|_dS)NFr)
�data�
trace_arcs�should_trace�should_trace_cache�warn�	threading�
cur_file_dict�	last_line�
data_stack�
last_exc_back�last_exc_firstlineno�thread�stopped)�self�r�D/opt/alt/python35/lib64/python3.5/site-packages/coverage/pytracer.py�__init__$s											zPyTracer.__init__cCs>djt|�tdd�|jj�D��t|j��S)Nz.<PyTracer at 0x{0:0x}: {1} lines in {2} files>css|]}t|�VqdS)N)�len)�.0�vrrr�	<genexpr>:sz$PyTracer.__repr__.<locals>.<genexpr>)�format�id�sumr�valuesr)rrrr�__repr__7s	zPyTracer.__repr__cCso|jr
dS|jr{||jkrr|jrW|jrW|j|jf}d|j|<|jj�\|_|_d|_|dkrd|jj|j|jf�|j	j
}|jj|�}|dkr�|j
||�}||j|<d|_|jr3|j}||jkr#i|j|<|j||_|jdkrU|j	j|_qh|j|_n|dkr�|jdk	rh|j}|jr�d|j|j|f<n
d|j|<||_n�|dkrA|jr#|jr#|j	j|j}	|	tkr#|j	j}
d|j|j|
f<|jj�\|_|_n'|dkrh|j|_|j	j|_|jS)z*The trace function passed to sys.settrace.N�callr�line�return�	exception)rrrrrrr
�pop�append�f_code�co_filenamer�getr�traceZsource_filenamer�f_lasti�co_firstlineno�f_lineno�co_coder�f_back�_trace)r�frame�eventZ
arg_unused�pair�filenameZdispZ	tracename�lineno�bytecode�firstrrrr.>sV		
	
			
		
zPyTracer._tracecCs;|jr|jj�|_tj|j�d|_|jS)zdStart this Tracer.

        Return a Python function suitable for use with sys.settrace().

        F)r
�
currentThreadr�sys�settracer.r)rrrr�start}s
		zPyTracer.startcCs�d|_|jr4|jj|jj�jkr4dS|jrrtj�|jkrrd}|j|tj�f�tj	d�dS)zStop this Tracer.TNz7Trace function changed, measurement is likely wrong: %r)
rr
r�identr6r	r7�gettracer.r8)r�msgrrr�stop�s	'	z
PyTracer.stopcCsdS)z+Return a dictionary of statistics, or None.Nr)rrrr�	get_stats�szPyTracer.get_statsN)
�__name__�
__module__�__qualname__�__doc__rrr.r9r=r>rrrrrs?r)rB�disr7�coverager�opmapr�PY2�chr�objectrrrrr�<module>s