aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/ApiExtractor/messages.h
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-09-27 13:45:29 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2022-10-05 14:27:18 +0200
commite1a2fd9524578f4f4e27eb92a8646f7d53a4c1b8 (patch)
tree98a5f46204d4b555a6cb16a6374fecc7bbe94c5a /sources/shiboken6/ApiExtractor/messages.h
parenta097b2b1dbf8901ab26a80c9619f679c689677a8 (diff)
shiboken6: Fix indirections of enums/flag arguments
The information about how arguments are converted (pointer indirections, etc.) was in CppGenerator::writePythonToCppTypeConversion() and partially duplicated in AbstractMetaType::shouldDereferenceArgument(), leading to discrepancies in the indirections generated for the function calls. To fix this, introduce a struct GeneratorArgument with type, conversion mode, indirections and a few flags storing this information and use that everywhere, replacing AbstractMetaType::shouldDereferenceArgument(). Pass the argument indirections obtained from writePythonToCppTypeConversion() via writeArgumentConversion() as a list into writeMethodCall(). Add a test for passing enums by pointer. Fixes: PYSIDE-2065 Change-Id: I495c2bc04ebc0162648d74b75e321609ecd00963 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/shiboken6/ApiExtractor/messages.h')
-rw-r--r--sources/shiboken6/ApiExtractor/messages.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sources/shiboken6/ApiExtractor/messages.h b/sources/shiboken6/ApiExtractor/messages.h
index 0c09f4bc1..1d40dc76c 100644
--- a/sources/shiboken6/ApiExtractor/messages.h
+++ b/sources/shiboken6/ApiExtractor/messages.h
@@ -247,4 +247,6 @@ QString msgArgumentClassNotFound(const AbstractMetaFunctionCPtr &func,
QString msgMissingCustomConversion(const TypeEntry *t);
+QString msgUnknownArrayPointerConversion(const QString &s);
+
#endif // MESSAGES_H