ó
    Ð]j�  ã                  ó~   • S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  \(       a  S SK
Jr  S SKJrJr   " S S	5      rg
)é    )Úannotations)Údefaultdict)ÚPath)ÚTYPE_CHECKING)ÚKind)ÚGriffeLoader)ÚAliasÚObjectc                  ó6   • \ rS rSrSrSS jrS	S jrS
S jrSrg)ÚStatsé   z$Load statistics for a Griffe loader.c                ó.  • Xl          [        [        SSSSSSSS.5      nUR                  R                  R                  5       n[        R                  S[        R                  S[        R                  S[        R                  S[        R                  S0U l         [        U5      U l         X l         [!        S UR"                  R                  5        5       5      U l         SU l         SU l         SU l         U H  nU R-                  U5        M     g)zWInitialiwe the stats object.

Parameters:
    loader: The loader to compute stats for.
r   )Ú ú.pyú.pyiz.pycz.pyoz.pydz.soc              3  ó8   #   • U  H  n[        U5      v •  M     g 7f)N)Úlen)Ú.0Úliness     ÚS/home/mande/repo/quber/.venv/lib/python3.13/site-packages/griffe/_internal/stats.pyÚ	<genexpr>Ú!Stats.__init__.<locals>.<genexpr>;   s   é € ÐRÒ1Q¨œ˜UŸ˜Ò1Qùs   ‚N)Úloaderr   ÚintÚmodules_collectionÚmembersÚvaluesr   ÚMODULEÚCLASSÚFUNCTIONÚ	ATTRIBUTEÚ
TYPE_ALIASÚby_kindr   ÚpackagesÚmodules_by_extensionÚsumÚlines_collectionr   Útime_spent_visitingÚtime_spent_inspectingÚtime_spent_serializingÚ
_itercount)Úselfr   r%   Útop_modulesÚmodules        r   Ú__init__ÚStats.__init__   s   € ð ŒØ.ä*ÜàØØØØØØñó 
Ðð ×/Ñ/×7Ñ7×>Ñ>Ó@ˆô �K‰K˜Ü�J‰J˜Ü�M‰M˜1Ü�N‰N˜AÜ�O‰O˜Qð
ˆŒð 	)ä˜KÓ(ˆŒØ!à$8Ô!Ø-äÑR°×1HÑ1H×1OÑ1OÔ1QÓRÓRˆŒ
Ø$à#$ˆÔ Ø*à%&ˆÔ"Ø,à&'ˆÔ#Ø-ã!ˆFØ�O‰O˜FÖ#ò "ó    c                óÎ  • UR                   (       a  g U R                  UR                  ==   S-  ss'   UR                  (       ao  [	        UR
                  [        5      (       a,  U R                  UR
                  R                  ==   S-  ss'   O$UR
                  c  U R                  S==   S-  ss'   UR                  R                  5        H  nU R                  U5        M     g )Né   r   )Úis_aliasr#   ÚkindÚ	is_moduleÚ
isinstanceÚfilepathr   r%   Úsuffixr   r   r+   )r,   ÚrootÚmembers      r   r+   ÚStats._itercountJ   sŸ   € Ø�=�=ØØ�‰�T—Y‘YÓ 1Ñ$ÓØ�>�>Ü˜$Ÿ-™-¬×.Ñ.Ø×)Ñ)¨$¯-©-×*>Ñ*>Ó?À1ÑDÔ?Ø—‘Ñ&Ø×)Ñ)¨"Ó-°Ñ2Ó-Ø—l‘l×)Ñ)Ö+ˆFØ�O‰O˜FÖ#ò ,r1   c                ó2  • / nU R                   nU R                  [        R                     nU R                  [        R                     nU R                  [        R
                     nU R                  [        R                     nU R                  [        R                     n[        X4XVU45      nUR                  S5        UR                  S5        UR                  S5        UR                  SU 35        UR                  SU 35        UR                  SU 35        UR                  SU 35        UR                  SU 35        UR                  S	U S
U S35        U R                  n	U	S   n
U	S   nU	S   nX:-
  U-
  U-
  nUR                  S5        UR                  SU R                   35        UR                  S5        UR                  S5        UR                  SU
 35        UR                  SU 35        UR                  SU 35        UR                  SU 35        UR                  S5        [        U	R                  5       5       H%  u  pïU(       d  M  UR                  SU SU 35        M'     U R                  S-  nU R                  S-  nUU-   nUU-  S-  nUU-  S-  nU R                   R"                  nU(       a  SOUn UU-  nX­-   U(       a  UOS-   n UU-  nUR                  S5        UR                  SU SU SUS SUS S 3	5        UR                  S!U SU SUS SUS S 3	5        U R&                  S-  nUU-  nUR                  S"U SUS S#35        S$R)                  U5      $ ! [$         a    Sn N³f = f! [$         a    Sn N¯f = f)%z9Format the statistics as text.

Returns:
    Text stats.
Ú
Statisticsz---------------------zNumber of loaded objectsz  Modules: z  Classes: z  Functions: z  Attributes: z  Type aliases: z	  Total: z across z	 packagesr   r   r   zTotal number of lines: ÚModulesz  Builtin: z  Compiled: z  Regular: z	  Stubs: z  Per extension:z    z: iè  éd   r   zTime spent visiting modules (z): zms, z.02fzms/module (z%)zTime spent inspecting modules (zTime spent serializing: z	ms/moduleÚ
)r$   r#   r   r   r   r    r!   r"   r&   Úappendr%   r   ÚsortedÚitemsr(   r)   r   Úforce_inspectionÚZeroDivisionErrorr*   Újoin)r,   r   r$   ÚmodulesÚclassesÚ	functionsÚ
attributesÚtype_aliasesÚobjectsÚper_extÚbuiltinÚregularÚstubsÚcompiledÚextÚnumberÚ
visit_timeÚinspect_timeÚ
total_timeÚvisit_percentÚinspect_percentrE   Úvisited_modulesÚvisit_time_per_moduleÚinspected_modulesÚinspect_time_per_moduleÚserialize_timeÚserialize_time_per_modules                               r   Úas_textÚStats.as_textV   s·  € ð ˆØ—=‘=ˆØ—,‘,œtŸ{™{Ñ+ˆØ—,‘,œtŸz™zÑ*ˆØ—L‘L¤§¡Ñ/ˆ	Ø—\‘\¤$§.¡.Ñ1ˆ
Ø—|‘|¤D§O¡OÑ4ˆÜ�w¨ÀÐMÓNˆØ�‰�\Ô"Ø�‰Ð,Ô-Ø�‰Ð/Ô0Ø�‰�{ 7 )Ð,Ô-Ø�‰�{ 7 )Ð,Ô-Ø�‰�} Y KÐ0Ô1Ø�‰�~ j \Ð2Ô3Ø�‰Ð'¨ ~Ð6Ô7Ø�‰�y  	¨°(°¸9ÐEÔFØ×+Ñ+ˆØ˜"‘+ˆØ˜%‘.ˆØ˜‘ˆØÑ$ wÑ.°Ñ6ˆØ�‰�RÔØ�‰Ð.¨t¯z©z¨lÐ;Ô<Ø�‰�RÔØ�‰�YÔØ�‰�{ 7 )Ð,Ô-Ø�‰�| H :Ð.Ô/Ø�‰�{ 7 )Ð,Ô-Ø�‰�y  Ð(Ô)Ø�‰Ð'Ô(Ü! '§-¡-£/Ö2‰KˆCßˆsØ—‘˜t C 5¨¨6¨(Ð3Ö4ñ 3ð ×-Ñ-°Ñ4ˆ
Ø×1Ñ1°DÑ8ˆØ ,Ñ.ˆ
Ø" ZÑ/°#Ñ5ˆØ&¨Ñ3°cÑ9ˆàŸ;™;×7Ñ7ÐÞ/™!°Wˆð	&Ø$.°Ñ$@Ð!ð $Ñ.Ö=M±'ÐSTÑUÐð	(Ø&2Ð5FÑ&FÐ#ð 	�‰�RÔØ�‰Ø+¨OÐ+<¸CØˆl˜$Ð4°TÐ:¸+ÀmÐTXÐEYÐY[ð]ô	
ð 	�‰Ø-Ð.?Ð-@ÀØˆn˜DÐ!8¸Ð >¸kÈ/ÐZ^ÐI_Ð_aðcô	
ð
 ×4Ñ4°tÑ;ˆØ$2°WÑ$<Ð!Ø�‰Ð/°Ð/?¸tÐD]Ð^bÐCcÐclÐmÔnà�y‰y˜ÓÐøô/ !ó 	&Ø$%Ò!ð	&ûô !ó 	(Ø&'Ò#ð	(ús$   ËM5 Ë!N Í5NÎNÎNÎN)r#   r   r   r%   r$   r)   r*   r(   N)r   r   ÚreturnÚNone)r:   zObject | Aliasrb   rc   )rb   Ústr)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r/   r+   r`   Ú__static_attributes__© r1   r   r   r      s   † Ù.ô4$ôl
$÷J r1   r   N)Ú
__future__r   Úcollectionsr   Úpathlibr   Útypingr   Úgriffe._internal.enumerationsr   Úgriffe._internal.loaderr   Úgriffe._internal.modelsr	   r
   r   rk   r1   r   Ú<module>rs      s+   ðõ #å #Ý Ý  å .æÝ4ß5÷O ò O r1   