From 8fa02ec21b3087ebc0754fbf05b72c3647b2dbba Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Sat, 4 Feb 2017 12:13:20 +0200 Subject: Issue #20186: Converted the symtable module to Argument Clinic. Original patch by Georg Brandl. --- Modules/symtablemodule.c | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) (limited to 'Modules/symtablemodule.c') diff --git a/Modules/symtablemodule.c b/Modules/symtablemodule.c index 34a6fc56f9..810f88da48 100644 --- a/Modules/symtablemodule.c +++ b/Modules/symtablemodule.c @@ -4,20 +4,33 @@ #include "Python-ast.h" #include "symtable.h" +#include "clinic/symtablemodule.c.h" +/*[clinic input] +module _symtable +[clinic start generated code]*/ +/*[clinic end generated code: output=da39a3ee5e6b4b0d input=f4685845a7100605]*/ + + +/*[clinic input] +_symtable.symtable + + str: str + filename: object(converter='PyUnicode_FSDecoder') + startstr: str + / + +Return symbol and scope dictionaries used internally by compiler. +[clinic start generated code]*/ + static PyObject * -symtable_symtable(PyObject *self, PyObject *args) +_symtable_symtable_impl(PyObject *module, const char *str, + PyObject *filename, const char *startstr) +/*[clinic end generated code: output=914b369c9b785956 input=6c615e84d5f408e3]*/ { struct symtable *st; PyObject *t; - - char *str; - PyObject *filename; - char *startstr; int start; - if (!PyArg_ParseTuple(args, "sO&s:symtable", - &str, PyUnicode_FSDecoder, &filename, &startstr)) - return NULL; if (strcmp(startstr, "exec") == 0) start = Py_file_input; else if (strcmp(startstr, "eval") == 0) @@ -42,9 +55,7 @@ symtable_symtable(PyObject *self, PyObject *args) } static PyMethodDef symtable_methods[] = { - {"symtable", symtable_symtable, METH_VARARGS, - PyDoc_STR("Return symbol and scope dictionaries" - " used internally by compiler.")}, + _SYMTABLE_SYMTABLE_METHODDEF {NULL, NULL} /* sentinel */ }; -- cgit v1.2.1