Viewing File: /opt/alt/python38/lib64/python3.8/site-packages/cffi/__pycache__/model.cpython-38.opt-1.pyc

U

ل=^T@sddlZddlZddlmZddlmZmZmZdZdZ	dZ
ddZGd	d
d
eZ
Gddde
ZGd
ddeZeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZeeZdd ZeeZGd!d"d"eZGd#d$d$eZeed%dZGd&d'd'e
ZGd(d)d)eZ Gd*d+d+e Z!Gd,d-d-e Z"Gd.d/d/eZ#d<d0d1Z$d=d2d3Z%eZ&e'Z(d4d5Z)d6d7Z*d8d9Z+d:d;Z,dS)>N)
allocate_lock)	CDefErrorVerificationErrorVerificationMissingcCs@|t@rd|}|t@r(d|}|t@r<d|}|S)Nz const z
 volatile z __restrict )Q_CONSTlstrip
Q_VOLATILE
Q_RESTRICT)qualsreplace_withr	/model.pyqualifysrc@sPeZdZdZdZdddZddZd	d
ZddZdd
dZ	ddZ
ddZdS)BaseTypeByIdentityFa C filercCsx|j}|}|rB|dr.d|kr.d|}n|ddkrBd|}t||}|d|}d|krttd	||f|S)
N*z&[(%s)rz[( &$z-cannot generate '%s' in %s: unknown type name)c_name_with_markerstrip
startswithrreplacer_get_c_name)selfrcontextr
resultrrr
get_c_names 


zBaseTypeByIdentity.get_c_namecCs|jddS)Nrr)rrrrrrr/szBaseTypeByIdentity._get_c_namecCsd|kS)Nrrr#rrr
has_c_name2szBaseTypeByIdentity.has_c_namecCsdSNFrr#rrris_integer_type5sz"BaseTypeByIdentity.is_integer_typecCsBz|j|}Wn.tk
r<|||}|j||}YnX|SN)_cached_btypesKeyErrorbuild_backend_type
setdefault)rffi
finishlist	can_delayBTypeZBType2rrrget_cached_btype8sz#BaseTypeByIdentity.get_cached_btypecCsd|fS)Nz<%s>r$r#rrr__repr__AszBaseTypeByIdentity.__repr__csfddjDS)Ncsg|]}|t|fqSr)getattr).0namer#rr
<listcomp>Esz1BaseTypeByIdentity._get_items.<locals>.<listcomp>)_attrs_r#rr#r
_get_itemsDszBaseTypeByIdentity._get_itemsN)rrr)F)__name__
__module____qualname__
is_array_typeis_raw_functionr"rr%r'r1r2r8rrrrrs

	rc@s$eZdZddZddZddZdS)BaseTypecCs|j|jko||kSr()	__class__r8rotherrrr__eq__JszBaseType.__eq__cCs
