
    X-Phg                    H    d dl mZ d dlZd dlZd dlmZ  G d d          ZdS )    )annotationsN)Mappingc                  2    e Zd ZdZddZdd	ZddZddZdS )GcLoggerz1Context manager to log GC stats and overall time.returnc                    d | _         d| _        d| _        d| _        d| _        t
          j                            | j                   t          j	                    | _
        | S )Ng        r   )gc_start_timegc_timegc_callsgc_collectedgc_uncollectablegc	callbacksappendgc_callbacktime
start_time)selfs    M/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mypy/gclogger.py	__enter__zGcLogger.__enter__   sS    +/ !
D,---)++    phasestrinfoMapping[str, int]Nonec                   |dk    r+| j         
J d            t          j                    | _         d S |dk    r| j         
J d            | xj        dz  c_        | xj        t          j                    | j         z
  z  c_        d | _         | xj        |d         z  c_        | xj        |d         z  c_        d S J d	|d
            )NstartzStart phase out of sequencestopzStop phase out of sequence   	collecteduncollectableFzUnrecognized gc phase ())r	   r   r   r
   r   r   )r   r   r   s      r   r   zGcLogger.gc_callback   s    G%--/L---!%Df__%113O111MMQMMLLDIKK$*<<<LL!%Dk!22!!T/%::!!!!>>E>>>>>>r   argsobjectc                    | j         t          j        v r9t          j                            | j                    | j         t          j        v 7d S d S )N)r   r   r   remove)r   r$   s     r   __exit__zGcLogger.__exit__#   sI    ",..L 0111 ",......r   Mapping[str, float]c                t    t          j                     }| j        | j        | j        | j        || j        z
  d}|S )N)r
   r   r   r   
build_time)r   r
   r   r   r   r   )r   end_timeresults      r   	get_statszGcLogger.get_stats'   s@    9;;| - $ 5"T_4
 
 r   N)r   r   )r   r   r   r   r   r   )r$   r%   r   r   )r   r)   )__name__
__module____qualname____doc__r   r   r(   r.    r   r   r   r      sj        ;;   ? ? ? ?2 2 2 2	 	 	 	 	 	r   r   )
__future__r   r   r   collections.abcr   r   r3   r   r   <module>r6      sm    " " " " " " 				  # # # # # #( ( ( ( ( ( ( ( ( (r   