LCOV - code coverage report
Current view: top level - Modules/clinic - symtablemodule.c.h (source / functions) Hit Total Coverage
Test: CPython lcov report Lines: 13 19 68.4 %
Date: 2022-07-07 18:19:46 Functions: 1 1 100.0 %

          Line data    Source code
       1             : /*[clinic input]
       2             : preserve
       3             : [clinic start generated code]*/
       4             : 
       5             : PyDoc_STRVAR(_symtable_symtable__doc__,
       6             : "symtable($module, source, filename, startstr, /)\n"
       7             : "--\n"
       8             : "\n"
       9             : "Return symbol and scope dictionaries used internally by compiler.");
      10             : 
      11             : #define _SYMTABLE_SYMTABLE_METHODDEF    \
      12             :     {"symtable", _PyCFunction_CAST(_symtable_symtable), METH_FASTCALL, _symtable_symtable__doc__},
      13             : 
      14             : static PyObject *
      15             : _symtable_symtable_impl(PyObject *module, PyObject *source,
      16             :                         PyObject *filename, const char *startstr);
      17             : 
      18             : static PyObject *
      19          16 : _symtable_symtable(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
      20             : {
      21          16 :     PyObject *return_value = NULL;
      22             :     PyObject *source;
      23             :     PyObject *filename;
      24             :     const char *startstr;
      25             : 
      26          16 :     if (!_PyArg_CheckPositional("symtable", nargs, 3, 3)) {
      27           0 :         goto exit;
      28             :     }
      29          16 :     source = args[0];
      30          16 :     if (!PyUnicode_FSDecoder(args[1], &filename)) {
      31           1 :         goto exit;
      32             :     }
      33          15 :     if (!PyUnicode_Check(args[2])) {
      34           0 :         _PyArg_BadArgument("symtable", "argument 3", "str", args[2]);
      35           0 :         goto exit;
      36             :     }
      37             :     Py_ssize_t startstr_length;
      38          15 :     startstr = PyUnicode_AsUTF8AndSize(args[2], &startstr_length);
      39          15 :     if (startstr == NULL) {
      40           0 :         goto exit;
      41             :     }
      42          15 :     if (strlen(startstr) != (size_t)startstr_length) {
      43           0 :         PyErr_SetString(PyExc_ValueError, "embedded null character");
      44           0 :         goto exit;
      45             :     }
      46          15 :     return_value = _symtable_symtable_impl(module, source, filename, startstr);
      47             : 
      48          16 : exit:
      49          16 :     return return_value;
      50             : }
      51             : /*[clinic end generated code: output=3f7ccf535d750238 input=a9049054013a1b77]*/

Generated by: LCOV version 1.14