Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_symtable.cpython-311.opt-2.pyc
�

�Ke&��v�	ddlZddlZdZd�ZGd�dej��Zedkrej��dSdS)�Na:
import sys

glob = 42
some_var = 12
some_non_assigned_global_var = 11
some_assigned_global_var = 11

class Mine:
    instance_var = 24
    def a_method(p1, p2):
        pass

def spam(a, b, *var, **kw):
    global bar
    global some_assigned_global_var
    some_assigned_global_var = 12
    bar = 47
    some_var = 10
    x = 23
    glob
    def internal():
        return x
    def other_internal():
        nonlocal some_var
        some_var = 3
        return some_var
    return internal

def foo():
    pass

def namespace_test(): pass
def namespace_test(): pass
c�l�|���D]}|���|kr|cS�dS�N)�get_children�get_name)�block�name�chs   �</usr/local/apps/python3/lib/python3.11/test/test_symtable.py�
find_blockr.sH��� � �"�"����
�;�;�=�=�D� � ��I�I�I�!���c�^�eZdZejedd��Zeed��Zeed��Zeed��Z	ee	d��Z
ee	d��Zeed��Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d �Z$d!�Z%d"�Z&d#S)$�SymtableTest�?�exec�Mine�a_method�spam�internal�other_internal�fooc���|�|j���d��|�|j���d��|�|j���d��|�|j���d��|�|j���d��dS)N�module�class�function)�assertEqual�top�get_typerrrr��selfs r
�	test_typezSymtableTest.test_type?s��������*�*�,�,�h�7�7�7������+�+�-�-�w�7�7�7������/�/�1�1�:�>�>�>������+�+�-�-�z�:�:�:������/�/�1�1�:�>�>�>�>�>rc���|�|j���d��|�|j���d��|�|j���d��|�|j���d��|�|j���d��dS)Nr)�
assertGreaterr�get_idrrrrrs r
�test_idzSymtableTest.test_idFs������4�8�?�?�,�,�a�0�0�0����4�9�+�+�-�-�q�1�1�1����4�=�/�/�1�1�1�5�5�5����4�9�+�+�-�-�q�1�1�1����4�=�/�/�1�1�1�5�5�5�5�5rc��|�|j�����|�|j�����dSr)�assertFalser�is_optimized�
assertTruerrs r
�test_optimizedzSymtableTest.test_optimizedMsJ�������.�.�0�0�1�1�1�����	�.�.�0�0�1�1�1�1�1rc�f�|�|j�����|�|j�����|�|j�����|�|j�����dSr)r&r�	is_nestedrrr(rrs r
�test_nestedzSymtableTest.test_nestedRs��������+�+�-�-�.�.�.������,�,�.�.�/�/�/������,�,�.�.�/�/�/�����
�/�/�1�1�2�2�2�2�2rc��|�|j�����|�|j�����|�|j�����dSr)r(r�has_childrenrr&rrs r
�
test_childrenzSymtableTest.test_childrenXsj�������-�-�/�/�0�0�0�����	�.�.�0�0�1�1�1������.�.�0�0�1�1�1�1�1rc��|�|j���d��|�|j���d��dS)Nr�)rr�
get_linenorrs r
�test_linenozSymtableTest.test_lineno]sP�������,�,�.�.��2�2�2������-�-�/�/��4�4�4�4�4rc��|j}|�t|�����gd���gd�}|�t|�����|��|�t|�����gd���|�|j���d��dS)N)�a�b�kw�var)r5r6rr7r�some_varr8�x)�bar�glob�some_assigned_global_var)r:)rr�sorted�get_parameters�
get_locals�get_globalsr�	get_frees)r�func�expecteds   r
�test_function_infozSymtableTest.test_function_infoas����y������� 3� 3� 5� 5�6�6�8O�8O�8O�P�P�P�Y�Y�Y��������� 1� 1�2�2�H�=�=�=������ 0� 0� 2� 2�3�3�5`�5`�5`�a�a�a������0�0�2�2�F�;�;�;�;�;rc�t�|�|j�d�������|�|j�d�������|�|j�d�������|�|j�d�������|�|j�d�������|�|j�d�������|�|j�d�������|�|j�d�������|�|j�d�������dS)Nr<r;r:�instance_var�some_non_assigned_global_varr=)	r(r�lookup�	is_globalr&�is_declared_globalrrrrs r
�test_globalszSymtableTest.test_globalsis�������	�(�(��0�0�:�:�<�<�=�=�=������)�)�&�1�1�D�D�F�F�G�G�G�����	�(�(��/�/�9�9�;�;�<�<�<�����	�(�(��/�/�B�B�D�D�E�E�E������-�-�c�2�2�<�<�>�>�?�?�?������)�)�.�9�9�C�C�E�E�F�F�F�����	�(�(��/�/�9�9�;�;�<�<�<��������(F�G�G�Q�Q�S�S�T�T�T��������(B�C�C�M�M�O�O�P�P�P�P�Prc�`�|�|j�d�������|�|j�d�������d}|�|j���|��dS)Nr9)r9)r&rrI�is_nonlocalr(rr�
get_nonlocals)rrDs  r
�
test_nonlocalzSymtableTest.test_nonlocalus��������)�)�*�5�5�A�A�C�C�D�D�D�����+�2�2�:�>�>�J�J�L�L�M�M�M� ������,�:�:�<�<�h�G�G�G�G�Grc��|�|j�d�������|�|j�d�������|�|j�d�������|�|j�d�������dS)Nr:r;rHr=)r(rrI�is_localr&rrs r
�
test_localzSymtableTest.test_local{s�������	�(�(��-�-�6�6�8�8�9�9�9������)�)�%�0�0�9�9�;�;�<�<�<��������(F�G�G�P�P�R�R�S�S�S��������(B�C�C�L�L�N�N�O�O�O�O�Orc��|�|j�d�������dS)Nr:)r(rrI�is_freers r
�	test_freezSymtableTest.test_free�s6������
�,�,�S�1�1�9�9�;�;�<�<�<�<�<rc��|�|j�d�������|�|j�d�������|�|j�d�������dS)Nr:r)r(rrI�
is_referencedrr&rs r
�test_referencedzSymtableTest.test_referenced�s�������
�,�,�S�1�1�?�?�A�A�B�B�B�����	�(�(��4�4�B�B�D�D�E�E�E������)�)�#�.�.�<�<�>�>�?�?�?�?�?rc��dD]A}|�|j�|��������B|�|j�d�������dS)N)r5r8r7r:)r(rrI�is_parameterr&)r�syms  r
�test_parameterszSymtableTest.test_parameters�sz��%�	B�	B�C��O�O�D�I�,�,�S�1�1�>�>�@�@�A�A�A�A������)�)�#�.�.�;�;�=�=�>�>�>�>�>rc��|�t|j�����t|j�������|�t|jjd��dS)N�not_here)r�lenr�get_identifiers�get_symbols�assertRaises�KeyErrorrIrs r
�test_symbol_lookupzSymtableTest.test_symbol_lookup�so������T�X�5�5�7�7�8�8��T�X�1�1�3�3�4�4�	6�	6�	6�	
���(�D�H�O�Z�@�@�@�@�@rc�B�|�|j�d�������|�|j�d�������|�|j�d�������|�|j�d�������|�|j�d�������|�|j�d�������|�|j�d�����|ju��|j�d��}|�t|�
����d��|�t|j��|j�d��}|�t|�
����d	��|�t|j��dS)
Nrrrr�namespace_testr:�r<r)
r(rrI�is_namespacerrr&�
get_namespacerr`�get_namespacesrc�
ValueError)r�ns_test�	ns_test_2s   r
�test_namespaceszSymtableTest.test_namespaces�s�����������/�/�<�<�>�>�?�?�?�����	�(�(��4�4�A�A�C�C�D�D�D���������/�/�<�<�>�>�?�?�?�����	�(�(��4�4�A�A�C�C�D�D�D��������(8�9�9�F�F�H�H�I�I�I������)�)�#�.�.�;�;�=�=�>�>�>���������/�/�=�=�?�?�4�9�L�M�M�M��(�/�/�"2�3�3������W�3�3�5�5�6�6��:�:�:����*�g�&;�<�<�<��H�O�O�F�+�+�	�����Y�5�5�7�7�8�8�!�<�<�<����*�i�&=�>�>�>�>�>rc�|�|�|j�d�������|�|j�d�������|�|j�d�������|�|j�d�������|�|j�d�������dS)Nr:r;rr)r(rrI�is_assignedrrr&rrs r
�
test_assignedzSymtableTest.test_assigned�s�������	�(�(��-�-�9�9�;�;�<�<�<�����	�(�(��/�/�;�;�=�=�>�>�>���������/�/�;�;�=�=�>�>�>�����	�(�(��4�4�@�@�B�B�C�C�C������-�-�c�2�2�>�>�@�@�A�A�A�A�Arc���tjddd��}|���d}|�|�d�������|�|�d�������|�|�d�������tjddd��}|���d}|�|�d�������|�|�d�������tjddd��}|�|�d�������tjddd��}dS)	Nzdef f():
    x: int
�testrrr:zdef f():
    x = 1
zglobal x
x: intz=def g():
    x = 2
    def f():
        nonlocal x
    x: int)�symtablerr(rIrR�is_annotatedr&rJ)r�st1�st2�st3�st4�st5�st6s       r
�test_annotatedzSymtableTest.test_annotated�s����� 8�&�&�I�I����� � ��#������
�
�3���0�0�2�2�3�3�3�����
�
�3���4�4�6�6�7�7�7�������C���2�2�4�4�5�5�5��� 7���H�H����� � ��#������
�
�3���0�0�2�2�3�3�3�������C���5�5�7�7�8�8�8��� 2�F�F�C�C������
�
�3���1�1�3�3�4�4�4���!-�
!'��0�0���rc��|�|j�d�������dS)N�sys)r(rrI�is_importedrs r
�
test_importedzSymtableTest.test_imported�s4����������.�.�:�:�<�<�=�=�=�=�=rc��|�|j���d��|�|j���d��|�|j�d�����d��|�|j���d��dS)Nrrr:r)rrrrrIrrs r
�	test_namezSymtableTest.test_name�s��������*�*�,�,�e�4�4�4������+�+�-�-�v�6�6�6������)�)�#�.�.�7�7�9�9�3�?�?�?������+�+�-�-�v�6�6�6�6�6rc�`�|�|j���d��dS)N)r)rr�get_methodsrs r
�test_class_infozSymtableTest.test_class_info�s,�������.�.�0�0�-�@�@�@�@�@rc�����fd�}|dd��|dd��tjddd����t��5��t��5tjdtd��d��ddd��n#1swxYwYddd��n#1swxYwY��t��5tjdt
d��d��ddd��n#1swxYwY��t��5tjdtd��d��ddd��dS#1swxYwYdS)	Nc�8��	tj|dd����d|����dS#t$r\}��|jd����|jd����|j|��Yd}~dSd}~wwxYw)Nrrzno SyntaxError for �)ru�fail�SyntaxErrorr�filename�lineno�offset)�
brokencoder��ers   �r
�
checkfilenamez9SymtableTest.test_filename_correct.<locals>.checkfilename�s����
C��!�*�f�f�=�=�=��	�	�	�Z�Z�A�B�B�B�B�B���
3�
3�
3�� � ���V�4�4�4�� � ���1�-�-�-�� � ���6�2�2�2�2�2�2�2�2�2�����
3���s�3�
B�AB�Bzdef f(x): foo)(r1zdef f(x): global x��passsspamr)ru�assertWarns�DeprecationWarningrc�	TypeError�	bytearray�
memoryview�list)rr�s` r
�test_filename_correctz"SymtableTest.test_filename_correct�s����	C�	C�	C�	C�	C�	�
�'��,�,�,��
�*�B�/�/�/���&�'�6�2�2�2�
�
�
�0�
1�
1�	B�	B�
�
�
�y�
)�
)�	B�	B���f�i��&8�&8�&�A�A�A�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B��
�
�0�
1�
1�	C�	C���f�j��&9�&9�6�B�B�B�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C����	C�	C�	C�	C�
�
�
�y�
)�
)�	=�	=���f�d�7�m�m�V�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=�	=�	=sZ�B1�*$B�B1�B	�B1�!B	�"B1�1B5�8B5�$D�D
�
D
�+$E�E �#E c�2�tjddd��}dS)N�42r�eval�ru�r�symbolss  r
�	test_evalzSymtableTest.test_eval�s���#�D�#�v�6�6���rc�2�tjddd��}dS)Nr�r�singler�r�s  r
�test_singlezSymtableTest.test_single�s���#�D�#�x�8�8���rc�2�tjddd��}dS)Nzdef f(x): return xrrr�r�s  r
�	test_execzSymtableTest.test_exec�s���#�$8�#�v�F�F���rc��tjt�d��dd��}|�t	|d����d}tj|dd��}|�t	|d����dS)N�utf8rrrs+# -*- coding: iso8859-15 -*-
class �: pass
uŽ)ru�	TEST_CODE�encode�assertIsNotNoner)rr�codes   r
�
test_byteszSymtableTest.test_bytes�s����	� 0� 0�� 8� 8�#�v�F�F�����Z��V�4�4�5�5�5�B�����c�6�2�2�����Z��X�6�6�7�7�7�7�7rc��|�t|j��d��|�t|j��d��dS)Nz<SymbolTable for module ?>z$<Function SymbolTable for spam in ?>)r�strrrrs r
�test_symtable_reprzSymtableTest.test_symtable_repr�sF������T�X���(D�E�E�E�����T�Y���)O�P�P�P�P�PrN)'�__name__�
__module__�__qualname__rur�rrrrrrrrr r$r)r,r/r3rErLrPrSrVrYr]rerorrr}r�r�r�r�r�r�r�r�r��rr
rr4s4������
�(�
�I�s�F�
3�
3�C��:�c�6�"�"�D��z�$�
�+�+�H��:�c�6�"�"�D��z�$�
�+�+�H��Z��&6�7�7�N�
�*�S�%�
 �
 �C�?�?�?�6�6�6�2�2�2�
3�3�3�2�2�2�
5�5�5�<�<�<�
Q�
Q�
Q�H�H�H�P�P�P�=�=�=�@�@�@�
?�?�?�
A�A�A�?�?�?�"B�B�B�0�0�0�2>�>�>�7�7�7�A�A�A�=�=�=�.7�7�7�9�9�9�G�G�G�8�8�8�Q�Q�Q�Q�Qrr�__main__)ru�unittestr�r�TestCaserr��mainr�rr
�<module>r�s������������"
�	�J���IQ�IQ�IQ�IQ�IQ�8�$�IQ�IQ�IQ�X�z����H�M�O�O�O�O�O��r