Your IP : 18.117.184.125
3
M��Z0T � @ s� d dl Z d dlZddlmZ ddlmZmZmZ dZdZ dZ
dd� ZG d d
� d
e�Z
G dd� de
�ZG d
d� de�Ze� ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�Zee�Zdd � Zee�ZG d!d"� d"e�ZG d#d$� d$e�Zeed%�d�ZG d&d'� d'e
�ZG d(d)� d)e�Z G d*d+� d+e �Z!G d,d-� d-e �Z"G d.d/� d/e�Z#d<d0d1�Z$d=d2d3�Z%e� Z&ej'� Z(d4d5� Z)d6d7� Z*d8d9� Z+d:d;� Z,dS )>� N� )�
allocate_lock)� CDefError�VerificationError�VerificationMissing� � c C s@ | t @ rd|j� }| t@ r(d|j� }| t@ r<d|j� }|S )Nz const z
volatile z __restrict )�Q_CONST�lstrip�
Q_VOLATILE�
Q_RESTRICT)�quals�replace_with� r �/usr/lib64/python3.6/model.py�qualify s r c @ sP e Zd ZdZdZddd�Zdd� Zd d
� Zdd� Zdd
d�Z dd� Z
dd� ZdS )�BaseTypeByIdentityF� �a C filer c C s� | j }|jd�dkst�|j� }|rT|jd�r@d|kr@d| }n|d dkrTd| }t||�}|jd|�}d |kr�td
| j� |f ��|S )N�&r �*z&[z(%s)r z[(� �$z-cannot generate '%s' in %s: unknown type name) �c_name_with_marker�count�AssertionError�strip�
startswithr �replacer �_get_c_name)�selfr �contextr
�resultr r r �
get_c_name s
zBaseTypeByIdentity.get_c_namec C s | j jdd�S )Nr r )r r )r r r r r / s zBaseTypeByIdentity._get_c_namec C s d| j � kS )Nr )r )r r r r �
has_c_name2 s zBaseTypeByIdentity.has_c_namec C s dS )NFr )r r r r �is_integer_type5 s z"BaseTypeByIdentity.is_integer_typec C sN y|j | }W n: tk
rH | j||�}|j j| |�}||ksDt�Y nX |S )N)�_cached_btypes�KeyError�build_backend_type�
setdefaultr )r �ffi�
finishlist� can_delay�BTypeZBType2r r r �get_cached_btype8 s z#BaseTypeByIdentity.get_cached_btypec C s d| j � f S )Nz<%s>)r )r r r r �__repr__A s zBaseTypeByIdentity.__repr__c s � fdd�� j D �S )Nc s g | ]}|t � |�f�qS r )�getattr)�.0�name)r r r �
<listcomp>E s z1BaseTypeByIdentity._get_items.<locals>.<listcomp>)�_attrs_)r r )r r �
_get_itemsD s zBaseTypeByIdentity._get_itemsN)r r r )F)�__name__�
__module__�__qualname__�
is_array_type�is_raw_functionr# r r$ r% r. r/ r5 r r r r r s
r c @ s$ e Zd Zdd� Zdd� Zdd� ZdS )�BaseTypec C s | j |j ko| j� |j� kS )N)� __class__r5 )r �otherr r r �__eq__J s zBaseType.__eq__c C s
| |k S )Nr )r r= r r r �__ne__N s zBaseType.__ne__c C s t | jt| j� �f�S )N)�hashr<