||kSr(rr@rrr__ne__NszBaseType.__ne__cCst|jt|fSr()hashr?tupler8r#rrr__hash__QszBaseType.__hash__N)r9r:r;rBrCrFrrrrr>Hsr>c@s eZdZdZddZddZdS)VoidTypercCs
d|_dS)Nzvoid&rr#rrr__init__XszVoidType.__init__cCst||dS)NZ
new_void_typeglobal_cacherr-r.rrrr+[szVoidType.build_backend_typeNr9r:r;r7rIr+rrrrrGUsrGc@seZdZddZdS)BasePrimitiveTypecCsdSr&rr#rrris_complex_typebsz!BasePrimitiveType.is_complex_typeN)r9r:r;rOrrrrrNasrNc4@seZdZdZdddddddddddddddddddddddddddddddddddddddddddddddddddd3ZddZd	d
ZddZd
dZddZ	ddZ
dS)
PrimitiveTyper5cifj)3charZshortintlongz	long longzsigned charz
unsigned charzunsigned shortunsigned int
unsigned longzunsigned long longfloatZdoublezlong doublezfloat _Complexzdouble _ComplexZ_BoolZwchar_tZchar16_tZchar32_tZint8_tZuint8_tZint16_tZuint16_tZint32_tZuint32_tZint64_tZuint64_tZint_least8_tZ
uint_least8_tZ
int_least16_tZuint_least16_tZ
int_least32_tZuint_least32_tZ
int_least64_tZuint_least64_tZint_fast8_tZuint_fast8_tZint_fast16_tZ
uint_fast16_tZint_fast32_tZ
uint_fast32_tZint_fast64_tZ
uint_fast64_tZintptr_tZ	uintptr_tZintmax_tZ	uintmax_tZ	ptrdiff_tZsize_tZssize_tcCs||_|d|_dSNrr5rrr5rrrrIszPrimitiveType.__init__cCs|j|jdkS)NrRALL_PRIMITIVE_TYPESr5r#rrris_char_typeszPrimitiveType.is_char_typecCs|j|jdkS)NrSr_r#rrrr'szPrimitiveType.is_integer_typecCs|j|jdkS)NrTr_r#rrr
is_float_typeszPrimitiveType.is_float_typecCs|j|jdkS)NrUr_r#rrrrOszPrimitiveType.is_complex_typecCst||d|jS)NZnew_primitive_type)rKr5rLrrrr+sz PrimitiveType.build_backend_typeN)r9r:r;r7r`rIrar'rbrOr+rrrrrPfsv7rPc@s(eZdZdZddZddZddZdS)	UnknownIntegerTyperQcCs||_|d|_dSr\r]r^rrrrIszUnknownIntegerType.__init__cCsdS)NTrr#rrrr'sz"UnknownIntegerType.is_integer_typecCstd|jdS)Nz4integer type '%s' can only be used after compilationNotImplementedErrorr5rLrrrr+sz%UnknownIntegerType.build_backend_typeN)r9r:r;r7rIr'r+rrrrrcsrcc@s eZdZdZddZddZdS)UnknownFloatTyperQcCs||_|d|_dSr\r]r^rrrrIszUnknownFloatType.__init__cCstd|jdS)Nz2float type '%s' can only be used after compilationrdrLrrrr+sz#UnknownFloatType.build_backend_typeNrMrrrrrfsrfc@seZdZdZdddZdS)BaseFunctionType)argsr!ellipsisabiNcCs||_||_||_||_dd|jD}|jr8|d|p@dg}|jd|f}|dk	r||dd|d|dd}|jjd||_dS)	NcSsg|]}|qSrr$)r4argrrrr6sz-BaseFunctionType.__init__.<locals>.<listcomp>...Zvoidz, rrr)	rhr!rirjappend
_base_patternjoinrr)rrhr!rirjZreprargsrrrrrIs

 zBaseFunctionType.__init__)Nr9r:r;r7rIrrrrrgsrgc@s$eZdZdZdZddZddZdS)RawFunctionTypez(&)(%s)TcCstd|fdS)NzPcannot render the type %r: it is a function type, not a pointer-to-function type)rrLrrrr+sz"RawFunctionType.build_backend_typecCst|j|j|j|jSr()FunctionPtrTyperhr!rirjr#rrras_function_pointersz#RawFunctionType.as_function_pointerN)r9r:r;rnr=r+rsrrrrrqsrqc@s eZdZdZddZddZdS)rrz(*&)(%s)cCs|j||}g}|jD]}||||qd}|jdkrh|jshz|jjf}Wntk
rfYnXt	||dt
|||jf|S)NrZ	__stdcallZnew_function_type)r!r1rhrmrjri_backendZFFI_STDCALLAttributeErrorrKrE)rr-r.r!rhtpZabi_argsrrrr+s$

