LCOV - code coverage report
Current view: | top level - Include/cpython - cellobject.h (source / functions) |  |  | Hit | Total | Coverage
Test: | CPython 3.12 LCOV report [commit 5e6661bce9] |  | Lines: | 7 | 7 | 100.0 %
Date: | 2023-03-20 08:15:36 |  | Functions: | 2 | 2 | 100.0 %
|  |  | Branches: | 0 | 0 | -

               Branch data     Line data    Source code
           1                 :            : /* Cell object interface */
           2                 :            :
           3                 :            : #ifndef Py_LIMITED_API
           4                 :            : #ifndef Py_CELLOBJECT_H
           5                 :            : #define Py_CELLOBJECT_H
           6                 :            : #ifdef __cplusplus
           7                 :            : extern "C" {
           8                 :            : #endif
           9                 :            :
          10                 :            : typedef struct {
          11                 :            :     PyObject_HEAD
          12                 :            :     /* Content of the cell or NULL when empty */
          13                 :            :     PyObject *ob_ref;
          14                 :            : } PyCellObject;
          15                 :            :
          16                 :            : PyAPI_DATA(PyTypeObject) PyCell_Type;
          17                 :            :
          18                 :            : #define PyCell_Check(op) Py_IS_TYPE((op), &PyCell_Type)
          19                 :            :
          20                 :            : PyAPI_FUNC(PyObject *) PyCell_New(PyObject *);
          21                 :            : PyAPI_FUNC(PyObject *) PyCell_Get(PyObject *);
          22                 :            : PyAPI_FUNC(int) PyCell_Set(PyObject *, PyObject *);
          23                 :            :
          24                 :    1454074 : static inline PyObject* PyCell_GET(PyObject *op) {
          25                 :            :     PyCellObject *cell;
          26                 :            :     assert(PyCell_Check(op));
          27                 :    1454074 :     cell = _Py_CAST(PyCellObject*, op);
          28                 :    1454074 :     return cell->ob_ref;
          29                 :            : }
          30                 :            : #define PyCell_GET(op) PyCell_GET(_PyObject_CAST(op))
          31                 :            :
          32                 :      20021 : static inline void PyCell_SET(PyObject *op, PyObject *value) {
          33                 :            :     PyCellObject *cell;
          34                 :            :     assert(PyCell_Check(op));
          35                 :      20021 :     cell = _Py_CAST(PyCellObject*, op);
          36                 :      20021 :     cell->ob_ref = value;
          37                 :      20021 : }
          38                 :            : #define PyCell_SET(op, value) PyCell_SET(_PyObject_CAST(op), (value))
          39                 :            :
          40                 :            : #ifdef __cplusplus
          41                 :            : }
          42                 :            : #endif
          43                 :            : #endif /* !Py_TUPLEOBJECT_H */
          44                 :            : #endif /* Py_LIMITED_API */

Generated by: LCOV version 1.14