Add check JNI tests for byte and 16-bit primitives.

Make boolean checking check 32-bit values in case of truncation.
Add unit test for out-of-bound primitive call values.
Make reflection's ArgArray anonymous as per more recent cppstyle and
address other minor style issues.
Test: mma -j32 test-art-host; boot (eng) emulator and check logcat is clean

Bug: 73656264
Change-Id: If7947e24ec3fe3303c1d3d0545605e82f651de25
diff --git a/runtime/reflection.cc b/runtime/reflection.cc
index 635a03a..068bc28 100644
--- a/runtime/reflection.cc
+++ b/runtime/reflection.cc
@@ -35,6 +35,7 @@
 #include "well_known_classes.h"
 
 namespace art {
+namespace {
 
 using android::base::StringPrintf;
 
@@ -157,6 +158,7 @@
           Append(args[args_offset].s);
           break;
         case 'I':
+          FALLTHROUGH_INTENDED;
         case 'F':
           Append(args[args_offset].i);
           break;
@@ -164,6 +166,7 @@
           Append(soa.Decode<mirror::Object>(args[args_offset].l));
           break;
         case 'D':
+          FALLTHROUGH_INTENDED;
         case 'J':
           AppendWide(args[args_offset].j);
           break;
@@ -361,7 +364,7 @@
   std::unique_ptr<uint32_t[]> large_arg_array_;
 };
 
-static void CheckMethodArguments(JavaVMExt* vm, ArtMethod* m, uint32_t* args)
+void CheckMethodArguments(JavaVMExt* vm, ArtMethod* m, uint32_t* args)
     REQUIRES_SHARED(Locks::mutator_lock_) {
   const DexFile::TypeList* params = m->GetParameterTypeList();
   if (params == nullptr) {
@@ -436,13 +439,13 @@
   }
 }
 
-static ArtMethod* FindVirtualMethod(ObjPtr<mirror::Object> receiver, ArtMethod* method)
+ArtMethod* FindVirtualMethod(ObjPtr<mirror::Object> receiver, ArtMethod* method)
     REQUIRES_SHARED(Locks::mutator_lock_) {
   return receiver->GetClass()->FindVirtualMethodForVirtualOrInterface(method, kRuntimePointerSize);
 }
 
 
-static void InvokeWithArgArray(const ScopedObjectAccessAlreadyRunnable& soa,
+void InvokeWithArgArray(const ScopedObjectAccessAlreadyRunnable& soa,
                                ArtMethod* method, ArgArray* arg_array, JValue* result,
                                const char* shorty)
     REQUIRES_SHARED(Locks::mutator_lock_) {
@@ -453,6 +456,8 @@
   method->Invoke(soa.Self(), args, arg_array->GetNumBytes(), result, shorty);
 }
 
+}  // anonymous namespace
+
 JValue InvokeWithVarArgs(const ScopedObjectAccessAlreadyRunnable& soa, jobject obj, jmethodID mid,
                          va_list args)
     REQUIRES_SHARED(Locks::mutator_lock_) {