z"FunctionPtrType.build_backend_typecCst|j|j|j|jSr()rqrhr!rirjr#rrras_raw_functionszFunctionPtrType.as_raw_functionN)r9r:r;rnr+rwrrrrrrsrrc@s"eZdZdZdddZddZdS)	PointerType)totyper
rcCs>||_||_t|d}|jr*d|f}|jd||_dS)Nz *&rr)ryr
rr<r
rr)rryr
ZextrarrrrIs
zPointerType.__init__cCs |jj||dd}t||d|S)NT)r/new_pointer_type)ryr1rK)rr-r.ZBItemrrrr+szPointerType.build_backend_typeN)rrMrrrrrxs
rxcCs
t|tSr()rxr	)ryrrrConstPointerTypesr{c@seZdZdZdddZdS)NamedPointerType)ryr5rcCs"t|||||_|d|_dSr\)rxrIr5r)rryr5r
rrrrIszNamedPointerType.__init__N)rrprrrrr|sr|c@s,eZdZdZdZddZddZddZd	S)
	ArrayType)itemlengthTcCsF||_||_|dkrd}n|dkr(d}nd|}|jjd||_dS)Nz&[]rlz
&[/*...*/]z&[%s]r)r~rrr)rr~rZbracketsrrrrI)szArrayType.__init__cCst|j|Sr()r}r~)rZ	newlengthrrrresolve_length6szArrayType.resolve_lengthcCsJ|jdkrtd|f|j||t|j||}t||d||jS)Nrlz)cannot render the type %r: unknown lengthZnew_array_type)rrr~r1rxrK)rr-r.ZBPtrItemrrrr+9s
zArrayType.build_backend_typeN)r9r:r;r7r<rIrr+rrrrr}%s

r}rVc@s,eZdZdZdZddZddZddZdS)	StructOrUnionOrEnumrQNcCs$|jpd|j|jf}|d|_dS)Nz%s %sr)	forcenamekindr5rr^rrrbuild_c_name_with_markerHsz,StructOrUnionOrEnum.build_c_name_with_markercCs||_|dSr()rr)rrrrrforce_the_nameLsz"StructOrUnionOrEnum.force_the_namecCs|jddS)NrHr#rrrget_official_namePsz%StructOrUnionOrEnum.get_official_name)r9r:r;r7rrrrrrrrrDs
rc@sjeZdZdZdZdZdZdddZddZdd	d
Z	ddZ
dd
dZddZddZ
ddZddZdS)
StructOrUnionNrFcCs*||_||_||_||_||_|dSr()r5fldnamesfldtypes
fldbitsizefldqualsr)rr5rrrrrrrrI[szStructOrUnion.__init__ccs>|jdk	r:t|j|jD] \}}|dkrt|tr|VqdS)Nr)rzipr
isinstancer)rr5typerrranonymous_struct_fieldscs
z%StructOrUnion.anonymous_struct_fieldsTccs||j}|dkrdt|j}t|j|j|j|D]F\}}}}|dkrht|trh|rh|D]
}|VqZq0||||fVq0dS)N)rr)	rlenrrrrrr
enumfields)rZexpand_anonymous_struct_unionrr5rbitsizer
r!rrrris

zStructOrUnion.enumfieldsc	Cszg}g}g}g}|D]4\}}}}||||||||qt||_t||_t||_t||_dSr()rrmrErrrr)	rnamestypesZbitsizesrr5rrr
rrr
force_flattenws





zStructOrUnion.force_flattencCs$t||||}|s ||||Sr()rr1finish_backend_type)rr-r.r/r0rrrr1s
zStructOrUnion.get_cached_btypecs$|jr$|jdkr td|jfdSj|}d|_|jdkrBn|jdkrfdd|jD}tt|j||j	}d}|j
r|j
dkrd}n
d|j
f}jj|||d	d	f|nbg}|j\}}}	}
t
t|jD]}||}|j|}
t|
tr|
jd
kr|
j}t||\}}|dkrT|d|j|j|pLdf|
|}
|jd||
f|j|dd|_|
}t|
tr|
jdkrn8|}||kr|d
|j|j|pd||f||qtt|j||j	|}j||||	|
d|_dS)Nrz(recursive structure declaration for '%s'rcsg|]}|qSr)r1)r4rvr-r.rrr6sz5StructOrUnion.finish_backend_type.<locals>.<listcomp>r)rrrlzfield '%s.%s' has a bogus size?z{}z=field '%s.%s' is declared as %d bytes, but is really %d bytes)	completedrer5r)rfixedlayoutlistrrrpackedrtZcomplete_struct_or_unionrangerrr}rr~r1divmodsizeof_verification_errorrrm)rr-r.r0rZlstextra_flagsZfieldofsZ	fieldsizeZ	totalsizeZtotalalignmentrSZfsizeZftypeZ	BItemTypeZnlenZnrestZ
BFieldTypeZ	bitemsizerrrrs











