def struct_setattr(self, name, value): if name == "_fields_": if self.__dict__.get("_fields_", None) is not None: raise AttributeError("_fields_ is final") if self in [f[1] for f in value]: raise AttributeError("Structure or union cannot contain itself") names_and_fields(self, value, self.__bases__[0], self.__dict__.get("_anonymous_", None)) _CDataMeta.__setattr__(self, "_fields_", value) return _CDataMeta.__setattr__(self, name, value)
def struct_setattr(self, name, value): if name == '_fields_': if self.__dict__.get('_fields_', None) is not None: raise AttributeError("_fields_ is final") if self in [f[1] for f in value]: raise AttributeError("Structure or union cannot contain itself") names_and_fields(self, value, self.__bases__[0], self.__dict__.get('_anonymous_', None)) _CDataMeta.__setattr__(self, '_fields_', value) return _CDataMeta.__setattr__(self, name, value)
def __setattr__(self, name, value): if name == '_fields_': if self.__dict__.get('_fields_', None): raise AttributeError("_fields_ is final") if self in [v for k, v in value]: raise AttributeError("Union cannot contain itself") self._names, rawfields, self._fieldtypes = names_and_fields( value, self.__bases__[0], True, self.__dict__.get('_anonymous_', None)) _CDataMeta.__setattr__(self, '_fields_', value) _set_shape(self) _CDataMeta.__setattr__(self, name, value)
def __setattr__(self, name, value): if name == '_fields_': if self.__dict__.get('_fields_', None): raise AttributeError("_fields_ is final") if self in [v for k, v in value]: raise AttributeError("Union cannot contain itself") self._names, rawfields, self._fieldtypes = names_and_fields( value, self.__bases__[0], True, self.__dict__.get('_anonymous_', None)) _CDataMeta.__setattr__(self, '_fields_', value) _set_shape(self) _CDataMeta.__setattr__(self, name, value)
def struct_setattr(self, name, value): if name == '_fields_': if self.__dict__.get('_fields_', None): raise AttributeError("_fields_ is final") if self in [v for k, v in value]: raise AttributeError("Structure or union cannot contain itself") self._names, rawfields, self._fieldtypes = names_and_fields( value, self.__bases__[0], False, self.__dict__.get('_anonymous_', None)) self._ffistruct = _rawffi.Structure(rawfields) _CDataMeta.__setattr__(self, '_fields_', value) self._ffiargshape = self._ffishape = self._ffistruct.gettypecode() return _CDataMeta.__setattr__(self, name, value)
def struct_setattr(self, name, value): if name == '_fields_': if self.__dict__.get('_fields_', None): raise AttributeError("_fields_ is final") if self in [v for k, v in value]: raise AttributeError("Structure or union cannot contain itself") self._names, rawfields, self._fieldtypes = names_and_fields( value, self.__bases__[0], False, self.__dict__.get('_anonymous_', None)) self._ffistruct = _rawffi.Structure(rawfields) _CDataMeta.__setattr__(self, '_fields_', value) self._ffiargshape = self._ffishape = self._ffistruct.gettypecode() return _CDataMeta.__setattr__(self, name, value)
def struct_setattr(self, name, value): if name == '_fields_': if self.__dict__.get('_fields_', None) is not None: raise AttributeError("_fields_ is final") if self in [f[1] for f in value]: raise AttributeError("Structure or union cannot contain itself") if self._ffiargtype is not None: raise NotImplementedError( "Too late to set _fields_: we already " "said to libffi that the structure type %s is opaque" % (self, )) names_and_fields(self, value, self.__bases__[0], self.__dict__.get('_anonymous_', None)) _CDataMeta.__setattr__(self, '_fields_', value) return _CDataMeta.__setattr__(self, name, value)
def __setattr__(self, name, value): if name == '_fields_': if self.__dict__.get('_fields_', None): raise AttributeError("_fields_ is final") if self in [v for k, v in value]: raise AttributeError("Union cannot contain itself") self._names, rawfields, self._fieldtypes = names_and_fields( value, self.__bases__[0], True, self.__dict__.get('_anonymous_', None)) self._ffiarrays = {} for name, field in self._fieldtypes.iteritems(): self._ffiarrays[name] = _rawffi.Array(field.ctype._ffishape) _CDataMeta.__setattr__(self, '_fields_', value) self._ffiargshape = self._ffishape = (self._sizeofinstances(), self._alignmentofinstances()) return _CDataMeta.__setattr__(self, name, value)
def __setattr__(self, name, value): if name == '_fields_': if self.__dict__.get('_fields_', None): raise AttributeError("_fields_ is final") if self in [v for k, v in value]: raise AttributeError("Union cannot contain itself") self._names, rawfields, self._fieldtypes = names_and_fields( value, self.__bases__[0], True, self.__dict__.get('_anonymous_', None)) self._ffiarrays = {} for name, field in self._fieldtypes.iteritems(): self._ffiarrays[name] = _rawffi.Array(field.ctype._ffishape) _CDataMeta.__setattr__(self, '_fields_', value) self._ffiargshape = self._ffishape = (self._sizeofinstances(), self._alignmentofinstances()) return _CDataMeta.__setattr__(self, name, value)