aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/ApiExtractor/messages.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-09-22 11:54:41 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2020-09-23 09:18:58 +0200
commit3b6303e59d6516d52ed11f1dcdd34da61f053dbd (patch)
tree308c25d34987e9c13d3fbaa658225dc3f92bd1a1 /sources/shiboken2/ApiExtractor/messages.cpp
parent2919d4b31aba3806f31884518396ac07f98ec552 (diff)
shiboken2: Refactor property parsing
Store AbstractMetaType instead of TypeEntry in QPropertySpec for more complete type information and better parsing. Introduce a struct TypeSystemProperty to the typesystem which can be later populated from a newly introduced typesystem XML element. Rewrite the parser to first populate a TypeSystemProperty and convert it to QPropertySpec with type lookup in a second step. Change the parser algorithm to first look for any of the READ/WRITE tokens and split the tokens leading up to them into type name and property name in order to parse complex types like Q_PROPERTY(QList<QSpriteSheetItem *> sprites READ sprites.. correctly. Task-number: PYSIDE-1019 Change-Id: I942bc659cc236d31041cdc22e26a82d270599033 Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken2/ApiExtractor/messages.cpp')
-rw-r--r--sources/shiboken2/ApiExtractor/messages.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/sources/shiboken2/ApiExtractor/messages.cpp b/sources/shiboken2/ApiExtractor/messages.cpp
index 930cd2c70..031c74324 100644
--- a/sources/shiboken2/ApiExtractor/messages.cpp
+++ b/sources/shiboken2/ApiExtractor/messages.cpp
@@ -368,6 +368,16 @@ QString msgNamespaceToBeExtendedNotFound(const QString &namespaceName, const QSt
+ packageName + QLatin1Char('.');
}
+QString msgPropertyTypeParsingFailed(const QString &name, const QString &typeName,
+ const QString &why)
+{
+ QString result;
+ QTextStream str(&result);
+ str << "Unable to decide type of property: \"" << name << "\" (" << typeName
+ << "): " << why;
+ return result;
+}
+
// docparser.cpp
QString msgCannotFindDocumentation(const QString &fileName,