qt5base-lts/tests/auto
Volker Hilsheimer 601dbd6499 Add variadic template overloads for QJniObject/Environment methods
This allows the compiler to deduce the template arguments based on the
provided method parameters, which we can then pass to the methodSignature
and fieldSignature helpers to generate the signature string completely at
compile time.

Since we can't partially specialize template member functions, replace
the specializations for void methods with compile-time-if branches in
the general templates.

This variadic template now prevents implicit conversion from the
LiteralStorage types to const char* signatures, so catch the case where
such a type ends up in the parameter list.

Due to overload resolution rules for constructors, we need to explicitly
disable the constructor if any of the arguments is a string literal type,
as we have to keep the old C-style variadic function working for such
calls.

Add variations that use the variadic templates to the unit tests.

Change-Id: I8734664b38bae932369462330a9a03302254c33c
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-05-13 18:13:49 +02:00
..
bic/data Add BiC data for the new way to do BiC testing 2022-05-12 13:33:41 +03:00
cmake CMake: Add deployment auto test 2022-03-16 15:56:17 +01:00
concurrent Tests: Do not depend on transitive includes 2022-03-17 17:14:37 +01:00
corelib Add variadic template overloads for QJniObject/Environment methods 2022-05-13 18:13:49 +02:00
dbus Add test-helper as dependency to tst_qdbusinterface 2022-05-04 12:14:49 +00:00
gui QPolygon: add toPolygonF() 2022-05-10 15:51:04 +02:00
guiapplauncher Move QStateMachine from QtCore to QtScxml 2020-08-24 20:10:25 +02:00
network Exclude network tests based on feature 2022-05-11 20:14:39 +02:00
opengl Remove the qmake project files 2021-01-07 15:32:28 +01:00
other Remove remnants of the old Intel C++ compiler 2022-05-11 12:50:08 -07:00
printsupport QtBase: replace windows.h with qt_windows.h 2021-11-23 12:53:46 +08:00
shared Remove false Q_UNREACHABLE from shaping code 2021-02-03 09:44:44 +01:00
sql Replace uses of _qba with _ba 2022-04-07 19:30:17 +02:00
testlib Remove remnants of the old Intel C++ compiler 2022-05-11 12:50:08 -07:00
tools uic: use C string literals for setObjectName() 2022-03-18 18:35:03 +01:00
widgets Remove remnants of the old Intel C++ compiler 2022-05-11 12:50:08 -07:00
xml Replace remaining uses of deprecated _qs with _s 2022-05-02 12:23:44 +02:00
CMakeLists.txt Only configure one test for wasm 2022-05-12 18:55:04 +02:00
network-settings.h Fix check for IPV6 support without certain features 2022-02-28 22:08:21 +00:00