Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
c_generator.cpython-313.pyc124 linesDownload Raw Back to __pycache__
1�

2��j�P��8�SSKJrJrJr SSKJr "SS5rg)�)�Callable�List�Optional�)�c_astc	�T3�\rSrSr%Sr\\S'\\S'SlS\SS4SjjrS\	4Sjr4S	\RS\	4S5jr
S	\\RS\	4SjrS\R S\	4S
jrS\R$S\	4SjrS\R(S\	4SjrS\R,S\	4SjrS\R0S\	4SjrS\R4S\	4SjrS\R8S\	4Sjr0SS_SS_SS_SS_SS_SS_S S_S!S"_S#S"_S$S"_S%S"_S&S'_S(S'_S)S*_S+S*_S,S-_S.S-_S/S-0ErS\R>S\	4S0jr S\RBS\	4S1jr"S\RFS\	4S2jr$S\RS\	4S3jr%SlS\RLS4\S\	4S5jjr'S\RPS\	4S6jr)S\RTS\	4S7jr+S\RXS\	4S8jr-S\R\S\	4S9jr/S\R`S\	4S:jr1S\RdS\	4S;jr3S\RhS\	4S<jr5S\RlS\	4S=jr7S\RpS\	4S>jr9S\RtS\	4S?jr;S\RxS\	4S@jr=S\R|S\	4SAjr?S\R�S\	4SBjrAS\R�S\	4SCjrCS\R�S\	4SDjrES\R�S\	4SEjrGS\R�S\	4SFjrIS\R�S\	4SGjrKS\R�S\	4SHjrMS\R�S\	4SIjrOS\R�S\	4SJjrQS\R�S\	4SKjrSS\R�S\	4SLjrUS\R�S\	4SMjrWS\R�S\	4SNjrYS\R�S\	4SOjr[S\R�S\	4SPjr]S\R�S\	4SQjr_S\R�S\	4SRjraS\R�S\	4SSjrcS\R�S\	4STjreS\R�S\	4SUjrgS\R�S\	4SVjriS\R�S\	4SWjrkS\R�S\	4SXjrmS\R�S\	4SYjroS\R�S\	4SZjrqS\R�\R�-\Rd-S[\	S\	4S\jrrS]\s\RS\	4S^jrtS]\s\RlS\	4S_jruSlS\RS`\S\	4SajjrvS\RLS\	4Sbjrw/Sc4S\RSd\s\RSe\S\	4SfjjrxS\RSg\y\R/\4S\	4ShjrzS\RS\	4Sijr{S\RS\4Sjjr|Skr}g)m�6CGenerator�z�Uses the same visitor pattern as c_ast.NodeVisitor, but modified to7return a value from each visit method, using string accumulation in8generic_visit.9�indent_level�reduce_parentheses�returnNc��SUlXlg)zrConstructs C-code generator10 11reduce_parentheses:12    if True, eliminates needless parentheses on binary operators13rN�rr)�selfrs  �[D:\code\apps\devtools\python\user_packages\Python313\site-packages\pycparser/c_generator.py�__init__�CGenerator.__init__s�����"4��c� �SUR-$�N� )r)rs r�_make_indent�CGenerator._make_indent"s���T�&�&�&�&r�nodec�l�SURR-n[XUR5"U5$)N�visit_)�	__class__�__name__�getattr�
generic_visit)rr�methods   r�visit�CGenerator.visit%s.���D�N�N�3�3�3���t�T�%7�%7�8��>�>rc�^^�UcgSRU4SjUR555$)N�c3�J># �UHupTRU5v� M g7f�N�r")�.0�c_name�crs   �r�	<genexpr>�+CGenerator.generic_visit.<locals>.<genexpr>-s����J�/�Y�V�4�:�:�a�=�=�/�s� #)�join�children)rrs` rr �CGenerator.generic_visit)s&����<���7�7�J�$�-�-�/�J�J�Jr�nc��UR$r')�value�rr1s  r�visit_Constant�CGenerator.visit_Constant/s���w�w�rc��UR$r'��namer4s  r�visit_ID�CGenerator.visit_ID2s���v�v�
rc�P�SnUR(aUSUR--
nU$)Nz#pragmar)�string)rr1�rets   r�visit_Pragma�CGenerator.visit_Pragma5s%�����8�8��3����>�!�C��14rc��URUR5nUS-URUR5-S-$)N�[�])�_parenthesize_unless_simpler9r"�	subscript)rr1�arrrefs   r�visit_ArrayRef�CGenerator.visit_ArrayRef;s7���1�1�!�&�&�9����|�d�j�j����5�5��;�;rc��URUR5nX!R-URUR5-$r')rDr9�typer"�field)rr1�srefs   r�visit_StructRef�CGenerator.visit_StructRef?s4���/�/����7���f�f�}�t�z�z�!�'�'�2�2�2rc��URUR5nURbURUR5OSnUS-U-S-$)Nr%�(�))rDr9�argsr")rr1�frefrRs    r�visit_FuncCall�CGenerator.visit_FuncCallCsG���/�/����7��%&�V�V�%7�t�z�z�!�&�&�!�R���c�z�D� �3�&�&rc�T�UR=S:Xa  SURUR5S3$=S:Xa! URUR5nUS3$S:Xa URUR5nUS3$URUR5nURU3$)N�sizeofzsizeof(rQzp++z++zp--z--)�opr"�exprrD)rr1�operands   r�
visit_UnaryOp�CGenerator.visit_UnaryOpHs����d�d��!����A�F�F�!3� 4�A�6�6���:�:�1�6�6�B��!��"�~�%���:�:�1�6�6�B��!��"�~�%���:�:�1�6�6�B���$�$���y�)�)rz||rz&&r�|��^��&�z==�z!=�>�z>=�<z<=z>>�z<<�+��-�*�	�/�%c�^^�TRTRUU4Sj5nTRTRUU4Sj5nUSTRSU3$)Nc�>�TRU5=(dg TR=(aT [U[R5=(a3 TR15URTR16TR:�(+$r'��_is_simple_noder�17isinstancer�BinaryOp�precedence_maprX��dr1rs ��r�<lambda>�+CGenerator.visit_BinaryOp.<locals>.<lambda>|se����$�$�Q�'�K��*�*�K��q�%�.�.�1�K��'�'����-��1D�1D�Q�T�T�1J�J�	rc�>�TRU5=(dg TR=(aT [U[R5=(a3 TR18URTR19TR:�(+$r'rqrvs ��rrxry�se����$�$�Q�'�J��*�*�J��q�%�.�.�1�J��'�'����-��0C�0C�A�D�D�0I�I�	rr)�_parenthesize_if�left�rightrX)rr1�lval_str�rval_strs``  r�visit_BinaryOp�CGenerator.visit_BinaryOpps\����(�(�
�F�F�
�20�� �(�(�
�G�G�
�21����1�Q�T�T�F�!�H�:�.�.rc��URURS5nURUR5SURSU3$)Nc�6�[U[R5$r')rsr�22Assignment)r1s rrx�-CGenerator.visit_Assignment.<locals>.<lambda>�s��23�1�e�.>�.>� ?rr)r{�rvaluer"�lvaluerX)rr1rs   r�visit_Assignment�CGenerator.visit_Assignment�sG���(�(�
�H�H�?�24���*�*�Q�X�X�&�'�q�����a��z�:�:rc�8�SRUR5$r)r.�namesr4s  r�visit_IdentifierType�CGenerator.visit_IdentifierType�s���x�x���� � rc� �U=[RS`=bu SURU5-S-$ =[RS`=buO =[RS`=buO  O SURU5-S-$URU5$)N��{�}rPrQ)r�InitListr"�ExprList�Compoundr4s  r�_visit_expr�CGenerator._visit_expr�sx���!����!��T�Z�Z��]�*�S�0�0�"�!����!�!�$4�E�N�N�$4�$4�4��T�Z�Z��]�*�S�0�0���z�z�!�}�$r�no_typec��U(aUROURU5nUR(a!USURUR5--
nUR(a!USURUR5--
nU$)Nz : � = )r9�_generate_decl�bitsizer"�initr�)rr1r��ss    r�25visit_Decl�CGenerator.visit_Decl�si���A�F�F�4�#6�#6�q�#9���9�9�
�����A�I�I�.�.�.�A��6�6�
���)�)�!�&�&�1�1�1�A��rc��^�TRURS5n[UR5S:�a.USSRU4SjURSS55--
nU$)Nrr�, c3�D># �UHnTRUSS9v� M g7f)T)r�N)r��r)�declrs  �rr,�,CGenerator.visit_DeclList.<locals>.<genexpr>�s!����"�@K������d��3��s� )r"�decls�lenr.�rr1r�s`  r�visit_DeclList�CGenerator.visit_DeclList�sc����J�J�q�w�w�q�z�"���q�w�w�<�!��
���	�	�"�@A������"���
�A��rc��SnUR(a!USRUR5S--
nX RUR5-
nU$)Nr%r)�storager.�_generate_typerJr�s   r�
visit_Typedef�CGenerator.visit_Typedef�sF�����9�9�
����!�)�)�$�s�*�*�A�	�
 �
 ����
(�(���rc��SURURSS9-S-nUS-URUR5-$)NrPF��
emit_declnamerQr)r��to_typerDrYr�s   r�26visit_Cast�CGenerator.visit_Cast�sC���$�%�%�a�i�i�u�%�E�E��K���3�w��9�9�!�&�&�A�A�Arc��/nURH#nURURU55 M% SRU5$�Nr���exprs�appendr�r.�rr1�visited_subexprsrYs    r�visit_ExprList�CGenerator.visit_ExprList��?�����G�G�D��#�#�D�$4�$4�T�$:�;���y�y�)�*�*rc��/nURH#nURURU55 M% SRU5$r�r�r�s    r�visit_InitList�CGenerator.visit_InitList�r�rc�"�URUSS9$)N�enumr8��_generate_struct_union_enumr4s  r�27visit_Enum�CGenerator.visit_Enum�s���/�/���/�?�?rc�V�SRURUR55$)Nz_Alignas({}))�formatr"�	alignmentr4s  r�
visit_Alignas�CGenerator.visit_Alignas�s ���$�$�T�Z�Z����%<�=�=rc���UR(d(SRUR5URS9$SRUR5URUR	UR5S9$)Nz{indent}{name},28)�indentr9z{indent}{name} = {value},29)r�r9r3)r3r�rr9r"r4s  r�visit_Enumerator�CGenerator.visit_Enumerator�sq���w�w�&�-�-��(�(�*��V�V�.��
�301�7�7��(�(�*��V�V��j�j����)�8��
rc�"^�TRUR5nSTlTRUR5nUR(a6SRU4SjUR55nUS-U-S-U-S-$US-U-S-$)Nr�;31c3�F># �UHnTRU5v� M g7fr'r()r)�prs  �rr,�+CGenerator.visit_FuncDef.<locals>.<genexpr>�s����!G��A�$�*�*�Q�-�-����!�32)r"r�r�body�param_declsr.)rr1r�r��knrdeclss`    r�
visit_FuncDef�CGenerator.visit_FuncDef�s�����z�z�!�&�&�!������z�z�!�&�&�!���=�=��z�z�!G����!G�G�H��$�;��)�E�1�D�8�4�?�?��$�;��%��,�,rc��SnURHxnU=[RS`=bu X RU5-
nM1 [RS`=buX RU5S--
nM` X RU5S--
nMz U$)Nr%r�r�r�)�extr�FuncDefr"�Pragma)rr1r�r�s    r�
visit_FileAST�CGenerator.visit_FileAST�sz�����5�5�C��$�U�]�]�_����C��(�A�%��\�\�^����C��4�/�/�A�$�����C��5�0�0�A���rc� ^�TR5S-nT=RS-
slUR(a(USRU4SjUR55-
nT=RS-slUTR5S--
nU$)N�{33r^r%c3�F># �UHnTRU5v� M g7fr'��_generate_stmt)r)�stmtrs  �rr,�,CGenerator.visit_Compound.<locals>.<genexpr>�s����M�}�t��,�,�T�2�2�}�r�z}34)rr�block_itemsr.r�s`  r�visit_Compound�CGenerator.visit_Compound�sy�������%�'�����Q����=�=�
����M�q�}�}�M�M�M�A����Q���	�T�
�
�
 �5�
(�(���rc��SURUR5-S-URUR5-S-$)NrPz){r�)r"rJr�r4s  r�visit_CompoundLiteral� CGenerator.visit_CompoundLiterals6���T�Z�Z����'�'�$�.����A�F�F�1C�C�c�I�Irc��g)N�;r�r4s  r�visit_EmptyStatement�CGenerator.visit_EmptyStatements��rc�N^�SRU4SjUR55$)Nr�c3�F># �UHnTRU5v� M g7fr'r()r)�paramrs  �rr,�-CGenerator.visit_ParamList.<locals>.<genexpr>35s����A��u����E�*�*��r�)r.�paramsr4s` r�visit_ParamList�CGenerator.visit_ParamList	s����y�y�A����A�A�Arc�t�SnUR(a!USURUR5--
nUS-$)Nr
rr�)rYr"r�s   r�visit_Return�CGenerator.visit_Returns3�����6�6�
��t�z�z�!�&�&�)�)�)�A��3�w�rc��g)Nzbreak;r�r4s  r�visit_Break�CGenerator.visit_Breaks��rc��g)Nz	continue;r�r4s  r�visit_Continue�CGenerator.visit_Continues��rc���SURUR5-S-nUSURUR5-S--
nUSURUR5-S--
nU$)NrPz) ? z) : rQ)r��cond�iftrue�iffalser�s   r�visit_TernaryOp�CGenerator.visit_TernaryOpsk���$�"�"�1�6�6�*�*�V�3��	�S�4�#�#�A�H�H�-�
-��
6�6��	�S�4�#�#�A�I�I�.�
.��
4�4���rc�,�SnUR(aX RUR5-
nUS-
nX RURSS9-
nUR(a1X R5S--
nX RURSS9-
nU$)Nzif (�)36T��37add_indentzelse38)rr"r�rrrr�s   r�visit_If�CGenerator.visit_Ifs������6�6�
���A�F�F�#�#�A�	�U�39��	�
 �
 ����d�
 �
