summaryrefslogtreecommitdiffstats
path: root/Modules/_sqlite
diff options
context:
space:
mode:
authorErlend E. Aasland <erlend.aasland@protonmail.com>2023-01-31 20:42:03 (GMT)
committerGitHub <noreply@github.com>2023-01-31 20:42:03 (GMT)
commit2753cf2ed6eb329bdc34b8f67228801182b82160 (patch)
treeb1fa68edc115a6bf451d44e49319a7ba0452de5a /Modules/_sqlite
parent0062f538d937de55cf3b66b4a8d527b1fe9d5182 (diff)
downloadcpython-2753cf2ed6eb329bdc34b8f67228801182b82160.zip
cpython-2753cf2ed6eb329bdc34b8f67228801182b82160.tar.gz
cpython-2753cf2ed6eb329bdc34b8f67228801182b82160.tar.bz2
gh-101409: Improve generated clinic code for self type checks (#101411)
Diffstat (limited to 'Modules/_sqlite')
-rw-r--r--Modules/_sqlite/clinic/cursor.c.h7
-rw-r--r--Modules/_sqlite/clinic/row.c.h6
2 files changed, 7 insertions, 6 deletions
diff --git a/Modules/_sqlite/clinic/cursor.c.h b/Modules/_sqlite/clinic/cursor.c.h
index 36b8d00..43e912d 100644
--- a/Modules/_sqlite/clinic/cursor.c.h
+++ b/Modules/_sqlite/clinic/cursor.c.h
@@ -16,10 +16,11 @@ static int
pysqlite_cursor_init(PyObject *self, PyObject *args, PyObject *kwargs)
{
int return_value = -1;
+ PyTypeObject *base_tp = clinic_state()->CursorType;
pysqlite_Connection *connection;
- if ((Py_IS_TYPE(self, clinic_state()->CursorType) ||
- Py_TYPE(self)->tp_new == clinic_state()->CursorType->tp_new) &&
+ if ((Py_IS_TYPE(self, base_tp) ||
+ Py_TYPE(self)->tp_new == base_tp->tp_new) &&
!_PyArg_NoKeywords("Cursor", kwargs)) {
goto exit;
}
@@ -318,4 +319,4 @@ pysqlite_cursor_close(pysqlite_Cursor *self, PyObject *Py_UNUSED(ignored))
{
return pysqlite_cursor_close_impl(self);
}
-/*[clinic end generated code: output=e53e75a32a9d92bd input=a9049054013a1b77]*/
+/*[clinic end generated code: output=1f82e3c9791bb9a5 input=a9049054013a1b77]*/
diff --git a/Modules/_sqlite/clinic/row.c.h b/Modules/_sqlite/clinic/row.c.h
index c543b39..89a48fd 100644
--- a/Modules/_sqlite/clinic/row.c.h
+++ b/Modules/_sqlite/clinic/row.c.h
@@ -16,11 +16,11 @@ static PyObject *
pysqlite_row_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
PyObject *return_value = NULL;
+ PyTypeObject *base_tp = clinic_state()->RowType;
pysqlite_Cursor *cursor;
PyObject *data;
- if ((type == clinic_state()->RowType ||
- type->tp_init == clinic_state()->RowType->tp_init) &&
+ if ((type == base_tp || type->tp_init == base_tp->tp_init) &&
!_PyArg_NoKeywords("Row", kwargs)) {
goto exit;
}
@@ -60,4 +60,4 @@ pysqlite_row_keys(pysqlite_Row *self, PyObject *Py_UNUSED(ignored))
{
return pysqlite_row_keys_impl(self);
}
-/*[clinic end generated code: output=87b91f234633702e input=a9049054013a1b77]*/
+/*[clinic end generated code: output=157b31ac3f6af1ba input=a9049054013a1b77]*/