
    3gV                     ^    d dl Z d dlmZmZ  G d de      Z G d de      Z G d de      Zy)	    N)	copy_nodeMutationOperatorc                   2    e Zd Zd Zed        Zed        Zy)OneIterationLoopc                     |j                   j                  t        j                  |j                   d   j                  dz                |S )N   lineno)bodyappendastBreakr   selfnodes     /home/xtuchyna/.var/app/com.visualstudio.code/data/virtualenvs/gen-test-bench-v8TMe8KL/lib/python3.12/site-packages/mutpy/operators/loop.pyone_iterationzOneIterationLoop.one_iteration   s5    		$))B-*>*>*BCD    c                 $    | j                  |      S Nr   r   s     r   
mutate_ForzOneIterationLoop.mutate_For       !!$''r   c                 $    | j                  |      S r   r   r   s     r   mutate_WhilezOneIterationLoop.mutate_While   r   r   N)__name__
__module____qualname__r   r   r   r    r   r   r   r      s/     ( ( ( (r   r   c                       e Zd Zed        Zy)ReverseIterationLoopc                     |j                   }t        j                  t        j                  t        j
                  t        j                               |gg d d       |_         |S )N)idctx)funcargskeywordsstarargskwargs)iterr   CallNamereversedr   Load)r   r   old_iters      r   r   zReverseIterationLoop.mutate_For   sJ    99HHX..CHHJ?
	 r   N)r   r   r   r   r   r    r   r   r"   r"      s    	 	r   r"   c                   2    e Zd Zd Zed        Zed        Zy)ZeroIterationLoopc                 l    t        j                  |j                  d   j                        g|_        |S )Nr   r
   )r   r   r   r   r   s     r   zero_iterationz ZeroIterationLoop.zero_iteration#   s(    YYdiil&9&9:;	r   c                 $    | j                  |      S r   r4   r   s     r   r   zZeroIterationLoop.mutate_For'       ""4((r   c                 $    | j                  |      S r   r6   r   s     r   r   zZeroIterationLoop.mutate_While+   r7   r   N)r   r   r   r4   r   r   r   r    r   r   r2   r2   "   s/     ) ) ) )r   r2   )r   mutpy.operatorsr   r   r   r"   r2   r    r   r   <module>r:      s2    
 7(' (+ )( )r   