Beispiel #1
0
int
PyCell_Set(PyObject *op, PyObject *obj)
{
	if (!PyCell_Check(op)) {
		PyErr_BadInternalCall();
		return -1;
	} else {
		PyObject* oldobj;
		JyObject* jy;
		oldobj = PyCell_GET(op);
		Py_XINCREF(obj);
		PyCell_SET(op, obj);
		updateJyGCHeadLink(op, AS_JY_WITH_GC(op), 0,
					obj, obj ? AS_JY(obj) : NULL);
		Py_XDECREF(oldobj);
		jy = AS_JY_WITH_GC(op);
		if (JyObject_IS_INITIALIZED(jy))
		{
			env(-1);
			(*env)->SetObjectField(env, jy->jy, pyCell_ob_refField,
						JyNI_JythonPyObject_FromPyObject(obj));
		}
		return 0;
	}
}
Beispiel #2
0
int
PyCell_Set(PyObject *op, PyObject *obj)
{
	if (!PyCell_Check(op)) {
		PyErr_BadInternalCall();
		return -1;
	}
	Py_XDECREF(((PyCellObject*)op)->ob_ref);
	Py_XINCREF(obj);
	PyCell_SET(op, obj);
	return 0;
}
int
PyCell_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;
}
Beispiel #4
0
void JySync_PyCell_From_JyCell(jobject src, PyObject* dest)
{
	env();
	PyCell_SET(dest, JyNI_PyObject_FromJythonPyObject(
		(*env)->GetObjectField(env, src, pyCell_ob_refField)));
}