summaryrefslogtreecommitdiff
path: root/Python/clinic
diff options
context:
space:
mode:
Diffstat (limited to 'Python/clinic')
-rw-r--r--Python/clinic/_warnings.c.h38
-rw-r--r--Python/clinic/bltinmodule.c.h124
-rw-r--r--Python/clinic/import.c.h22
3 files changed, 139 insertions, 45 deletions
diff --git a/Python/clinic/_warnings.c.h b/Python/clinic/_warnings.c.h
new file mode 100644
index 0000000000..550c73f952
--- /dev/null
+++ b/Python/clinic/_warnings.c.h
@@ -0,0 +1,38 @@
+/*[clinic input]
+preserve
+[clinic start generated code]*/
+
+PyDoc_STRVAR(warnings_warn__doc__,
+"warn($module, /, message, category=None, stacklevel=1, source=None)\n"
+"--\n"
+"\n"
+"Issue a warning, or maybe ignore it or raise an exception.");
+
+#define WARNINGS_WARN_METHODDEF \
+ {"warn", (PyCFunction)warnings_warn, METH_FASTCALL, warnings_warn__doc__},
+
+static PyObject *
+warnings_warn_impl(PyObject *module, PyObject *message, PyObject *category,
+ Py_ssize_t stacklevel, PyObject *source);
+
+static PyObject *
+warnings_warn(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
+{
+ PyObject *return_value = NULL;
+ static const char * const _keywords[] = {"message", "category", "stacklevel", "source", NULL};
+ static _PyArg_Parser _parser = {"O|OnO:warn", _keywords, 0};
+ PyObject *message;
+ PyObject *category = Py_None;
+ Py_ssize_t stacklevel = 1;
+ PyObject *source = Py_None;
+
+ if (!_PyArg_ParseStackAndKeywords(args, nargs, kwnames, &_parser,
+ &message, &category, &stacklevel, &source)) {
+ goto exit;
+ }
+ return_value = warnings_warn_impl(module, message, category, stacklevel, source);
+
+exit:
+ return return_value;
+}
+/*[clinic end generated code: output=acadf1788059034c input=a9049054013a1b77]*/
diff --git a/Python/clinic/bltinmodule.c.h b/Python/clinic/bltinmodule.c.h
index c88deef33f..b52bde2612 100644
--- a/Python/clinic/bltinmodule.c.h
+++ b/Python/clinic/bltinmodule.c.h
@@ -80,22 +80,26 @@ PyDoc_STRVAR(builtin_format__doc__,
"format_spec defaults to the empty string");
#define BUILTIN_FORMAT_METHODDEF \
- {"format", (PyCFunction)builtin_format, METH_VARARGS, builtin_format__doc__},
+ {"format", (PyCFunction)builtin_format, METH_FASTCALL, builtin_format__doc__},
static PyObject *
builtin_format_impl(PyObject *module, PyObject *value, PyObject *format_spec);
static PyObject *
-builtin_format(PyObject *module, PyObject *args)
+builtin_format(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
{
PyObject *return_value = NULL;
PyObject *value;
PyObject *format_spec = NULL;
- if (!PyArg_ParseTuple(args, "O|U:format",
+ if (!_PyArg_ParseStack(args, nargs, "O|U:format",
&value, &format_spec)) {
goto exit;
}
+
+ if (!_PyArg_NoStackKeywords("format", kwnames)) {
+ goto exit;
+ }
return_value = builtin_format_impl(module, value, format_spec);
exit:
@@ -168,7 +172,7 @@ builtin_compile(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *k
int dont_inherit = 0;
int optimize = -1;
- if (!_PyArg_ParseStack(args, nargs, kwnames, &_parser,
+ if (!_PyArg_ParseStackAndKeywords(args, nargs, kwnames, &_parser,
&source, PyUnicode_FSDecoder, &filename, &mode, &flags, &dont_inherit, &optimize)) {
goto exit;
}
@@ -185,23 +189,27 @@ PyDoc_STRVAR(builtin_divmod__doc__,
"Return the tuple (x//y, x%y). Invariant: div*y + mod == x.");
#define BUILTIN_DIVMOD_METHODDEF \
- {"divmod", (PyCFunction)builtin_divmod, METH_VARARGS, builtin_divmod__doc__},
+ {"divmod", (PyCFunction)builtin_divmod, METH_FASTCALL, builtin_divmod__doc__},
static PyObject *
builtin_divmod_impl(PyObject *module, PyObject *x, PyObject *y);
static PyObject *
-builtin_divmod(PyObject *module, PyObject *args)
+builtin_divmod(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
{
PyObject *return_value = NULL;
PyObject *x;
PyObject *y;
- if (!PyArg_UnpackTuple(args, "divmod",
+ if (!_PyArg_UnpackStack(args, nargs, "divmod",
2, 2,
&x, &y)) {
goto exit;
}
+
+ if (!_PyArg_NoStackKeywords("divmod", kwnames)) {
+ goto exit;
+ }
return_value = builtin_divmod_impl(module, x, y);
exit:
@@ -221,25 +229,29 @@ PyDoc_STRVAR(builtin_eval__doc__,
"If only globals is given, locals defaults to it.");
#define BUILTIN_EVAL_METHODDEF \
- {"eval", (PyCFunction)builtin_eval, METH_VARARGS, builtin_eval__doc__},
+ {"eval", (PyCFunction)builtin_eval, METH_FASTCALL, builtin_eval__doc__},
static PyObject *
builtin_eval_impl(PyObject *module, PyObject *source, PyObject *globals,
PyObject *locals);
static PyObject *
-builtin_eval(PyObject *module, PyObject *args)
+builtin_eval(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
{
PyObject *return_value = NULL;
PyObject *source;
PyObject *globals = Py_None;
PyObject *locals = Py_None;
- if (!PyArg_UnpackTuple(args, "eval",
+ if (!_PyArg_UnpackStack(args, nargs, "eval",
1, 3,
&source, &globals, &locals)) {
goto exit;
}
+
+ if (!_PyArg_NoStackKeywords("eval", kwnames)) {
+ goto exit;
+ }
return_value = builtin_eval_impl(module, source, globals, locals);
exit:
@@ -259,25 +271,29 @@ PyDoc_STRVAR(builtin_exec__doc__,
"If only globals is given, locals defaults to it.");
#define BUILTIN_EXEC_METHODDEF \
- {"exec", (PyCFunction)builtin_exec, METH_VARARGS, builtin_exec__doc__},
+ {"exec", (PyCFunction)builtin_exec, METH_FASTCALL, builtin_exec__doc__},
static PyObject *
builtin_exec_impl(PyObject *module, PyObject *source, PyObject *globals,
PyObject *locals);
static PyObject *
-builtin_exec(PyObject *module, PyObject *args)
+builtin_exec(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
{
PyObject *return_value = NULL;
PyObject *source;
PyObject *globals = Py_None;
PyObject *locals = Py_None;
- if (!PyArg_UnpackTuple(args, "exec",
+ if (!_PyArg_UnpackStack(args, nargs, "exec",
1, 3,
&source, &globals, &locals)) {
goto exit;
}
+
+ if (!_PyArg_NoStackKeywords("exec", kwnames)) {
+ goto exit;
+ }
return_value = builtin_exec_impl(module, source, globals, locals);
exit:
@@ -314,23 +330,27 @@ PyDoc_STRVAR(builtin_hasattr__doc__,
"This is done by calling getattr(obj, name) and catching AttributeError.");
#define BUILTIN_HASATTR_METHODDEF \
- {"hasattr", (PyCFunction)builtin_hasattr, METH_VARARGS, builtin_hasattr__doc__},
+ {"hasattr", (PyCFunction)builtin_hasattr, METH_FASTCALL, builtin_hasattr__doc__},
static PyObject *
builtin_hasattr_impl(PyObject *module, PyObject *obj, PyObject *name);
static PyObject *
-builtin_hasattr(PyObject *module, PyObject *args)
+builtin_hasattr(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
{
PyObject *return_value = NULL;
PyObject *obj;
PyObject *name;
- if (!PyArg_UnpackTuple(args, "hasattr",
+ if (!_PyArg_UnpackStack(args, nargs, "hasattr",
2, 2,
&obj, &name)) {
goto exit;
}
+
+ if (!_PyArg_NoStackKeywords("hasattr", kwnames)) {
+ goto exit;
+ }
return_value = builtin_hasattr_impl(module, obj, name);
exit:
@@ -358,25 +378,29 @@ PyDoc_STRVAR(builtin_setattr__doc__,
"setattr(x, \'y\', v) is equivalent to ``x.y = v\'\'");
#define BUILTIN_SETATTR_METHODDEF \
- {"setattr", (PyCFunction)builtin_setattr, METH_VARARGS, builtin_setattr__doc__},
+ {"setattr", (PyCFunction)builtin_setattr, METH_FASTCALL, builtin_setattr__doc__},
static PyObject *
builtin_setattr_impl(PyObject *module, PyObject *obj, PyObject *name,
PyObject *value);
static PyObject *
-builtin_setattr(PyObject *module, PyObject *args)
+builtin_setattr(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
{
PyObject *return_value = NULL;
PyObject *obj;
PyObject *name;
PyObject *value;
- if (!PyArg_UnpackTuple(args, "setattr",
+ if (!_PyArg_UnpackStack(args, nargs, "setattr",
3, 3,
&obj, &name, &value)) {
goto exit;
}
+
+ if (!_PyArg_NoStackKeywords("setattr", kwnames)) {
+ goto exit;
+ }
return_value = builtin_setattr_impl(module, obj, name, value);
exit:
@@ -392,23 +416,27 @@ PyDoc_STRVAR(builtin_delattr__doc__,
"delattr(x, \'y\') is equivalent to ``del x.y\'\'");
#define BUILTIN_DELATTR_METHODDEF \
- {"delattr", (PyCFunction)builtin_delattr, METH_VARARGS, builtin_delattr__doc__},
+ {"delattr", (PyCFunction)builtin_delattr, METH_FASTCALL, builtin_delattr__doc__},
static PyObject *
builtin_delattr_impl(PyObject *module, PyObject *obj, PyObject *name);
static PyObject *
-builtin_delattr(PyObject *module, PyObject *args)
+builtin_delattr(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
{
PyObject *return_value = NULL;
PyObject *obj;
PyObject *name;
- if (!PyArg_UnpackTuple(args, "delattr",
+ if (!_PyArg_UnpackStack(args, nargs, "delattr",
2, 2,
&obj, &name)) {
goto exit;
}
+
+ if (!_PyArg_NoStackKeywords("delattr", kwnames)) {
+ goto exit;
+ }
return_value = builtin_delattr_impl(module, obj, name);
exit:
@@ -501,24 +529,28 @@ PyDoc_STRVAR(builtin_pow__doc__,
"invoked using the three argument form.");
#define BUILTIN_POW_METHODDEF \
- {"pow", (PyCFunction)builtin_pow, METH_VARARGS, builtin_pow__doc__},
+ {"pow", (PyCFunction)builtin_pow, METH_FASTCALL, builtin_pow__doc__},
static PyObject *
builtin_pow_impl(PyObject *module, PyObject *x, PyObject *y, PyObject *z);
static PyObject *
-builtin_pow(PyObject *module, PyObject *args)
+builtin_pow(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
{
PyObject *return_value = NULL;
PyObject *x;
PyObject *y;
PyObject *z = Py_None;
- if (!PyArg_UnpackTuple(args, "pow",
+ if (!_PyArg_UnpackStack(args, nargs, "pow",
2, 3,
&x, &y, &z)) {
goto exit;
}
+
+ if (!_PyArg_NoStackKeywords("pow", kwnames)) {
+ goto exit;
+ }
return_value = builtin_pow_impl(module, x, y, z);
exit:
@@ -538,22 +570,26 @@ PyDoc_STRVAR(builtin_input__doc__,
"On *nix systems, readline is used if available.");
#define BUILTIN_INPUT_METHODDEF \
- {"input", (PyCFunction)builtin_input, METH_VARARGS, builtin_input__doc__},
+ {"input", (PyCFunction)builtin_input, METH_FASTCALL, builtin_input__doc__},
static PyObject *
builtin_input_impl(PyObject *module, PyObject *prompt);
static PyObject *
-builtin_input(PyObject *module, PyObject *args)
+builtin_input(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
{
PyObject *return_value = NULL;
PyObject *prompt = NULL;
- if (!PyArg_UnpackTuple(args, "input",
+ if (!_PyArg_UnpackStack(args, nargs, "input",
0, 1,
&prompt)) {
goto exit;
}
+
+ if (!_PyArg_NoStackKeywords("input", kwnames)) {
+ goto exit;
+ }
return_value = builtin_input_impl(module, prompt);
exit:
@@ -582,23 +618,27 @@ PyDoc_STRVAR(builtin_sum__doc__,
"reject non-numeric types.");
#define BUILTIN_SUM_METHODDEF \
- {"sum", (PyCFunction)builtin_sum, METH_VARARGS, builtin_sum__doc__},
+ {"sum", (PyCFunction)builtin_sum, METH_FASTCALL, builtin_sum__doc__},
static PyObject *
builtin_sum_impl(PyObject *module, PyObject *iterable, PyObject *start);
static PyObject *
-builtin_sum(PyObject *module, PyObject *args)
+builtin_sum(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
{
PyObject *return_value = NULL;
PyObject *iterable;
PyObject *start = NULL;
- if (!PyArg_UnpackTuple(args, "sum",
+ if (!_PyArg_UnpackStack(args, nargs, "sum",
1, 2,
&iterable, &start)) {
goto exit;
}
+
+ if (!_PyArg_NoStackKeywords("sum", kwnames)) {
+ goto exit;
+ }
return_value = builtin_sum_impl(module, iterable, start);
exit:
@@ -616,24 +656,28 @@ PyDoc_STRVAR(builtin_isinstance__doc__,
"or ...`` etc.");
#define BUILTIN_ISINSTANCE_METHODDEF \
- {"isinstance", (PyCFunction)builtin_isinstance, METH_VARARGS, builtin_isinstance__doc__},
+ {"isinstance", (PyCFunction)builtin_isinstance, METH_FASTCALL, builtin_isinstance__doc__},
static PyObject *
builtin_isinstance_impl(PyObject *module, PyObject *obj,
PyObject *class_or_tuple);
static PyObject *
-builtin_isinstance(PyObject *module, PyObject *args)
+builtin_isinstance(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
{
PyObject *return_value = NULL;
PyObject *obj;
PyObject *class_or_tuple;
- if (!PyArg_UnpackTuple(args, "isinstance",
+ if (!_PyArg_UnpackStack(args, nargs, "isinstance",
2, 2,
&obj, &class_or_tuple)) {
goto exit;
}
+
+ if (!_PyArg_NoStackKeywords("isinstance", kwnames)) {
+ goto exit;
+ }
return_value = builtin_isinstance_impl(module, obj, class_or_tuple);
exit:
@@ -651,27 +695,31 @@ PyDoc_STRVAR(builtin_issubclass__doc__,
"or ...`` etc.");
#define BUILTIN_ISSUBCLASS_METHODDEF \
- {"issubclass", (PyCFunction)builtin_issubclass, METH_VARARGS, builtin_issubclass__doc__},
+ {"issubclass", (PyCFunction)builtin_issubclass, METH_FASTCALL, builtin_issubclass__doc__},
static PyObject *
builtin_issubclass_impl(PyObject *module, PyObject *cls,
PyObject *class_or_tuple);
static PyObject *
-builtin_issubclass(PyObject *module, PyObject *args)
+builtin_issubclass(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
{
PyObject *return_value = NULL;
PyObject *cls;
PyObject *class_or_tuple;
- if (!PyArg_UnpackTuple(args, "issubclass",
+ if (!_PyArg_UnpackStack(args, nargs, "issubclass",
2, 2,
&cls, &class_or_tuple)) {
goto exit;
}
+
+ if (!_PyArg_NoStackKeywords("issubclass", kwnames)) {
+ goto exit;
+ }
return_value = builtin_issubclass_impl(module, cls, class_or_tuple);
exit:
return return_value;
}
-/*[clinic end generated code: output=63483deb75805f7c input=a9049054013a1b77]*/
+/*[clinic end generated code: output=3234725ef4d8bbf1 input=a9049054013a1b77]*/
diff --git a/Python/clinic/import.c.h b/Python/clinic/import.c.h
index b3460b061d..0165b7c4e1 100644
--- a/Python/clinic/import.c.h
+++ b/Python/clinic/import.c.h
@@ -75,23 +75,27 @@ PyDoc_STRVAR(_imp__fix_co_filename__doc__,
" File path to use.");
#define _IMP__FIX_CO_FILENAME_METHODDEF \
- {"_fix_co_filename", (PyCFunction)_imp__fix_co_filename, METH_VARARGS, _imp__fix_co_filename__doc__},
+ {"_fix_co_filename", (PyCFunction)_imp__fix_co_filename, METH_FASTCALL, _imp__fix_co_filename__doc__},
static PyObject *
_imp__fix_co_filename_impl(PyObject *module, PyCodeObject *code,
PyObject *path);
static PyObject *
-_imp__fix_co_filename(PyObject *module, PyObject *args)
+_imp__fix_co_filename(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
{
PyObject *return_value = NULL;
PyCodeObject *code;
PyObject *path;
- if (!PyArg_ParseTuple(args, "O!U:_fix_co_filename",
+ if (!_PyArg_ParseStack(args, nargs, "O!U:_fix_co_filename",
&PyCode_Type, &code, &path)) {
goto exit;
}
+
+ if (!_PyArg_NoStackKeywords("_fix_co_filename", kwnames)) {
+ goto exit;
+ }
return_value = _imp__fix_co_filename_impl(module, code, path);
exit:
@@ -269,23 +273,27 @@ PyDoc_STRVAR(_imp_create_dynamic__doc__,
"Create an extension module.");
#define _IMP_CREATE_DYNAMIC_METHODDEF \
- {"create_dynamic", (PyCFunction)_imp_create_dynamic, METH_VARARGS, _imp_create_dynamic__doc__},
+ {"create_dynamic", (PyCFunction)_imp_create_dynamic, METH_FASTCALL, _imp_create_dynamic__doc__},
static PyObject *
_imp_create_dynamic_impl(PyObject *module, PyObject *spec, PyObject *file);
static PyObject *
-_imp_create_dynamic(PyObject *module, PyObject *args)
+_imp_create_dynamic(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
{
PyObject *return_value = NULL;
PyObject *spec;
PyObject *file = NULL;
- if (!PyArg_UnpackTuple(args, "create_dynamic",
+ if (!_PyArg_UnpackStack(args, nargs, "create_dynamic",
1, 2,
&spec, &file)) {
goto exit;
}
+
+ if (!_PyArg_NoStackKeywords("create_dynamic", kwnames)) {
+ goto exit;
+ }
return_value = _imp_create_dynamic_impl(module, spec, file);
exit:
@@ -361,4 +369,4 @@ exit:
#ifndef _IMP_EXEC_DYNAMIC_METHODDEF
#define _IMP_EXEC_DYNAMIC_METHODDEF
#endif /* !defined(_IMP_EXEC_DYNAMIC_METHODDEF) */
-/*[clinic end generated code: output=d24d7f73702a907f input=a9049054013a1b77]*/
+/*[clinic end generated code: output=c1d0e65d04114958 input=a9049054013a1b77]*/