관리-도구
편집 파일: model.cpython-36.opt-1.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 sx | j }|j� }|rB|jd�r.d|kr.d| }n|d dkrBd| }t||�}|jd|�}d|krttd | j� |f ��|S ) N�*z&[z(%s)r z[(� �&�$z-cannot generate '%s' in %s: unknown type name)�c_name_with_marker�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 sB y|j | }W n. tk r< | j||�}|j j| |�}Y nX |S )N)�_cached_btypes�KeyError�build_backend_type� setdefault)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"