qt6-bb10/tests/auto/corelib/kernel
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
..
qapplicationstatic Introduce Q_APPLICATION_STATIC 2021-11-18 20:53:27 +01:00
qcoreapplication Set version for tst_qguiapplication and tst_qcoreapplication 2022-02-17 15:51:29 +01:00
qdeadlinetimer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qelapsedtimer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qeventdispatcher Make QUnixEventDispatcherQPA XFAIL the test 2022-03-25 22:52:33 +01:00
qeventloop Compile autotests for Integrity 2021-09-20 17:29:04 +03:00
qjnienvironment Add variadic template overloads for QJniObject/Environment methods 2022-05-13 18:13:49 +02:00
qjniobject Add variadic template overloads for QJniObject/Environment methods 2022-05-13 18:13:49 +02:00
qjnitypes Generate JNI signature strings at compile time 2022-05-05 07:29:25 +02:00
qmath Make large inputs to qNextPowerOfTwo give undefined output 2022-02-17 17:20:34 +00:00
qmetacontainer Tests: Do not depend on transitive includes 2022-03-17 17:14:37 +01:00
qmetaenum Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmetamethod QMetaMethod: Store method constness in metaobject system 2021-05-07 21:50:58 +02:00
qmetaobject Remove checks for features available in C++17 2021-10-02 17:54:39 +02:00
qmetaobjectbuilder QMetaObjectBuilder: Always set Data::metatypes 2022-03-02 10:43:49 +01:00
qmetaproperty Tests: Do not depend on transitive includes 2022-03-17 17:14:37 +01:00
qmetatype QMetaType: Fix normalization on MSVC if name contains enum 2022-05-12 08:17:54 +02:00
qmimedata Remove the qmake project files 2021-01-07 15:32:28 +01:00
qobject Remove remnants of the old Intel C++ compiler 2022-05-11 12:50:08 -07:00
qpointer Fix autotest runtime failures on INTEGRITY 2021-12-16 19:45:08 +02:00
qproperty Replace uses of _qs with _s in tests 2022-04-07 19:30:17 +02:00
qsharedmemory Core: Fix tests that did break because QProcess security fix 2022-02-24 09:49:52 +02:00
qsignalblocker Remove the qmake project files 2021-01-07 15:32:28 +01:00
qsignalmapper Remove the qmake project files 2021-01-07 15:32:28 +01:00
qsocketnotifier CMake: Remove the usage of QT_SOURCE_TREE from tests 2021-07-12 18:56:14 +02:00
qsystemsemaphore Revert "Blacklist: test cases blacklisted in tst_QSystemSemaphore:" 2022-04-01 08:00:39 +00:00
qtimer Include qproperty.h where needed 2021-11-04 21:45:02 +01:00
qtranslator tst_qtranslator: fix memleak 2022-01-03 11:22:53 +00:00
qvariant Tests: Do not depend on transitive includes 2022-03-17 17:14:37 +01:00
qwineventnotifier Repair tst_qwineventnotifier 2021-03-29 15:54:05 +02:00
CMakeLists.txt Generate JNI signature strings at compile time 2022-05-05 07:29:25 +02:00