summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2023-09-17 13:19:52 +0200
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2023-09-26 19:58:25 +0200
commit281f499b2025a0bf84ae62f1bb2e8a8ae4e6d2e4 (patch)
tree5a824c95bf2c1921b4db287aa192a1243c1beb3d
parent74b67c8f844baff744acbd2cdc69e5ef0384ac16 (diff)
JNI: remove compatibility alias for CTString
Add compile-time testing to make sure that we can declare a JNI class String that maps to java/lang/String. Change-Id: I2b68b2b46112e56b279f3fcddc3d71847a005924 Reviewed-by: Petri Virkkunen <petri.virkkunen@qt.io> Reviewed-by: Zoltan Gera <zoltan.gera@qt.io> Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
-rw-r--r--src/corelib/kernel/qjnitypes_impl.h4
-rw-r--r--tests/auto/corelib/kernel/qjnitypes/tst_qjnitypes.cpp6
2 files changed, 6 insertions, 4 deletions
diff --git a/src/corelib/kernel/qjnitypes_impl.h b/src/corelib/kernel/qjnitypes_impl.h
index 5f87c97e5b..feab8c4781 100644
--- a/src/corelib/kernel/qjnitypes_impl.h
+++ b/src/corelib/kernel/qjnitypes_impl.h
@@ -131,10 +131,6 @@ struct CTString
}
};
-// compatibility alias until submodules are ported
-template<size_t N_WITH_NULL, typename BaseType = char>
-using String = CTString<N_WITH_NULL, BaseType>;
-
// Helper types that allow us to disable variadic overloads that would conflict
// with overloads that take a const char*.
template<typename T, size_t N = 0> struct IsStringType : std::false_type {};
diff --git a/tests/auto/corelib/kernel/qjnitypes/tst_qjnitypes.cpp b/tests/auto/corelib/kernel/qjnitypes/tst_qjnitypes.cpp
index cbffb24ff8..856368355c 100644
--- a/tests/auto/corelib/kernel/qjnitypes/tst_qjnitypes.cpp
+++ b/tests/auto/corelib/kernel/qjnitypes/tst_qjnitypes.cpp
@@ -56,6 +56,12 @@ static_assert(QtJniTypes::Traits<QtJniTypes::JavaType>::signature() == "Lorg/qtp
Q_DECLARE_JNI_TYPE(ArrayType, "[Lorg/qtproject/qt/ArrayType;")
static_assert(QtJniTypes::Traits<QtJniTypes::ArrayType>::signature() == "[Lorg/qtproject/qt/ArrayType;");
+Q_DECLARE_JNI_CLASS(String, "java/lang/String");
+static_assert(QtJniTypes::Traits<jstring>::className() == "java/lang/String");
+static_assert(QtJniTypes::Traits<QtJniTypes::String>::className() == "java/lang/String");
+static_assert(QtJniTypes::Traits<QtJniTypes::String>::signature() == "Ljava/lang/String;");
+static_assert(QtJniTypes::Traits<QtJniTypes::String[]>::signature() == "[Ljava/lang/String;");
+
Q_DECLARE_JNI_CLASS(QtTextToSpeech, "org/qtproject/qt/android/speech/QtTextToSpeech")
static_assert(QtJniTypes::Traits<QtJniTypes::QtTextToSpeech>::className() == "org/qtproject/qt/android/speech/QtTextToSpeech");