diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-05-18 16:45:35 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-05-18 16:45:35 +0200 |
| commit | 3f8c8702ea295f39357e7c66f46e5138f56bcc9f (patch) | |
| tree | 9ca65a7f94d544ba4b36f239c4a48852ad8a7b09 /sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp | |
| parent | 5fce76074c01e52a22151133a1e3a2cf71cfe535 (diff) | |
| parent | df1a619d65d8e5db91f3c8db46b00872b461e334 (diff) | |
Merge remote-tracking branch 'origin/5.9' into 5.11
Change-Id: I20cf741f5b07426ad5113eb8c52f144102c331ce
Diffstat (limited to 'sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp')
| -rw-r--r-- | sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp | 40 |
1 files changed, 29 insertions, 11 deletions
diff --git a/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp b/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp index 8e1732be9..23feeafad 100644 --- a/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp +++ b/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp @@ -1878,6 +1878,12 @@ static inline QString msgUnmatchedParameterType(const ArgumentModelItem &arg, in return result; } +static inline QString msgUnmatchedReturnType(const FunctionModelItem &functionItem) +{ + return QLatin1String("unmatched return type '") + + functionItem->type().toString() + QLatin1Char('\''); +} + static inline QString msgVoidParameterType(const ArgumentModelItem &arg, int n) { QString result; @@ -1888,6 +1894,22 @@ static inline QString msgVoidParameterType(const ArgumentModelItem &arg, int n) return result; } +static QString msgSkippingFunction(const FunctionModelItem &functionItem, + const QString &signature, const QString &why) +{ + QString result; + QTextStream str(&result); + str << "skipping "; + if (functionItem->isAbstract()) + str << "abstract "; + str << "function '" << signature << "', " << why; + if (functionItem->isAbstract()) { + str << "\nThis will lead to compilation errors due to not " + "being able to instantiate the wrapper."; + } + return result; +} + static inline AbstractMetaFunction::FunctionType functionTypeFromCodeModel(CodeModel::FunctionType ft) { AbstractMetaFunction::FunctionType result = AbstractMetaFunction::NormalFunction; @@ -2048,13 +2070,11 @@ AbstractMetaFunction *AbstractMetaBuilderPrivate::traverseFunction(FunctionModel bool ok; AbstractMetaType *type = translateType(returnType, &ok); - if (!ok) { Q_ASSERT(type == 0); - qCWarning(lcShiboken).noquote().nospace() - << QStringLiteral("skipping function '%1', unmatched return type '%2'") - .arg(originalQualifiedSignatureWithReturn, - functionItem->type().toString()); + const QString reason = msgUnmatchedReturnType(functionItem); + qCWarning(lcShiboken, "%s", + qPrintable(msgSkippingFunction(functionItem, originalQualifiedSignatureWithReturn, reason))); m_rejectedFunctions.insert(originalQualifiedSignatureWithReturn, AbstractMetaBuilder::UnmatchedReturnType); delete metaFunction; return nullptr; @@ -2104,9 +2124,8 @@ AbstractMetaFunction *AbstractMetaBuilderPrivate::traverseFunction(FunctionModel } Q_ASSERT(metaType == 0); const QString reason = msgUnmatchedParameterType(arg, i); - qCWarning(lcShiboken).noquote().nospace() - << QStringLiteral("skipping function '%1', %2") - .arg(originalQualifiedSignatureWithReturn, reason); + qCWarning(lcShiboken, "%s", + qPrintable(msgSkippingFunction(functionItem, originalQualifiedSignatureWithReturn, reason))); const QString rejectedFunctionSignature = originalQualifiedSignatureWithReturn + QLatin1String(": ") + reason; m_rejectedFunctions.insert(rejectedFunctionSignature, AbstractMetaBuilder::UnmatchedArgumentType); @@ -2116,9 +2135,8 @@ AbstractMetaFunction *AbstractMetaBuilderPrivate::traverseFunction(FunctionModel if (metaType == Q_NULLPTR) { const QString reason = msgVoidParameterType(arg, i); - qCWarning(lcShiboken).noquote().nospace() - << QString::fromLatin1("skipping function '%1': %2") - .arg(originalQualifiedSignatureWithReturn, reason); + qCWarning(lcShiboken, "%s", + qPrintable(msgSkippingFunction(functionItem, originalQualifiedSignatureWithReturn, reason))); const QString rejectedFunctionSignature = originalQualifiedSignatureWithReturn + QLatin1String(": ") + reason; m_rejectedFunctions.insert(rejectedFunctionSignature, AbstractMetaBuilder::UnmatchedArgumentType); |
