§
    îyIf�  ã                   óZ   — d dl mZ d dlmZmZmZmZmZm	Z	 d dl
mZ  G d„ de¦  «        ZdS )é    )Úmessages)ÚFunctionScopeÚ
ClassScopeÚModuleScopeÚArgumentÚFunctionDefinitionÚ
Assignment)ÚTestCasec                   ó0   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestCodeSegmentsz(
    Tests for segments of a module
    c                 óx   — |                       dd¬¦  «         |                       dt          j        d¬¦  «         d S )NzH
        def foo():
            def bar():
                pass
        T©Ú
is_segmentzI
        def foo():
            def bar():
                x = 0
        ©ÚflakesÚmÚUnusedVariable©Úselfs    úS/var/www/piapp/venv/lib/python3.11/site-packages/pyflakes/test/test_code_segment.pyÚtest_function_segmentz&TestCodeSegments.test_function_segment   ó]   € Ø�Šð ð ð	 	ñ 	ô 	ð 	ð 	�Šð õ Ô¨$ð	 	ñ 	0ô 	0ð 	0ð 	0ð 	0ó    c                 óx   — |                       dd¬¦  «         |                       dt          j        d¬¦  «         d S )NzH
        class Foo:
            class Bar:
                pass
        Tr   zI
        class Foo:
            def bar():
                x = 0
        r   r   s    r   Útest_class_segmentz#TestCodeSegments.test_class_segment   r   r   c                 ó|  — |                       dd¬¦  «        }|j        }d„ |D ¦   «         }d„ |D ¦   «         }d„ |D ¦   «         }|                      t          |¦  «        d¦  «         |                      t          |¦  «        d¦  «         |                      t          |¦  «        d¦  «         |d         }|d         }|                      |t
          ¦  «         |                      |t          ¦  «         |                      d	|¦  «         |                      d
|¦  «         |                      d|¦  «         |                      d|¦  «         |                      d|¦  «         |                      d|¦  «         |                      |d
         t          ¦  «         |                      |d	         t          ¦  «         |                      |d         t          ¦  «         |                      |d         t          ¦  «         |                      |d         t          ¦  «         |                      |d         t          ¦  «         d S )Nzi
        class Foo:
            x = 0
            def bar(a, b=1, *d, **e):
                pass
        Tr   c                 ó.   — g | ]}|j         t          u ¯|‘ŒS © ©Ú	__class__r   ©Ú.0Úscopes     r   ú
<listcomp>z5TestCodeSegments.test_scope_class.<locals>.<listcomp>/   ó.   € ð Ið Ið IØ¨¬½KÐ)GÐ)GˆEÐ)GÐ)GÐ)Gr   c                 ó.   — g | ]}|j         t          u ¯|‘ŒS r   )r    r   r!   s     r   r$   z5TestCodeSegments.test_scope_class.<locals>.<listcomp>1   s.   € ð Hð Hð HØ¨¬½JÐ)FÐ)FˆEÐ)FÐ)FÐ)Fr   c                 ó.   — g | ]}|j         t          u ¯|‘ŒS r   ©r    r   r!   s     r   r$   z5TestCodeSegments.test_scope_class.<locals>.<listcomp>3   ó.   € ð Kð Kð KØ¨¬½MÐ)IÐ)IˆEÐ)IÐ)IÐ)Ir   r   é   ÚxÚbarÚaÚbÚdÚe)r   Ú
deadScopesÚassertEqualÚlenÚassertIsInstancer   r   ÚassertInr   r	   r   )r   ÚcheckerÚscopesÚmodule_scopesÚclass_scopesÚfunction_scopesÚclass_scopeÚfunction_scopes           r   Útest_scope_classz!TestCodeSegments.test_scope_class&   sS  € Ø—+’+ð ð
 ð ñ ô ˆð Ô#ˆðIð IØ%ðIñ Iô IˆðHð HØ%ðHñ Hô HˆðKð KØ%ðKñ Kô Kˆð
 	×Ò�˜]Ñ+Ô+¨QÑ/Ô/Ð/Ø×Ò�˜\Ñ*Ô*¨AÑ.Ô.Ð.Ø×Ò�˜_Ñ-Ô-¨qÑ1Ô1Ð1à" 1”oˆØ(¨Ô+ˆà×Ò˜k­:Ñ6Ô6Ð6Ø×Ò˜n­mÑ<Ô<Ð<à�Š�c˜;Ñ'Ô'Ð'Ø�Š�e˜[Ñ)Ô)Ð)à�Š�c˜>Ñ*Ô*Ð*Ø�Š�c˜>Ñ*Ô*Ð*Ø�Š�c˜>Ñ*Ô*Ð*Ø�Š�c˜>Ñ*Ô*Ð*à×Ò˜k¨%Ô0Õ2DÑEÔEÐEØ×Ò˜k¨#Ô.µ
