Your IP : 216.73.216.213


Current Path : /opt/alt/python34/lib64/python3.4/Tools/scripts/__pycache__/
Upload File :
Current File : //opt/alt/python34/lib64/python3.4/Tools/scripts/__pycache__/objgraph.cpython-34.pyo

�
e fg�@sddlZddlZddlZddlZdZdZdZejd�Zdd�Z	dd	�Z
iZiZiZ
iZd
d�Zdd
�Zdd�Zdd�Zdd�Zdd�Zedkryeje��Wqek
r
ejd�YqXndS)�NZ	TRGDSBAECZUVZNntrgdsbavucz(.*):	?........ (.) (.*)$cCs1||kr ||j|�n
|g||<dS)N)�append)�dict�key�item�r�;/opt/alt/python34/lib64/python3.4/Tools/scripts/objgraph.py�store)srcCs3d}x|D]}|d|}q
W|dd�S)N�� �r)�list�srrrr�flat2s
rc
Cs0x)|j�}|sPntj|�dkr8|qntjdd�\\}}\}}\}}\}}	|||�|||	�|||�}
}}|tkr�tt||
�tt|
|�q|tkr�tt	|
|�tt
||
�q|tkrt|
d|d|�qqWdS)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|}q0q0W|r�|j�t|d�d}xB|D])}||kr�td|�n|}q�Wqt|d�qWdS)Nrr	r$z: unused)r%rr&rr'r)�filesr*ZcallersZlabelZlastfnrrrr�printcallerjs



r/cCs�i}xNttj��D]:}x1t|D]%}|tkr*t|||�q*q*WqWt|j��}xK|D]C}t|d�t||�}x|D]}td|�q�WqpWdS)Nrr$)rrr&rrr%r)Zundefsr*r,r+r)rrr�
printundef~s

r0cCs�tj}tjt_ttj��}xQ|D]I}tt|�dkr.td|ddd�ttt|��q.q.W|t_dS)Nrzwarning:zmultiply defined:�endr
)	�sys�stdout�stderrr%rr&r(rr)Z
savestdout�namesr rrr�warndups�s	
r6c	
Cs3y)tjtjdd�d�\}}Wn�tjk
r�tjt_tdtjj	tjd�dd�td�td�td	�td
�td�td�td
�dSYnXd}}}xS|D]K\}}|dkr�d}q�|dkrd}q�|dkr�d}q�q�W||koC|koCdknrYd}}}n|skdg}nx=|D]5}|dkr�t
tj�qrt
t|d��qrWt
�|||dk}|r�|r�td�nt�n|r|rtd�nt�n|r/|r%td�nt�ndS)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