507 return JNI_TRUE;
508 }
509
510 WITH_LOCAL_REFS(env, 1) {
511
512 jclass arrayClass;
513 char *signature = NULL;
514 char *componentSignature;
515 jvmtiError error;
516
517 arrayClass = JNI_FUNC_PTR(env,GetObjectClass)(env, array);
518 error = classSignature(arrayClass, &signature, NULL);
519 if (error != JVMTI_ERROR_NONE) {
520 goto err;
521 }
522 componentSignature = &signature[1];
523
524 switch (componentSignature[0]) {
525 case JDWP_TAG(OBJECT):
526 case JDWP_TAG(ARRAY):
527 serror = readObjectComponents(env, in, array, index, length);
528 break;
529
530 case JDWP_TAG(BYTE):
531 serror = readByteComponents(env, in, array, index, length);
532 break;
533
534 case JDWP_TAG(CHAR):
535 serror = readCharComponents(env, in, array, index, length);
536 break;
537
538 case JDWP_TAG(FLOAT):
539 serror = readFloatComponents(env, in, array, index, length);
540 break;
541
542 case JDWP_TAG(DOUBLE):
543 serror = readDoubleComponents(env, in, array, index, length);
544 break;
545
546 case JDWP_TAG(INT):
|
507 return JNI_TRUE;
508 }
509
510 WITH_LOCAL_REFS(env, 1) {
511
512 jclass arrayClass;
513 char *signature = NULL;
514 char *componentSignature;
515 jvmtiError error;
516
517 arrayClass = JNI_FUNC_PTR(env,GetObjectClass)(env, array);
518 error = classSignature(arrayClass, &signature, NULL);
519 if (error != JVMTI_ERROR_NONE) {
520 goto err;
521 }
522 componentSignature = &signature[1];
523
524 switch (componentSignature[0]) {
525 case JDWP_TAG(OBJECT):
526 case JDWP_TAG(ARRAY):
527 case JDWP_TAG(INLINE_OBJECT):
528 serror = readObjectComponents(env, in, array, index, length);
529 break;
530
531 case JDWP_TAG(BYTE):
532 serror = readByteComponents(env, in, array, index, length);
533 break;
534
535 case JDWP_TAG(CHAR):
536 serror = readCharComponents(env, in, array, index, length);
537 break;
538
539 case JDWP_TAG(FLOAT):
540 serror = readFloatComponents(env, in, array, index, length);
541 break;
542
543 case JDWP_TAG(DOUBLE):
544 serror = readDoubleComponents(env, in, array, index, length);
545 break;
546
547 case JDWP_TAG(INT):
|