X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e572880ea8f49be6abcaec9b63dc03c5159a065e..1e256b9b45e67cc52372e15811049ab32fecb1d2:/src/bindings/java/jmsg_comm.cpp diff --git a/src/bindings/java/jmsg_comm.cpp b/src/bindings/java/jmsg_comm.cpp index 96ddecf03d..4802bd5462 100644 --- a/src/bindings/java/jmsg_comm.cpp +++ b/src/bindings/java/jmsg_comm.cpp @@ -45,19 +45,16 @@ void jcomm_bind_task(JNIEnv *env, jobject jcomm) { JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_nativeInit(JNIEnv *env, jclass cls) { jclass jfield_class_Comm = env->FindClass("org/simgrid/msg/Comm"); - if (!jfield_class_Comm) { - jxbt_throw_native(env,bprintf("Can't find the org/simgrid/msg/Comm class.")); - return; - } + xbt_assert(jfield_class_Comm, "Native initialization of msg/Comm failed. Please report that bug"); + jcomm_field_Comm_bind = jxbt_get_jfield(env, jfield_class_Comm, "bind", "J"); jcomm_field_Comm_taskBind = jxbt_get_jfield(env, jfield_class_Comm, "taskBind", "J"); jcomm_field_Comm_receiving = jxbt_get_jfield(env, jfield_class_Comm, "receiving", "Z"); jtask_field_Comm_task = jxbt_get_jfield(env, jfield_class_Comm, "task", "Lorg/simgrid/msg/Task;"); jcomm_field_Comm_finished = jxbt_get_jfield(env, jfield_class_Comm, "finished", "Z"); - if (!jcomm_field_Comm_bind || !jcomm_field_Comm_taskBind || !jcomm_field_Comm_receiving || !jtask_field_Comm_task || - !jcomm_field_Comm_finished) { - jxbt_throw_native(env,bprintf("Can't find some fields in Java class.")); - } + xbt_assert(jcomm_field_Comm_bind && jcomm_field_Comm_taskBind && jcomm_field_Comm_receiving && + jtask_field_Comm_task && jcomm_field_Comm_finished, + "Native initialization of msg/Comm failed. Please report that bug"); } JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_nativeFinalize(JNIEnv *env, jobject jcomm) { @@ -81,7 +78,7 @@ JNIEXPORT jboolean JNICALL Java_org_simgrid_msg_Comm_test(JNIEnv *env, jobject j } if (!comm) { - jxbt_throw_native(env,bprintf("comm is null")); + jxbt_throw_null(env, bprintf("comm is null")); return JNI_FALSE; } @@ -101,7 +98,7 @@ JNIEXPORT jboolean JNICALL Java_org_simgrid_msg_Comm_test(JNIEnv *env, jobject j JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_waitCompletion(JNIEnv *env, jobject jcomm, jdouble timeout) { msg_comm_t comm = (msg_comm_t) (uintptr_t) env->GetLongField(jcomm, jcomm_field_Comm_bind); if (!comm) { - jxbt_throw_native(env,bprintf("comm is null")); + jxbt_throw_null(env, bprintf("comm is null")); return; } @@ -115,7 +112,6 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_waitCompletion(JNIEnv *env, job env->SetBooleanField(jcomm, jcomm_field_Comm_finished, JNI_TRUE); if (status == MSG_OK) { jcomm_bind_task(env,jcomm); - return; } else { jmsg_throw_status(env,status); } @@ -133,7 +129,7 @@ static msg_comm_t* jarray_to_commArray(JNIEnv *env, jobjectArray jcomms, /* OUT comms[i] = (msg_comm_t) (uintptr_t) env->GetLongField(jcomm, jcomm_field_Comm_bind); if (!comms[i]) { - jxbt_throw_native(env,bprintf("comm at rank %d is null",i)); + jxbt_throw_null(env, bprintf("comm at rank %d is null", i)); return nullptr; }