;�;���9�9�
�"�"�$�x�/�/�A�
�$�$�Q�Y�Y�4�$�@�@�A��rc��SnUR(aX RUR5-
nUS-
nUR(a!USURUR5--
nUS-
nUR(a!USURUR5--
nUS-
nX R	UR40SS9-
nU$)Nzfor (r�rrTr
)r�r"r�nextr�r�r�s   r�	visit_For�CGenerator.visit_For)s������6�6�
���A�F�F�#�#�A�	�S����6�6�
��t�z�z�!�&�&�)�)�)�A�	�S����6�6�
��t�z�z�!�&�&�)�)�)�A�	�U�41��	�
 �
 ����D�
 �
9�9���rc��SnUR(aX RUR5-
nUS-
nX RURSS9-
nU$)N�while (rTr
)rr"r�r�r�s   r�visit_While�CGenerator.visit_While7sM�����6�6�
���A�F�F�#�#�A�	�U�42��	�
 �
 ����D�
 �
9�9���rc���SnX RURSS9-
nX R5S--
nUR(aX R	UR5-
nUS-
nU$)Nzdo43Tr
rz);)r�r�rrr"r�s   r�
visit_DoWhile�CGenerator.visit_DoWhile?sc����	�
 �
 ����D�
 �
9�9��	�
�
�
 �9�
