관리-도구
편집 파일: model.cpython-36.pyc
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<