aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlcompiler/qqmljsfunctioninitializer.cpp
diff options
context:
space:
mode:
authorMaximilian Goldstein <max.goldstein@qt.io>2021-12-10 14:50:55 +0100
committerMaximilian Goldstein <max.goldstein@qt.io>2021-12-13 18:20:33 +0100
commite83fd85cce26823c6289a32fd5f7a0fa87639407 (patch)
tree0d194b2eb054b91531b9d1c22a0c490641c0cd25 /src/qmlcompiler/qqmljsfunctioninitializer.cpp
parent9f8b118bd1ae609020f80948fbd50c3a71a3956e (diff)
qqmljstypepropagator: Use variant type for arguments of unknown type
Previously those function arguments would result in an invalid type being used which lead to crashes when invoking methods using those arguments. Pick-to: 6.3 Fixes: QTBUG-99027 Change-Id: I27e643f2512e1542d766b5fe98adfee043245c6f Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qmlcompiler/qqmljsfunctioninitializer.cpp')
-rw-r--r--src/qmlcompiler/qqmljsfunctioninitializer.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/qmlcompiler/qqmljsfunctioninitializer.cpp b/src/qmlcompiler/qqmljsfunctioninitializer.cpp
index 0139071cc0..8cd3bb3536 100644
--- a/src/qmlcompiler/qqmljsfunctioninitializer.cpp
+++ b/src/qmlcompiler/qqmljsfunctioninitializer.cpp
@@ -94,10 +94,12 @@ void QQmlJSFunctionInitializer::populateSignature(
if (const auto type = m_typeResolver->typeFromAST(argument.typeAnnotation->type)) {
function->argumentTypes.append(type);
} else {
+ function->argumentTypes.append(m_typeResolver->varType());
signatureError(u"Cannot resolve the argument type %1."_qs
.arg(argument.typeAnnotation->type->toString()));
}
} else {
+ function->argumentTypes.append(m_typeResolver->varType());
signatureError(u"Functions without type annotations won't be compiled"_qs);
}
}