Ñ;Ô;Ð;à×Ò˜n¨SÔ1µ8Ñ<Ô<Ð<Ø×Ò˜n¨SÔ1µ8Ñ<Ô<Ð<Ø×Ò˜n¨SÔ1µ8Ñ<Ô<Ð<Ø×Ò˜n¨SÔ1µ8Ñ<Ô<Ð<Ð<Ð<r   c                 óh  — |                       dd¬¦  «        }|j        }d„ |D ¦   «         }d„ |D ¦   «         }|                      t          |¦  «        d¦  «         |                      t          |¦  «        d¦  «         |d         }|d         }|                      |t
          ¦  «         |                      |t
          ¦  «         |                      d	|¦  «         |                      d
|¦  «         |                      d|¦  «         |                      d|¦  «         |                      d|¦  «         |                      d|¦  «         |                      d|¦  «         |                      d|¦  «         |                      d|¦  «         |                      |d         t          ¦  «         |                      |d	         t          ¦  «         |                      |d
         t          ¦  «         |                      |d         t          ¦  «         |                      |d         t          ¦  «         |                      |d         t          ¦  «         |                      |d         t          ¦  «         |                      |d         t          ¦  «         |                      |d         t          ¦  «         d S )Nzf
        def foo(a, b=1, *d, **e):
            def bar(f, g=1, *h, **i):
                pass
        Tr   c                 ó.   — g | ]}|j         t          u ¯|‘ŒS r   r   r!   s     r   r$   z8TestCodeSegments.test_scope_function.<locals>.<listcomp>Z   r%   r   c                 ó.   — g | ]}|j         t          u ¯|‘ŒS r   r(   r!   s     r   r$   z8TestCodeSegments.test_scope_function.<locals>.<listcomp>\   r)   r   r   é   r*   r-   r.   r/   r0   r,   ÚfÚgÚhÚi)	r   r1   r2   r3   r4   r   r5   r   r   )r   r6   r7   r8   r:   Úfunction_scope_fooÚfunction_scope_bars          r   Útest_scope_functionz$TestCodeSegments.test_scope_functionR   s¶  € Ø—+’+ð ð ð	 ñ ô ˆð Ô#ˆðIð IØ%ðIñ Iô IˆðKð KØ%ðKñ Kô Kˆð
 	×Ò�˜]Ñ+Ô+¨QÑ/Ô/Ð/Ø×Ò�˜_Ñ-Ô-¨qÑ1Ô1Ð1à,¨QÔ/ÐØ,¨QÔ/Ðà×ÒÐ0µ-Ñ@Ô@Ð@Ø×ÒÐ0µ-Ñ@Ô@Ð@à�Š�cÐ-Ñ.Ô.Ð.Ø�Š�cÐ-Ñ.Ô.Ð.Ø�Š�cÐ-Ñ.Ô.Ð.Ø�Š�cÐ-Ñ.Ô.Ð.Ø�Š�eÐ/Ñ0Ô0Ð0à�Š�cÐ-Ñ.Ô.Ð.Ø�Š�cÐ-Ñ.Ô.Ð.Ø�Š�cÐ-Ñ.Ô.Ð.Ø�Š�cÐ-Ñ.Ô.Ð.à×ÒÐ0°Ô7Õ9KÑLÔLÐLØ×ÒÐ0°Ô5µxÑ@Ô@Ð@Ø×ÒÐ0°Ô5µxÑ@Ô@Ð@Ø×ÒÐ0°Ô5µxÑ@Ô@Ð@Ø×ÒÐ0°Ô5µxÑ@Ô@Ð@à×ÒÐ0°Ô5µxÑ@Ô@Ð@Ø×ÒÐ0°Ô5µxÑ@Ô@Ð@Ø×ÒÐ0°Ô5µxÑ@Ô@Ð@Ø×ÒÐ0°Ô5µxÑ@Ô@Ð@Ð@Ð@r   c                 ó4   — |                       dd¬¦  «         d S )Nzasync def foo(): passTr   )r   r   s    r   Útest_scope_async_functionz*TestCodeSegments.test_scope_async_function€   s   € Ø�ŠÐ+¸ˆÑ=Ô=Ð=Ð=Ð=r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r=   rH   rJ   r   r   r   r   r      sn   € € € € € ðð ð0ð 0ð 0ð0ð 0ð 0ð*=ð *=ð *=ðX,Að ,Að ,Að\>ð >ð >ð >ð >r   r   N)Úpyflakesr   r   Úpyflakes.checkerr   r   r   r   r   r	   Úpyflakes.test.harnessr
   r   r   r   r   ú<module>rR      sÇ   ðØ "Ð "Ð "Ð "Ð "Ð "ðHð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hà *Ð *Ð *Ð *Ð *Ð *ðz>ð z>ð z>ð z>ð z>�xñ z>ô z>ð z>ð z>ð z>r   