diff --git a/src/corelib/kernel/qjniobject.h b/src/corelib/kernel/qjniobject.h index 835052eb5b..12cab4f360 100644 --- a/src/corelib/kernel/qjniobject.h +++ b/src/corelib/kernel/qjniobject.h @@ -73,7 +73,7 @@ public: QJniEnvironment env; jmethodID id = getCachedMethodID(env.jniEnv(), methodName, signature); if (id) { - if constexpr (std::is_same::value) { + if constexpr (std::is_same_v) { callVoidMethodV(env.jniEnv(), id, std::forward(args)...); env.checkAndClearExceptions(); } else { @@ -84,7 +84,7 @@ public: return res; } } - if constexpr (!std::is_same::value) + if constexpr (!std::is_same_v) return Ret{}; } } @@ -93,7 +93,7 @@ public: auto callMethod(const char *methodName, Args &&...args) const { constexpr auto signature = QtJniTypes::methodSignature(); - if constexpr (std::is_same::value) { + if constexpr (std::is_same_v) { callMethod(methodName, signature.data(), std::forward(args)...); } else { return callMethod(methodName, signature.data(), std::forward(args)...); @@ -135,7 +135,7 @@ public: QtJniTypes::assertPrimitiveType(); QJniEnvironment env; if (clazz && methodId) { - if constexpr (std::is_same::value) { + if constexpr (std::is_same_v) { callStaticMethodForVoid(env.jniEnv(), clazz, methodId, std::forward(args)...); env.checkAndClearExceptions(); } else { @@ -146,7 +146,7 @@ public: return res; } } - if constexpr (!std::is_same::value) + if constexpr (!std::is_same_v) return Ret{}; } } @@ -452,21 +452,21 @@ private: va_list args = {}; va_start(args, id); - if constexpr(std::is_same::value) + if constexpr (std::is_same_v) res = env->CallBooleanMethodV(obj, id, args); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->CallByteMethodV(obj, id, args); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->CallCharMethodV(obj, id, args); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->CallShortMethodV(obj, id, args); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->CallIntMethodV(obj, id, args); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->CallLongMethodV(obj, id, args); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->CallFloatMethodV(obj, id, args); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->CallDoubleMethodV(obj, id, args); else QtJniTypes::staticAssertTypeMismatch(); @@ -479,21 +479,21 @@ private: { va_list args = {}; va_start(args, id); - if constexpr(std::is_same::value) + if constexpr (std::is_same_v) res = env->CallStaticBooleanMethodV(clazz, id, args); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->CallStaticByteMethodV(clazz, id, args); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->CallStaticCharMethodV(clazz, id, args); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->CallStaticShortMethodV(clazz, id, args); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->CallStaticIntMethodV(clazz, id, args); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->CallStaticLongMethodV(clazz, id, args); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->CallStaticFloatMethodV(clazz, id, args); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->CallStaticDoubleMethodV(clazz, id, args); else QtJniTypes::staticAssertTypeMismatch(); @@ -513,21 +513,21 @@ private: static constexpr void getFieldForType(JNIEnv *env, T &res, jobject obj, jfieldID id) { - if constexpr(std::is_same::value) + if constexpr (std::is_same_v) res = env->GetBooleanField(obj, id); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->GetByteField(obj, id); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->GetCharField(obj, id); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->GetShortField(obj, id); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->GetIntField(obj, id); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->GetLongField(obj, id); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->GetFloatField(obj, id); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->GetDoubleField(obj, id); else QtJniTypes::staticAssertTypeMismatch(); @@ -537,21 +537,21 @@ private: static constexpr void getStaticFieldForType(JNIEnv *env, T &res, jclass clazz, jfieldID id) { - if constexpr(std::is_same::value) + if constexpr (std::is_same_v) res = env->GetStaticBooleanField(clazz, id); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->GetStaticByteField(clazz, id); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->GetStaticCharField(clazz, id); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->GetStaticShortField(clazz, id); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->GetStaticIntField(clazz, id); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->GetStaticLongField(clazz, id); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->GetStaticFloatField(clazz, id); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) res = env->GetStaticDoubleField(clazz, id); else QtJniTypes::staticAssertTypeMismatch(); @@ -561,23 +561,23 @@ private: static constexpr void setFieldForType(JNIEnv *env, jobject obj, jfieldID id, T value) { - if constexpr(std::is_same::value) + if constexpr (std::is_same_v) env->SetBooleanField(obj, id, value); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) env->SetByteField(obj, id, value); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) env->SetCharField(obj, id, value); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) env->SetShortField(obj, id, value); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) env->SetIntField(obj, id, value); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) env->SetLongField(obj, id, value); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) env->SetFloatField(obj, id, value); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) env->SetDoubleField(obj, id, value); - else if constexpr(std::is_convertible::value) + else if constexpr (std::is_convertible_v) env->SetObjectField(obj, id, value); else QtJniTypes::staticAssertTypeMismatch(); @@ -587,23 +587,23 @@ private: static constexpr void setStaticFieldForType(JNIEnv *env, jclass clazz, jfieldID id, T value) { - if constexpr(std::is_same::value) + if constexpr (std::is_same_v) env->SetStaticBooleanField(clazz, id, value); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) env->SetStaticByteField(clazz, id, value); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) env->SetStaticCharField(clazz, id, value); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) env->SetStaticShortField(clazz, id, value); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) env->SetStaticIntField(clazz, id, value); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) env->SetStaticLongField(clazz, id, value); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) env->SetStaticFloatField(clazz, id, value); - else if constexpr(std::is_same::value) + else if constexpr (std::is_same_v) env->SetStaticDoubleField(clazz, id, value); - else if constexpr(std::is_convertible::value) + else if constexpr (std::is_convertible_v) env->SetStaticObjectField(clazz, id, value); else QtJniTypes::staticAssertTypeMismatch(); diff --git a/src/corelib/kernel/qjnitypes.h b/src/corelib/kernel/qjnitypes.h index 9c2e1efb77..61dfe7bb89 100644 --- a/src/corelib/kernel/qjnitypes.h +++ b/src/corelib/kernel/qjnitypes.h @@ -148,72 +148,72 @@ static void staticAssertTypeMismatch() template constexpr auto typeSignature() { - if constexpr(std::is_array_v) { - using UnderlyingType = typename std::remove_extent::type; + if constexpr (std::is_array_v) { + using UnderlyingType = typename std::remove_extent_t; static_assert(!std::is_array_v, "typeSignature() does not handle multi-dimensional arrays"); return String("[") + typeSignature(); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("Ljava/lang/Object;"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("Ljava/lang/Class;"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("Ljava/lang/String;"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("[Ljava/lang/Object;"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("Ljava/lang/Throwable;"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("[Z"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("[B"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("[S"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("[I"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("[J"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("[F"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("[D"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("[C"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("Z"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("Z"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("B"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("C"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("C"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("S"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("S"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("I"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("I"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("I"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("J"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("J"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("F"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("F"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("D"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("D"); - } else if constexpr(std::is_same_v) { + } else if constexpr (std::is_same_v) { return String("V"); - } else if constexpr(IsStringType::value) { + } else if constexpr (IsStringType::value) { static_assert(!IsStringType::value, "Don't use a literal type, call data!"); } else { staticAssertTypeMismatch(); @@ -229,7 +229,7 @@ static void staticAssertClassNotRegistered() template constexpr auto className() { - if constexpr(std::is_same::value) + if constexpr (std::is_same_v) return String("java/lang/String"); else staticAssertClassNotRegistered(); @@ -244,7 +244,7 @@ static constexpr bool isPrimitiveType() template static constexpr bool isObjectType() { - if constexpr(std::is_convertible::value) { + if constexpr (std::is_convertible_v) { return true; } else { constexpr auto signature = typeSignature();