Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/Tools/scripts/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/Tools/scripts/__pycache__/objgraph.cpython-35.opt-1.pyc



��Yfg�@sddlZddlZddlZddlZdZdZdZejd�Zdd�Z	dd	�Z
iZiZiZ
iZd
d�Zdd
�Zdd�Zdd�Zdd�Zdd�Zedkryeje��Wnek
r
ejd�YnXdS)�NZ	TRGDSBAECZUVZNntrgdsbavucz(.*):	?........ (.) (.*)$cCs1||kr ||j|�n
|g||<dS)N)�append)�dict�key�item�r�;/opt/alt/python35/lib64/python3.5/Tools/scripts/objgraph.py�store)srcCs3d}x|D]}|d|}q
W|dd�S)N�� �r)�list�srrrr�flat2s
rc
Cs'x |j�}|sPtj|�dkr2|qtjdd�\\}}\}}\}}\}}	|||�|||	�|||�}
}}|tkr�tt||
�tt|
|�q|tkr�tt	|
|�tt
||
�q|tkrt|
d|d|�qWdS)Nr��:z: unknown type )
�readline�matcher�search�regs�definitionsr�def2file�file2def�	externals�
file2undef�
undef2file�ignore�print)
�fpr
Zra�rbZr1aZr1bZr2aZr2bZr3aZr3b�fn�name�typerrr�	readinputBs"72r"cCs�ttj��}x�|D]�}t|d�t|}|j�xt|D]l}t|�dkrid}nd}|tkr�td||d�qHtd||tt|��qHWqWdS)Nr��	z		z *undefined)�sortedr�keysr�sort�lenrr)�flist�filename�elist�extZtabsrrr�printcalleeXs



	r-cCs�ttj��}x�|D]�}g}x,t|D] }|tkr0|t|}q0W|r�|j�t|d�d}x?|D]&}||kr�td|�|}qWqt|d�qWdS)Nrr	r$z: unused)r%rr&rr'r)�filesr*ZcallersZlabelZlastfnrrrr�printcallerjs



r/cCs�i}xKttj��D]7}x.t|D]"}|tkr*t|||�q*WqWt|j��}xK|D]C}t|d�t||�}x|D]}td|�q�WqmWdS)Nrr$)rrr&rrr%r)Zundefsr*r,r+r)rrr�
printundef~s

r0cCs�tj}tjt_ttj��}xN|D]F}tt|�dkr.td|ddd�ttt|��q.W|t_dS)Nrzwarning:zmultiply defined:�endr
)	�sys�stdout�stderrr%rr&r(rr)Z
savestdout�namesr rrr�warndups�s	
r6c	
Csy)tjtjdd�d�\}}Wn�tjk
r�tjt_tdtjj	tjd�dd�td�td�td	�td
�td�td�td
�dSYnXd}}}xP|D]H\}}|dkr�d}q�|dkrd}q�|dkr�d}q�W||ko@|ko@dknrSd}}}|sbdg}x=|D]5}|dkr�t
tj�qit
t|d��qiWt
�|||dk}|r�|r�td�t�|r�|r�td�t�|r|r
td�t�dS)NrZcduzUsage:rr1r
z[-cdu] [file] ...z -c: print callers per objectfilez -d: print callees per objectfilez$-u: print usage of undefined symbolsz.If none of -cdu is specified, all are assumed.z6Use "nm -o" to generate the input (on IRIX: "nm -Bo"),z"e.g.: nm -o /lib/libc.a | objgraphz-uz-cz-d�-�rz,---------------All callees------------------z,---------------Undefined callees------------z,---------------All Callers------------------)�getoptr2�argv�errorr4r3r�os�path�basenamer"�stdin�openr6r-r0r/)	Zoptlist�argsZoptuZoptcZoptdZopt�voidr*Zmorerrr�main�sX)&






			
'	



rC�__main__r)r2r<r9�rerrr�compilerrrrrrrr"r-r/r0r6rC�__name__�exit�KeyboardInterruptrrrr�<module>s0	5