PATH: //proc/self/root/proc/thread-self/root/opt/alt/python312/include/python3.12/cpython
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 abstract.h
↓
X
📄 bytearrayobject.h
↓
X
📄 bytesobject.h
↓
X
📄 cellobject.h
↓
X
📄 ceval.h
↓
X
📄 classobject.h
↓
X
📄 code.h
↓
X
📄 compile.h
↓
X
📄 complexobject.h
↓
X
📄 context.h
↓
X
📄 descrobject.h
↓
X
📄 dictobject.h
↓
X
📄 fileobject.h
↓
X
📄 fileutils.h
↓
X
📄 floatobject.h
↓
X
📄 frameobject.h
↓
X
📄 funcobject.h
↓
X
📄 genobject.h
↓
X
📄 import.h
↓
X
📄 initconfig.h
↓
X
📄 interpreteridobject.h
↓
X
📄 listobject.h
↓
X
📄 longintrepr.h
↓
X
📄 longobject.h
↓
X
📄 memoryobject.h
↓
X
📄 methodobject.h
↓
X
📄 modsupport.h
↓
X
📄 object.h
↓
X
📄 objimpl.h
↓
X
📄 odictobject.h
↓
X
📄 picklebufobject.h
↓
X
📄 pthread_stubs.h
↓
X
📄 pyctype.h
↓
X
📄 pydebug.h
↓
X
📄 pyerrors.h
↓
X
📄 pyfpe.h
↓
X
📄 pyframe.h
↓
X
📄 pylifecycle.h
↓
X
📄 pymem.h
↓
X
📄 pystate.h
↓
X
📄 pythonrun.h
↓
X
📄 pythread.h
↓
X
📄 pytime.h
↓
X
📄 setobject.h
↓
X
📄 sysmodule.h
↓
X
📄 traceback.h
↓
X
📄 tupleobject.h
↓
X
📄 unicodeobject.h
↓
X
📄 warnings.h
↓
X
📄 weakrefobject.h
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: weakrefobject.h
#ifndef Py_CPYTHON_WEAKREFOBJECT_H # error "this header file must not be included directly" #endif /* PyWeakReference is the base struct for the Python ReferenceType, ProxyType, * and CallableProxyType. */ struct _PyWeakReference { PyObject_HEAD /* The object to which this is a weak reference, or Py_None if none. * Note that this is a stealth reference: wr_object's refcount is * not incremented to reflect this pointer. */ PyObject *wr_object; /* A callable to invoke when wr_object dies, or NULL if none. */ PyObject *wr_callback; /* A cache for wr_object's hash code. As usual for hashes, this is -1 * if the hash code isn't known yet. */ Py_hash_t hash; /* If wr_object is weakly referenced, wr_object has a doubly-linked NULL- * terminated list of weak references to it. These are the list pointers. * If wr_object goes away, wr_object is set to Py_None, and these pointers * have no meaning then. */ PyWeakReference *wr_prev; PyWeakReference *wr_next; vectorcallfunc vectorcall; }; PyAPI_FUNC(Py_ssize_t) _PyWeakref_GetWeakrefCount(PyWeakReference *head); PyAPI_FUNC(void) _PyWeakref_ClearRef(PyWeakReference *self); static inline PyObject* PyWeakref_GET_OBJECT(PyObject *ref_obj) { PyWeakReference *ref; PyObject *obj; assert(PyWeakref_Check(ref_obj)); ref = _Py_CAST(PyWeakReference*, ref_obj); obj = ref->wr_object; // Explanation for the Py_REFCNT() check: when a weakref's target is part // of a long chain of deallocations which triggers the trashcan mechanism, // clearing the weakrefs can be delayed long after the target's refcount // has dropped to zero. In the meantime, code accessing the weakref will // be able to "see" the target object even though it is supposed to be // unreachable. See issue gh-60806. if (Py_REFCNT(obj) > 0) { return obj; } return Py_None; } #define PyWeakref_GET_OBJECT(ref) PyWeakref_GET_OBJECT(_PyObject_CAST(ref))
SIMPAN PERUBAHAN