
    ^h                         S SK r S SKrS SKrS SKJr  S SKrS SKJr  S SK	J
r
  \R                  " \5      r\R                  \R                  5         " S S\R                   5      rg)    N)cast)cells)flowc                   ~   ^  \ rS rSrSrS
U 4S jjrS\R                  S\4S jr	S\
R                  4U 4S jjrS	rU =r$ )DataflowAstRewriter   Freturnc                 4   > [         TU ]  " U0 UD6  SU l        g )NF)super__init___already_run)selfargskwargs	__class__s      [/home/james-whalen/.local/lib/python3.13/site-packages/ipyflow/tracing/flow_ast_rewriter.pyr   DataflowAstRewriter.__init__   s    $)&)!    _tracerc                     g)NT )r   r   s     r   should_instrument_with_tracer1DataflowAstRewriter.should_instrument_with_tracer   s    r   nodec           	        > U R                   (       a  U$ SU l          U R                  S   nUR                  R                  U R                  5      n[
        TU ]  U5      nU R                  c   e[        5       R                  5       R                  [        [        R                  U R                  [        U5         5      S9  Ub_  U R                  cR  UR                  U R                     nXSLd   eUR!                  U[        U5      5        X2R                  U R                  '   U$ ! ["         a5  n[%        5       R'                  U5        [(        R*                  " 5         UeS nAff = f)NT)override)r   _tracersast_bookkeeper_by_fnameget_pathr   visitorig_to_copy_mappingr   current_cellto_astr   astModuleid
_module_idremove_bookkeeping	Exceptionr   -get_and_set_exception_raised_during_execution	traceback	print_exc)r   r   last_tracerold_bookkeeperretnew_bookkeeperer   s          r   r"   DataflowAstRewriter.visit   s.   K 	--+K(@@DDTZZPN'-%C,,888G  "))cjj$*C*CBtH*MN *  )doo.E!,!D!DTZZ!P%;;;..~r$xHBP33DJJ?J 	F@@C!G	s   DD& &
E%00E  E%)r   )r	   N)__name__
__module____qualname____firstlineno__gc_bookkeepingr   pyc
BaseTracerboolr   r&   ASTr"   __static_attributes____classcell__)r   s   @r   r   r      s9    N"S^^  #''  r   r   )r&   loggingr-   typingr   pyccolor:   ipyflow.data_model.cellr   ipyflow.singletonsr   	getLoggerr5   loggersetLevelWARNINGAstRewriterr   r   r   r   <module>rJ      sJ    
     ) #			8	$   "#// "r   