qt5base-lts/tests/auto
Volker Hilsheimer a085a14d76 Generate JNI signature strings at compile time
Introduce an internal QtJniTypes namespace with types that allow us to
concatenate string literals at compile time. This makes it possible to
generate arbitrary strings based on types, which we can then use as
signatures to JNI method calls.

Move some of the private members of QJniObject into the QtJniTypes
namespace for consistency, and to allow further template specialization
by user code to make other types and their JNI signature string known.
Remove the "Jni" prefix from names.

Use the compile-time generated string in QJniObject methods that created
the signature string at runtime, which involved a temporary memory
allocation.

Treat 'void' as a primitive type (with signature string 'V'), and
remove redundant template specializations.

Add a test case to verify the the strings are constructed correctly
at compile time.

Change-Id: I5e3895a97f7dc1b86961f7a7855b899d9203037d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-05-05 07:29:25 +02:00
..
bic/data Add BC files for 6.2.0 2022-01-07 13:31:38 +00: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 Generate JNI signature strings at compile time 2022-05-05 07:29:25 +02:00
dbus Add test-helper as dependency to tst_qdbusinterface 2022-05-04 12:14:49 +00:00
gui Optimize the QPalette::resolve from the other palette 2022-04-28 09:24:39 +02:00
guiapplauncher Move QStateMachine from QtCore to QtScxml 2020-08-24 20:10:25 +02:00
network Blacklist: test cases blacklisted in tst_QTcpServer: 2022-05-04 05:08:37 +00:00
opengl Remove the qmake project files 2021-01-07 15:32:28 +01:00
other Windows QPA: Fix slowdown with large table/tree views with accessibility 2022-03-31 09:04:09 -03: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 Replace uses of _qs with _s in tests 2022-04-07 19:30:17 +02:00
tools uic: use C string literals for setObjectName() 2022-03-18 18:35:03 +01:00
widgets Blacklist: test cases blacklisted in tst_QDockWidget: 2022-05-04 05:08:34 +00:00
xml Replace remaining uses of deprecated _qs with _s 2022-05-02 12:23:44 +02:00
CMakeLists.txt Don't build tests/auto/tools when cross-compiling 2021-10-07 08:03:40 +02:00
network-settings.h Fix check for IPV6 support without certain features 2022-02-28 22:08:21 +00:00