diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-09-22 11:54:41 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-09-23 09:18:58 +0200 |
| commit | 3b6303e59d6516d52ed11f1dcdd34da61f053dbd (patch) | |
| tree | 308c25d34987e9c13d3fbaa658225dc3f92bd1a1 /sources/shiboken2/ApiExtractor/messages.cpp | |
| parent | 2919d4b31aba3806f31884518396ac07f98ec552 (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.cpp | 10 |
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, |
