
    ?e(                     z    d dl mZ ddlmZ ddlmZmZmZmZm	Z	  G d de          Z
d Zd	 ZddZddZddZd
S )    )IntEnum   )AccessSpecifier   )ClassFormatterEnumFormatterOverloadFormatterSignatureFormatterVariableFormatterc                   "    e Zd ZdZdZdZdZdZdS )
IconNumberzY The numbers of the different icons.  The values are those used by the
    eric IDE.
    r         
   N)__name__
__module____qualname____doc__CLASSMETHODVARIABLEENUM     >lib/python3.11/site-packages/sipbuild/generator/outputs/api.pyr   r       s.          EFHDDDr   r   c           
      |   t          |d          5 }| j        }t          || |           t          || |           |j        D ].}|j        j        |u r|j        j        t          || ||           /| j        D ]}|j	        j        |u r|j
        st          || ||           t          || ||           |j        D ](}|j        t          j        urt          || |||           )|j        D ]5}|j        t          j        ur |j        j        t          || |||           6	 ddd           dS # 1 swxY w Y   dS )z Output a QScintilla API file. wN)scope)openmodule_enums
_variables	overloadscommonpy_slot	_overloadclasses
iface_fileexternalctorsaccess_specifierr   PRIVATE_ctor)specapi_filenameafr    overloadklassctors          r   
output_apir4   +   s    
lC	 	  KBr4   2tV$$$( 	6 	6H%//HO4K4S"dFH555\ 	K 	KE&&000r4u55552tV59999!K = =D,O4KKKb$e<<< % K KH08OOOT\TcTkTs!"dFHEJJJJ	KK K K K K K K K K K K K K K K K K Ks   DD11D58D5c                    |j         dz   t          ||          j        z   }t          ||j                  j        }d                    |          }|                     | dt          j	         d| d           |
                    dd           d                    |          }|                     | dt          j	         d| d           d	S )
z Generate an API ctor. ., ?(z)
r   selfz
.__init__?N)py_namer   
fq_py_namer
   py_signaturepy_argumentsjoinwriter   r   insert)r0   r.   r    r3   r   py_classr>   	py_args_ss           r   r-   r-   F   s     ~#nT5&A&A&LLH%dD,=>>KL 		,''IHH<<:+<<i<<<=== 6"""		,''IHHEEJ$4EEyEEEFFFFFr   Nc           	      .   |j         D ]}|j        |u r|j        |u rxt          ||          }|j        2|                     |j         d|j         dt          j         d           |j	        D ]'}|                     | dt          j         d           (dS )z1 Generate the APIs for all the enums in a scope. Nr6   r8   
)
enumsr    r   r   r;   r@   r<   r   r   fq_py_member_names)r0   r.   r    r   enum	formattermember_ss          r   r!   r!   V   s     
 < <;&  TZ5%8%8%dD11I|'FNWWY-AWWJOWWWXXX%8 < <H::z:::;;;;< <r   c           	          |j         D ]V}|j        |u rK|j        |u rBt          ||          }|                     |j         d|j         dt          j         d           WdS )z5 Generate the APIs for all the variables in a scope. r6   r8   rE   N)		variablesr    r   r   r@   r;   r<   r   r   )r0   r.   r    r   variablerI   s         r   r"   r"   d   s     N Y Y?f$$5)@)@)$99IHHWW)=WW
@SWWWXXX	Y Yr   c                    t          ||j                  }|j        dz   t          |||          j        z   }d                    |j                  }|dt          j         d| dz  }|j	        }t          |          dk    rO|dz  }t          |          dk    r|dd                    |          z   dz   z  }n|d                    |          z  }|d	z  }|                     |           d
S )z! Generate a single API overload. r6   r7   r8   r9   )r   z -> r   rE   N)r
   r=   r;   r	   r<   r?   r>   r   r   
py_resultslenr@   )	r0   r.   r    r1   r   sig_formattersrC   resultss	            r   r&   r&   n   s     'tX-BCCM0xGGRRA		-455I	-Z	-	-	-	-	--A&G
7||q	Vw<<!tyy)))C//AA7###AIAHHQKKKKKr   )N)rH   r   specificationr   
formattersr   r   r	   r
   r   r   r4   r-   r!   r"   r&   r   r   r   <module>rW      s	  0       + + + + + +/ / / / / / / / / / / / / /       K K K6G G G < < < <Y Y Y Y     r   