static int Proxy_set_annotations(ProxyObject *self,
        PyObject *value)
{
    Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);

    return PyObject_SetAttrString(self->wrapped, "__annotations__", value);
}
static int Proxy_contains(ProxyObject *self,
        PyObject *value)
{
    Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);

    return PySequence_Contains(self->wrapped, value);
}
static int Proxy_set_doc(ProxyObject *self,
        PyObject *value)
{
    Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);

    if (PyObject_SetAttrString(self->wrapped, "__doc__", value) == -1)
        return -1;

    return PyDict_SetItemString(self->dict, "__doc__", value);
}
static int Proxy_setitem(ProxyObject *self,
        PyObject *key, PyObject* value)
{
    Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);

    if (value == NULL)
        return PyObject_DelItem(self->wrapped, key);
    else
        return PyObject_SetItem(self->wrapped, key, value);
}
Exemple #5
0
static int Proxy_setattro(
        ProxyObject *self, PyObject *name, PyObject *value)
{
    if (PyObject_HasAttr((PyObject *)Py_TYPE(self), name))
        return PyObject_GenericSetAttr((PyObject *)self, name, value);

    Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);

    return PyObject_SetAttr(self->wrapped, name, value);
}
static Py_ssize_t Proxy_length(ProxyObject *self)
{
    Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);

    return PyObject_Length(self->wrapped);
}
static int Proxy_bool(ProxyObject *self)
{
    Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);

    return PyObject_IsTrue(self->wrapped);
}
static Py_hash_t Proxy_hash(ProxyObject *self)
{
    Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);

    return PyObject_Hash(self->wrapped);
}