LCOV - code coverage report
Current view: | top level - Include/internal - pycore_moduleobject.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: | 3 | 3 | 100.0 %
|  |  | Branches: | 0 | 0 | -

               Branch data     Line data    Source code
           1                 :            : #ifndef Py_INTERNAL_MODULEOBJECT_H
           2                 :            : #define Py_INTERNAL_MODULEOBJECT_H
           3                 :            : #ifdef __cplusplus
           4                 :            : extern "C" {
           5                 :            : #endif
           6                 :            :
           7                 :            : #ifndef Py_BUILD_CORE
           8                 :            : #  error "this header requires Py_BUILD_CORE define"
           9                 :            : #endif
          10                 :            :
          11                 :            : typedef struct {
          12                 :            :     PyObject_HEAD
          13                 :            :     PyObject *md_dict;
          14                 :            :     PyModuleDef *md_def;
          15                 :            :     void *md_state;
          16                 :            :     PyObject *md_weaklist;
          17                 :            :     // for logging purposes after md_dict is cleared
          18                 :            :     PyObject *md_name;
          19                 :            : } PyModuleObject;
          20                 :            :
          21                 :       3285 : static inline PyModuleDef* _PyModule_GetDef(PyObject *mod) {
          22                 :            :     assert(PyModule_Check(mod));
          23                 :       3285 :     return ((PyModuleObject *)mod)->md_def;
          24                 :            : }
          25                 :            :
          26                 :    3045803 : static inline void* _PyModule_GetState(PyObject* mod) {
          27                 :            :     assert(PyModule_Check(mod));
          28                 :    3045803 :     return ((PyModuleObject *)mod)->md_state;
          29                 :            : }
          30                 :            :
          31                 :      33662 : static inline PyObject* _PyModule_GetDict(PyObject *mod) {
          32                 :            :     assert(PyModule_Check(mod));
          33                 :      33662 :     PyObject *dict = ((PyModuleObject *)mod) -> md_dict;
          34                 :            :     // _PyModule_GetDict(mod) must not be used after calling module_clear(mod)
          35                 :            :     assert(dict != NULL);
          36                 :      33662 :     return dict;
          37                 :            : }
          38                 :            :
          39                 :            : #ifdef __cplusplus
          40                 :            : }
          41                 :            : #endif
          42                 :            : #endif /* !Py_INTERNAL_MODULEOBJECT_H */

Generated by: LCOV version 1.14