同步操作将从 OpenHarmony-SIG/python 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
/* Cell object implementation */#include "Python.h"#include "pycore_object.h"#include "pycore_pymem.h"#include "pycore_pystate.h"PyObject *PyCell_New(PyObject *obj){PyCellObject *op;op = (PyCellObject *)PyObject_GC_New(PyCellObject, &PyCell_Type);if (op == NULL)return NULL;op->ob_ref = obj;Py_XINCREF(obj);_PyObject_GC_TRACK(op);return (PyObject *)op;}PyDoc_STRVAR(cell_new_doc,"cell([contents])\n""--\n""\n""Create a new cell object.\n""\n"" contents\n"" the contents of the cell. If not specified, the cell will be empty,\n"" and \n further attempts to access its cell_contents attribute will\n"" raise a ValueError.");static PyObject *cell_new(PyTypeObject *type, PyObject *args, PyObject *kwargs){PyObject *return_value = NULL;PyObject *obj = NULL;if (!_PyArg_NoKeywords("cell", kwargs)) {goto exit;}/* min = 0: we allow the cell to be empty */if (!PyArg_UnpackTuple(args, "cell", 0, 1, &obj)) {goto exit;}return_value = PyCell_New(obj);exit:return return_value;}PyObject *PyCell_Get(PyObject *op){if (!PyCell_Check(op)) {PyErr_BadInternalCall();return NULL;}Py_XINCREF(((PyCellObject*)op)->ob_ref);return PyCell_GET(op);}intPyCell_Set(PyObject *op, PyObject *obj){PyObject* oldobj;if (!PyCell_Check(op)) {PyErr_BadInternalCall();return -1;}oldobj = PyCell_GET(op);Py_XINCREF(obj);PyCell_SET(op, obj);Py_XDECREF(oldobj);return 0;}static voidcell_dealloc(PyCellObject *op){_PyObject_GC_UNTRACK(op);Py_XDECREF(op->ob_ref);PyObject_GC_Del(op);}static PyObject *cell_richcompare(PyObject *a, PyObject *b, int op){/* neither argument should be NULL, unless something's gone wrong */assert(a != NULL && b != NULL);/* both arguments should be instances of PyCellObject */if (!PyCell_Check(a) || !PyCell_Check(b)) {Py_RETURN_NOTIMPLEMENTED;}/* compare cells by contents; empty cells come before anything else */a = ((PyCellObject *)a)->ob_ref;b = ((PyCellObject *)b)->ob_ref;if (a != NULL && b != NULL)return PyObject_RichCompare(a, b, op);Py_RETURN_RICHCOMPARE(b == NULL, a == NULL, op);}static PyObject *cell_repr(PyCellObject *op){if (op->ob_ref == NULL)return PyUnicode_FromFormat("<cell at %p: empty>", op);return PyUnicode_FromFormat("<cell at %p: %.80s object at %p>",op, op->ob_ref->ob_type->tp_name,op->ob_ref);}static intcell_traverse(PyCellObject *op, visitproc visit, void *arg){Py_VISIT(op->ob_ref);return 0;}static intcell_clear(PyCellObject *op){Py_CLEAR(op->ob_ref);return 0;}static PyObject *cell_get_contents(PyCellObject *op, void *closure){if (op->ob_ref == NULL){PyErr_SetString(PyExc_ValueError, "Cell is empty");return NULL;}Py_INCREF(op->ob_ref);return op->ob_ref;}static intcell_set_contents(PyCellObject *op, PyObject *obj, void *Py_UNUSED(ignored)){Py_XINCREF(obj);Py_XSETREF(op->ob_ref, obj);return 0;}static PyGetSetDef cell_getsetlist[] = {{"cell_contents", (getter)cell_get_contents,(setter)cell_set_contents, NULL},{NULL} /* sentinel */};PyTypeObject PyCell_Type = {PyVarObject_HEAD_INIT(&PyType_Type, 0)"cell",sizeof(PyCellObject),0,(destructor)cell_dealloc, /* tp_dealloc */0, /* tp_vectorcall_offset */0, /* tp_getattr */0, /* tp_setattr */0, /* tp_as_async */(reprfunc)cell_repr, /* tp_repr */0, /* tp_as_number */0, /* tp_as_sequence */0, /* tp_as_mapping */0, /* tp_hash */0, /* tp_call */0, /* tp_str */PyObject_GenericGetAttr, /* tp_getattro */0, /* tp_setattro */0, /* tp_as_buffer */Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, /* tp_flags */cell_new_doc, /* tp_doc */(traverseproc)cell_traverse, /* tp_traverse */(inquiry)cell_clear, /* tp_clear */cell_richcompare, /* tp_richcompare */0, /* tp_weaklistoffset */0, /* tp_iter */0, /* tp_iternext */0, /* tp_methods */0, /* tp_members */cell_getsetlist, /* tp_getset */0, /* tp_base */0, /* tp_dict */0, /* tp_descr_get */0, /* tp_descr_set */0, /* tp_dictoffset */0, /* tp_init */0, /* tp_alloc */(newfunc)cell_new, /* tp_new */0, /* tp_free */};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。