aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlcompiler/qqmljsfunctioninitializer.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2021-12-01 19:05:51 +0100
committerUlf Hermann <ulf.hermann@qt.io>2021-12-06 19:35:50 +0100
commit1003626e6ac98bc2a1eb0d2ed5df8727612f37ae (patch)
treebdae1ee9ecf9396cd214cc0cb6f04dca9b6072be /src/qmlcompiler/qqmljsfunctioninitializer.cpp
parentf8f50d12dcefa4d7d6a7fbc56d973f68c6b9b0ae (diff)
QmlCompiler: Fix return type calculation
We can return void from a function, explicitly or implicitly, and we need to be able to wrap that into a QVariant. In order to explicitly return void, we need the void type to be exposed and understood. Pick-to: 6.2 Change-Id: I513cabb25469b89a85b5d212a6825a037400729d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qmlcompiler/qqmljsfunctioninitializer.cpp')
-rw-r--r--src/qmlcompiler/qqmljsfunctioninitializer.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/qmlcompiler/qqmljsfunctioninitializer.cpp b/src/qmlcompiler/qqmljsfunctioninitializer.cpp
index f7b2f26f04..0139071cc0 100644
--- a/src/qmlcompiler/qqmljsfunctioninitializer.cpp
+++ b/src/qmlcompiler/qqmljsfunctioninitializer.cpp
@@ -107,7 +107,8 @@ void QQmlJSFunctionInitializer::populateSignature(
if (ast->typeAnnotation) {
function->returnType = m_typeResolver->typeFromAST(ast->typeAnnotation->type);
if (!function->returnType)
- signatureError(u"Cannot resolve return type"_qs);
+ signatureError(u"Cannot resolve return type %1"_qs.arg(
+ QmlIR::IRBuilder::asString(ast->typeAnnotation->type->typeId)));
}
}