,�,���6�6�
���A�F�F�#�#�A�	�T�	���rc��SnX RUR5-
nUR(a"US-
nX RUR5-
nUS-
nU$)Nz_Static_assert(�,rQ)r"r�messager�s   r�visit_StaticAssert�CGenerator.visit_StaticAssertHsO����	�Z�Z����
����9�9�
��H�A�
���A�I�I�&�&�A�	�S����rc��SURUR5-S-nX RURSS9-
nU$)Nzswitch (rTr
)r"rr�r�r�s   r�visit_Switch�CGenerator.visit_SwitchQs?������A�F�F�+�+�e�3��	�
 �
 ����D�
 �
9�9���rc��SURUR5-S-nURHnX RUSS9-
nM U$)Nzcase �:44Tr
)r"rY�stmtsr��rr1r�r�s    r�45visit_Case�CGenerator.visit_CaseVsI���d�j�j����(�(�5�0���G�G�D�
�$�$�T�d�$�;�;�A���rc�T�SnURHnX RUSS9-
nM U$)Nz	default:46Tr
)r&r�r's    r�
visit_Default�CGenerator.visit_Default\s2�����G�G�D�
�$�$�T�d�$�;�;�A���rc�X�URS-URUR5-$)Nr%)r9r�r�r4s  r�visit_Label�CGenerator.visit_Labelbs$���v�v��~�� 3� 3�A�F�F� ;�;�;rc�&�SUR-S-$)Nzgoto r�r8r4s  r�47visit_Goto�CGenerator.visit_Gotoes�������#�%�%rc��g)Nz...r�r4s  r�visit_EllipsisParam�CGenerator.visit_EllipsisParamhs��rc�&�URUS5$)N�structr�r4s  r�visit_Struct�CGenerator.visit_Structks���/�/��8�<�<rc�8�URUR5$r')r�rJr4s  r�visit_Typename�CGenerator.visit_Typenamens���"�"�1�6�6�*�*rc�&�URUS5$)N�unionr�r4s  r�visit_Union�CGenerator.visit_Unionqs���/�/��7�;�;rc��SnURHPn[U[R5(aUSUR--
nM6USUR	U5-S--
nMR USURUR5--
nU$)Nr%�.rBrCr�)r9rsr�IDr"r�rY)rr1r�r9s    r�visit_NamedInitializer�!CGenerator.visit_NamedInitializertsz�����F�F�D��$����)�)��S�4�9�9�_�$���S�4�:�:�d�+�+�c�1�1��	�48	49�U�T�%�%�a�f�f�-�
-�-���rc�$�URU5$r'�r�r4s  r�visit_FuncDecl�CGenerator.visit_FuncDecl~s���"�"�1�%�%rc�"�URUSS9$�NFr�rGr4s  r�visit_ArrayDecl�CGenerator.visit_ArrayDecl�����"�"�1�E�"�:�:rc�"�URUSS9$rKrGr4s  r�visit_TypeDecl�CGenerator.visit_TypeDecl�rNrc�"�URUSS9$rKrGr4s  r�
visit_PtrDecl�CGenerator.visit_PtrDecl�rNrr9c�`�US;aJ[U[R[R45(deURnUR50nOZUS:Xde[U[R5(deURcSOURRnURnUS-UR=(d S-nUbeUS-
nXPR5-
nU=RS-
slUS-
nXT"U5-
nU=RS-slXPR5S	--
nU$)51z\Generates code for structs, unions, and enums. name should be52'struct', 'union', or 'enum'.53)r7r>r�Nrr%r�r^r�r�)
rsr�Struct�Unionr��_generate_struct_union_body�Enum�values�enumerators�_generate_enum_bodyr9rr)rr1r9�members�
body_functionr�s      rr��&CGenerator._generate_struct_union_enum�s���&�&��a�%�,�,����!<�=�=�=�=��g�g�G� �<�<�M��6�>�!�>��a����,�,�,�,��h�h�.�d�A�H�H�4H�4H�G� �4�4�M��3�J�!�&�&�,�B�'����
��I�A�
�"�"�$�$�A�����"��
��J�A�
��w�'�'�A�����"��
�"�"�$�s�*�*�A��rr]c�:^�SRU4SjU55$)Nr%c3�F># �UHnTRU5v� M g7fr'r�r�s  �rr,�9CGenerator._generate_struct_union_body.<locals>.<genexpr>�s����E�W�T�t�*�*�4�0�0�W�r��r.�rr]s` rrX�&CGenerator._generate_struct_union_body�s����w�w�E�W�E�E�Erc�F^�SRU4SjU55SSS-$)Nr%c3�F># �UHnTRU5v� M g7fr'r()r)r3rs  �rr,�1CGenerator._generate_enum_body.<locals>.<genexpr>�s����>�g�U�t�z�z�%�(�(�g�r������r�rcrds` rr\�CGenerator._generate_enum_body�s$����w�w�>�g�>�>�s��C�d�J�Jrrc�.�U(aU=RS-
slUR5nU(aU=RS-slU==[RS`=buGO0 =[RS`=buGO =[R54S`=buO� =[RS`=buO� =[RS`=buO� =[RS`=buO� =[RS`=buO� =[RS`=buO� =[RS`=buOg =[RS`=buON =[RS`=buO5 =[RS`=buO =[RS`=buO  O  X0R!U5-S-$=[R"S`=bu UR!U5$ [R$S`=buX0R!U5-$ X0R!U5-S-$)z�Generation from a statement node. This method exists as a wrapper55for individual visit_* methods to handle different treatment of56some statements in this context.57r^r�r�r�)rrr�Declr��Cast�UnaryOprt�	TernaryOp�FuncCall�ArrayRef�	StructRef�ConstantrC�Typedefr�r"r��If)rr1rr�s    rr��CGenerator._generate_stmt�st��58�����"���"�"�$�������"���#���59�60���$�%�"�"�$�$��%�*�*�,�,�!�%�-�-�/�/�"�%�.�.�"�"�#�%�/�/�#�#�"�%�.�.�"�"�"�%�.�.�"�"�#�%�/�/�#�#�"�%�.�.�"�"��%�(�(�*�*�!�%�-�-�/�/�"�%�.�.�"�"�#�"�61�62�1�
�-��5�5�!����!�63�z�z�!�}�$�"������64�65�1�
�-�-����66�67�1�
�-��4�4rc�n�SnUR(aSRUR5S-nUR(a!USRUR5S--
nUR(a#X R	URS5S--
nX RUR5-
nU$)zGeneration from a Decl node.r%rr)�funcspecr.r��alignr"r�rJr�s   rr��CGenerator._generate_decl�s������:�:�������$�s�*�A��9�9�
����!�)�)�$�s�*�*�A��7�7�
���A�G�G�A�J�'�#�-�-�A�	�
 �
 ����
(�(���rT�	modifiersr�c���U=[RS`=Gb;u SnUR(a!USRUR5S--
nX@R	UR685-
nUR(aU(aUROSn[U5GH�upgU=[RS`=b�u US:wa,[X&S-69[R5(aSU-S-nUS-
nUR(a!USRUR5S--
nURbXPR	UR5-
nUS	-
nM� =[RS`=bmu US:wa,[X&S-70[R5(aSU-S-nURbUR	UR5OSnUSU-S--
nGM< [RS`=bNuUR(a3SRUR5n	U(aSU3OSn71S72U	U733nGM�SU-nGM� GM� U(aUSU--
nU$ =[RS`=bu UR!UR745$ =[R"S`=bu UR%UR75US9$ =[R&S`=b!u SRUR(5S-$ =[RS`=buO5 =[RS`=buO =[RS`=buO  O UR%UR76X!/-US9$UR	U5$)
z�Recursive generation from a type node. n is the type node.77modifiers collects the PtrDecl, ArrayDecl and FuncDecl modifiers78encountered on the way down to a TypeDecl, to allow proper79generation from it.80r�r%rrrrPrQrBrCz* rkr�)r�TypeDecl�qualsr.r"rJ�declname�	enumerate�	ArrayDeclrs�PtrDecl�	dim_quals�dim�FuncDeclrRrlr��Typenamer��IdentifierTyper�)rr1r{r�r��nstr�i�modifierrRr~�suffixs           rr��CGenerator._generate_type�s����!����!�!����7�7�����!�'�'�*�S�0�0�A��Z�Z����'�'��%&�Z�Z�M�q�z�z�r��81$-�Y�#7�K�A�"�.�U�_�_�.� �A�v�*�Y�1�u�5E�u�}�}�*U�*U�'*�T�z�C�'7�� �C�K�D�'�1�1� $�����1C�1C�(D�s�(J� J��'�|�|�7� $�82�83�8�<�<�(@� @�� �C�K�D�/�.�U�^�^�-� �A�v�*�Y�1�u�5E�u�}�}�*U�*U�'*�T�z�C�'7��$,�=�=�#<�!%�84�85�8�=�=� 9�%'�!�86!�C�$�J��$4�4�D�.�#�]�]�_�'�~�~�(+������(@��7;�1�T�F����)+�E�7�6�(�';��'*�T�z��
-�)$8�6���t��O�A���Q"�R������*�*�1�6�6�2�2��!����!��*�*�1�6�6��*�O�O�"�'��%�%�'��x�x����(�3�.�.�(�"����"�"�_�U�]�]�_�_�7G�u�~�~�7G�7G�G��*�*��F�F�I��O�=�+�����z�z�!�}�$r�	conditionc�R�URU5nU"U5(aSU-S-$U$)z|Visits 'n' and returns its string representation, parenthesized87if the condition function applied to the node returns True.88rPrQ)r�)rr1r�r�s    rr{�CGenerator._parenthesize_if&s0��
���Q����Q�<�<���7�S�=� ��Hrc�0^�TRUU4Sj5$)z$Common use case for _parenthesize_ifc�0>�TRU5(+$r')rr)rwrs �rrx�8CGenerator._parenthesize_unless_simple.<locals>.<lambda>4s���d�6J�6J�1�6M�2Mr)r{r4s` rrD�&CGenerator._parenthesize_unless_simple2s����$�$�Q�(M�N�Nrc��[U[R[R[R[R89[R45$)ziReturns True for nodes that are "simple" - i.e. nodes that always90have higher precedence than operators.91)rsrrsrCrqrrrpr4s  rrr�CGenerator._is_simple_node6s6���
�
�^�^�U�X�X�u�~�~�u������W�92�	93rr)F)~r�94__module__�__qualname__�__firstlineno__�__doc__�int�__annotations__�boolr�strrr�Noder"rr rsr5rCr:r�r?rqrGrrrMrprTrnr[rurtr�r�r�r�r�r�rlr��DeclListr�rtr�rmr�r�r�r�r�rYr��Alignasr��95Enumeratorr�r�r��FileASTr�r�r��CompoundLiteralr��EmptyStatementr��	ParamListr��Returnr��Breakr�Continuerror	rur�Forr�Whiler�DoWhiler�StaticAssertr�Switchr"�Caser(�Defaultr+�Labelr.�Gotor1�
EllipsisParamr4rVr8r�r;rWr?�NamedInitializerrDr�rHr�rLr}rPr�rSr�rrXr\r�r�r�rr{rDrr�__static_attributes__r�rrr	r	s%���96����	5�4�	5�D�	5�'�c�'�?�%�*�*�?��?�K�(�5�:�:�"6�K�3�K������3���%�(�(��s���e�l�l��s��<����<�3�<�3����3�S�3�'����'�3�'�97*�u�}�}�*��*�"�	
�a��	
�a�	�98	�Q��	�Q�
�	�Q��	
�a��	
�a��	�Q��	
�a��	�Q��	
�a��	
�a��	
�a�� 	�Q�!�"	�Q�#�$	�Q�%�&	�Q�'�(	�Q�)�N�.#/����#/�3�#/�J;�%�"2�"2�;�s�;�!�e�&:�&:�!�s�!�%�U�Z�Z�%�C�%�	�E�J�J�	��	�#�	������3���u�}�}����B�E�J�J�B�3�B�+����+�3�+�+����+�3�+�@�E�J�J�@�3�@�>�u�}�}�>��>��%�"2�"2��s��-�u�}�}�-��-�99�u�}�}�100��101������3��J�u�'<�'<�J��J��e�&:�&:��s��B����B�S�B��e�l�l��s���U�[�[��S�������3�������S��	�%�(�(�	�s�	��5�9�9�����U�[�[��S���u�}�}�����E�$6�$6��3���e�l�l��s��102�E�J�J��3���u�}�}����<�U�[�[�<�S�<�&�E�J�J�&�3�&��U�%8�%8��S��=�e�l�l�=�s�=�+����+�3�+�<�U�[�[�<�S�<���(>�(>��3��&����&�3�&�;����;�S�;�;����;�3�;�;�u�}�}�;��;��������+�e�j�j�8��@C��	��8F�4��103�104�3C�F��F�K�4��0@�0@�+A�K�c�K�(5��105�106�(5��(5��(5�T107��108�109�110�s�111�')�"�	A%��:�:�A%���112�113�#�A%��	A%�114115
�A%�F116����117�(0�%�*�*��t�1C�(D�118�	�119�O�U�Z�Z�O�C�O�120����121��122rr	N)�typingrrrr%rr	r�rr�<module>r�s��,�+��o123�o124r
codekingpro/portable-devtools · Team Ai