z!StructOrUnion.finish_backend_typecCst|dSr()r)rmsgrrrrsz!StructOrUnion._verification_errorcCs |jr|jdkrt|dSr()partialrrrr#rrrcheck_not_partialszStructOrUnion.check_not_partialcCs.|||t||d|j||dS)Nznew_%s_typekey)rrmrKrrrLrrrr+s
z StructOrUnion.build_backend_type)N)T)F)r9r:r;rrrrrIrrrr1rrrr+rrrrrUs


?rc@seZdZdZdS)
StructTypestructNr9r:r;rrrrrrsrc@seZdZdZdS)	UnionTypeunionNrrrrrrsrc@sBeZdZdZdZdZdddZddZdd	Zd
dZ	dd
Z
dS)EnumTypeenumFNcCs$||_||_||_||_|dSr()r5enumerators
enumvaluesbaseinttyper)rr5rrrrrrrIs
zEnumType.__init__cCs4t|||jdkr0|}d|dd|_dS)Nrr_)rrrrr)rrr5rrrrs
zEnumType.force_the_namecCs|jr|jst|dSr()rpartial_resolvedrrr#rrrrszEnumType.check_not_partialc
Cs4||||}t||d||j|j||dS)NZ
new_enum_typer)rbuild_baseinttyperKrrr)rr-r.Z
base_btyperrrr+szEnumType.build_backend_typec
CsJ|jdk	r|j||S|jr4t|j}t|j}nDddl}ztWntk
r\YnX|	d|
d}}|dkrd}td}td}nd}td}td}|||}	|||}
||	}||
}|dd	|d>kr|dd	||>kr|	S|dd	|d>kr6|dd	||>kr6|
St
d
|
dS)NrzU%r has no values explicitly defined; guessing that it is equivalent to 'unsigned int'rrWrXrYrZrrz=%s values don't all fit into either 'long' or 'unsigned long')rr1rminmaxwarningsZ__warningregistry__clear	NameErrorwarnrrPrr)
rr-r.Zsmallest_valueZ
largest_valuerZsignZ
candidate1Z
candidate2Zbtype1Zbtype2Zsize1Zsize2rrrrsH




zEnumType.build_baseinttype)N)r9r:r;rrrrIrrr+rrrrrrs
rcCs2|dkrd|}t|ddd}||d|_|S)Nz$%sunknown_type)rroriginr5Z
structnamervrrrr-s
rcCs(|dkrd|}t|ddd}t||S)Nz$$%s)rr|rrrrunknown_ptr_type5src
CsRt|tjrtSt4tt|ds2tt|_	t|j	W5QRSQRXdS)N__typecache)
rr
ModuleType_typecache_cffi_backendglobal_lockhasattrrweakrefWeakValueDictionaryr)Zbackendrrr
get_typecache?src

Os|d||f}z|j|WStk
r0YnXzt|j||}Wn4tk
rz}ztd|||fW5d}~XYnX|j}t@||}	|	dkr|||<|W5QRS|	W5QRSW5QRXdS)Nrz
%s: %r: %s)popZ
_typecacher*r3rtrerget)
Zsrctyper-funcnamerhkwdsrresecacheZres1rrrrKJs $
rKcCstd|d|S)N?rzrJ)r-r0rrr
pointer_cacheasrcCs@|jr<t|jdtkr<d||jdff|jdd|_dS)Nrz%s: %sr)rhrstr)rr5rrrattach_exception_infodsr)N)N)-rrlockrerrorrrrr	rrrobjectrr>rGZ	void_typerNrPrcrfrgrqrrrxZ
voidp_typer{Zconst_voidp_typer|r}Zchar_array_typerrrrrrrrrrrrKrrrrrr<module>sN
/
	L	
G


Back to Directory File Manager