ó ŹQ_Tc@s6dZdefd„ƒYZdefd„ƒYZdS(sR This module contains helper classes for structure fields and length expressions. tFieldcBseZdZded„ZRS(s× Represents a field of a structure. type is the datatype object for the field. field_type is the name of the type (string tuple) field_name is the name of the structure field. visible is true iff the field should be in the request API. wire is true iff the field should be in the request structure. auto is true iff the field is on the wire but not in the request API (e.g. opcode) enum is the enum name this field refers to, if any. c CsL||_||_||_||_||_||_||_||_dS(N(ttypet field_typet field_nametenumtvisibletwiretautotisfd( tselfRRRRRRRR((s5/usr/local/lib/python2.7/site-packages/xcbgen/expr.pyt__init__s       N(t__name__t __module__t__doc__tNonetFalseR (((s5/usr/local/lib/python2.7/site-packages/xcbgen/expr.pyRs t ExpressioncBs)eZdZd„Zd„Zd„ZRS(sā Represents a mathematical expression for a list length or exprfield. Public fields: op is the operation (text +,*,/,<<,~) or None. lhs and rhs are the sub-Expressions if op is set. lenfield_name is the name of the length field, or None for request lists. lenfield is the Field object for the length field, or None. bitfield is True if the length field is a bitmask instead of a number. nmemb is the fixed size (value)of the expression, or None cCs¼||_d|_d|_d|_d|_d|_t|_t|_ d|_ d|_ d|_ |j dkr”|jdƒd|_d|_n$|j dkr²|j|_n|j dkrś|jdƒ|_|jdƒ|_t|_t|_ n¾|j d kr†|jd ƒ|_ tt|ƒd |ƒ|_ tt|ƒd |ƒ|_ |j j|_|jdkrø|j j|_qøn2|j d krÕ|jd ƒ|_ tt|ƒd |ƒ|_ |j j|_nć|j d krüt|jd ƒ|_n¼|j dkrBd|_ tt|ƒd |ƒ|_ |j j|_nv|j dkrxd|_ |jdƒ|jf|_n@|j dkr„d|_ |jdƒ|_ntd|j ƒ‚dS(Ntlisttnamet_lentCARD32tfieldreft valueparamsvalue-mask-namesvalue-mask-typetopiitunoptvaluetpopcounttenumreftreftsumofsundefined tag '%s'(tparentRtnmembt lenfield_namet lenfield_typetlenfield_parenttlenfieldRtlenwiretbitfieldRtlhstrhsttagtgetttexttTrueRRtintt Exception(R teltR((s5/usr/local/lib/python2.7/site-packages/xcbgen/expr.pyR 'sZ                 cCs |jdkS(N(RR(R ((s5/usr/local/lib/python2.7/site-packages/xcbgen/expr.pyt fixed_sizeoscCsä|jdkr;|j|jdƒ|_|jd|_n„|jdkrąx“t|ƒD]‚}tg|jD]}|j|f^qjƒ}|j|jƒkrW|j r¹|j d|_ n ||_ ||jj |_PqWqWWndS(NRiiRi’’’’( Rtget_typeR R!treversedtdicttfieldsRtkeyst is_bitcasetparentsR"R(R tmoduleR6tptfR3((s5/usr/local/lib/python2.7/site-packages/xcbgen/expr.pytresolvers+  (R R R R R/R:(((s5/usr/local/lib/python2.7/site-packages/xcbgen/expr.pyRs  H N(R tobjectRR(((s5/usr/local/lib/python2.7/site-packages/xcbgen/expr.pyts