diff --git a/src/corelib/kernel/qjnitypes_impl.h b/src/corelib/kernel/qjnitypes_impl.h index a7a3a30b2a..97be4f4394 100644 --- a/src/corelib/kernel/qjnitypes_impl.h +++ b/src/corelib/kernel/qjnitypes_impl.h @@ -243,6 +243,13 @@ static constexpr bool isPrimitiveType() return typeSignature().size() == 2; } +template +static constexpr bool isArrayType() +{ + constexpr auto signature = typeSignature(); + return signature.startsWith('[') && signature.size() > 2; +} + template static constexpr bool isObjectType() { @@ -250,18 +257,10 @@ static constexpr bool isObjectType() return true; } else { constexpr auto signature = typeSignature(); - return (signature.startsWith('L') || signature.startsWith('[')) - && signature.endsWith(';'); + return (signature.startsWith('L') && signature.endsWith(';')) || isArrayType(); } } -template -static constexpr bool isArrayType() -{ - constexpr auto signature = typeSignature(); - return signature.startsWith('['); -} - template static constexpr void assertObjectType() {