File: //home/arjun/projects/env/lib/python3.10/site-packages/cffi/__pycache__/vengine_gen.cpython-310.pyc
o
%we<h � @ sH d dl Z d dlZd dlZddlmZ ddlmZ G dd� de�ZdZ dS )� N� )�model��VerificationErrorc @ s� e Zd ZdZdZdd� Zdd� Zdd� Zd d
� ZdZdd
�Z dd� Z
d[dd�Zdd� Zdd� Z
dd� Zdd� Zdd� ZeZeZeZdd� ZeZdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd/d0� Zd1d2� Zd3d4� Z d5d6� Z!d7d8� Z"d9d:� Z# < ;d\d=d>�Z$d?d@� Z%eZ&d]dAdB�Z'dCdD� Z(dEdF� Z)dGdH� Z*dIdJ� Z+d^dLdM�Z,d^dNdO�Z-dPdQ� Z.dRdS� Z/eZ0dTdU� Z1dVdW� Z2eZ3dXdY� Z4d;S )_�VGenericEngine�gFc C s || _ |j| _g | _i | _d S �N)�verifier�ffi�export_symbols�_struct_pending_verification)�selfr � r �I/home/arjun/projects/env/lib/python3.10/site-packages/cffi/vengine_gen.py�__init__ s
zVGenericEngine.__init__c C s |� d| j� d S )Nr )�
setdefaultr )r
�kwdsr r r �patch_extension_kwds s z#VGenericEngine.patch_extension_kwdsc C sT |D ]%}|| }|d u rt j}|D ]}tj�||�}tj�|�r&| S qqd S r )�sys�path�os�join�isfile)r
�module_namer �so_suffixes� so_suffix�basename�dirname�filenamer r r �find_module s ���zVGenericEngine.find_modulec C � d S r r �r
r r r �
collect_types% � zVGenericEngine.collect_types� c C s | j �|d � d S )N�
)�_f�write)r
�whatr r r �_prnt( � zVGenericEngine._prntc C sd | j }|t� || jj� | �d� tjdkr0tjdkrd}nd}| j�� }|d||f � d S d S )N�decl�win32�� �PyInit_�initzvoid %s%s(void) { }
) r) �cffimod_headerr �preamble� _generater �platform�version_info�get_module_name)r
�prnt�prefix�modnamer r r �write_source_to_f+ s
�z VGenericEngine.write_source_to_fr c sj �j j}tj�tj�jj�}|�||���� �d� G � ��fdd�dt
j�� � d�}�j �d|d� |S )N�loadingc s&