Your IP : 3.141.19.156


Current Path : /lib64/python2.7/Tools/scripts/
Upload File :
Current File : //lib64/python2.7/Tools/scripts/objgraph.pyc

�
�mec@s�ddlZddlZddlZddlZdZdZdZejd�Zd�Z	d�Z
iZiZiZ
iZd�Zd	�Zd
�Zd�Zd�Zd
�Zedkr�yeje��Wq�ek
r�ejd�q�XndS(i����Nt	TRGDSBAECtUVtNntrgdsbavucs(.*):	?........ (.) (.*)$cCs4|j|�r#||j|�n
|g||<dS(N(thas_keytappend(tdicttkeytitem((s./usr/lib64/python2.7/Tools/scripts/objgraph.pytstore)scCs-d}x|D]}|d|}q
W|dS(Ntt i((tlisttsR((s./usr/lib64/python2.7/Tools/scripts/objgraph.pytflat2s
c
Csx|j�}|sPntj|�dkr8|qntjd \\}}\}}\}}\}}	|||!|||	!|||!}
}}|tkr�tt||
�tt|
|�q|tkr�tt	|
|�tt
||
�q|tkr|
d|d|GHqqdS(Niit:s: unknown type (treadlinetmatchertsearchtregstdefinitionsRtdef2filetfile2deft	externalst
file2undeft
undef2filetignore(
tfpRtratrbtr1atr1btr2atr2btr3atr3btfntnamettype((s./usr/lib64/python2.7/Tools/scripts/objgraph.pyt	readinputBs"1)cCs�tj�}|j�x�|D]�}|dGHt|}|j�xm|D]e}t|�dkrhd}nd}tj|�s�d||dGHqGd||tt|�GHqGWqWdS(NRis	s		s *undefined(RtkeystsorttlenRRR
(tflisttfilenametelisttextttabs((s./usr/lib64/python2.7/Tools/scripts/objgraph.pytprintcalleeXs

	


	cCs�tj�}|j�x�|D]�}g}x2t|D]&}tj|�r4|t|}q4q4W|r�|j�|dGHd}x8|D]$}||kr�d|GHn|}q�Wq|dGHqWdS(NRR	s	s: unused(RR'R(RR(tfilesR+tcallerstlabeltlastfnR#((s./usr/lib64/python2.7/Tools/scripts/objgraph.pytprintcallerks 


	

cCs�i}xKtj�D]=}x4t|D](}tj|�s$t|||�q$q$WqW|j�}|j�xE|D]=}|dGH||}|j�x|D]}d|GHq�WqqWdS(NRs	(RR'RRRR((tundefsR+R-R,R*((s./usr/lib64/python2.7/Tools/scripts/objgraph.pyt
printundef�s

	


cCs}tj}tjt_tj�}|j�xB|D]:}tt|�dkr2dG|GdGtt|�GHq2q2W|t_dS(Niswarning:smultiply defined:(tsyststdouttstderrRR'R(R)R
(t
savestdouttnamesR$((s./usr/lib64/python2.7/Tools/scripts/objgraph.pytwarndups�s	

c	Cs�y#tjtjdd�\}}Wn_tjk
r�tjt_dGtjjtjd�GdGHdGHdGHdGHd	GHd
GHdGHdSXd}}}xS|D]K\}}|dkr�d}q�|d
kr�d}q�|dkr�d}q�q�W||ko|kodknr!d}}}n|s3dg}nx=|D]5}|dkr\t	tj
�q:t	t|d��q:Wt�|||dk}|r�|r�dGHnt
�n|r�|r�dGHnt�n|r�|r�dGHnt�ndS(NitcdusUsage:is[-cdu] [file] ...s -c: print callers per objectfiles -d: print callees per objectfiles$-u: print usage of undefined symbolss.If none of -cdu is specified, all are assumed.s6Use "nm -o" to generate the input (on IRIX: "nm -Bo"),s"e.g.: nm -o /lib/libc.a | objgraphs-us-cs-dt-trs,---------------All callees------------------s,---------------Undefined callees------------s,---------------All Callers------------------(tgetoptR7targvterrorR9R8tostpathtbasenameR&tstdintopenR<R/R6R4(	toptlisttargstoptutoptctoptdtopttvoidR+tmore((s./usr/lib64/python2.7/Tools/scripts/objgraph.pytmain�sX#		
'



t__main__i(R7RCR@treRRRtcompileRRR
RRRRR&R/R4R6R<RPt__name__texittKeyboardInterrupt(((s./usr/lib64/python2.7/Tools/scripts/objgraph.pyt<module>s0								
	5