[PPL-devel] [GIT] ppl/ppl(master): Convert C++ Variable id' s to jlong before passing them to Java methods.

Enea Zaffanella enea.zaffanella at bugseng.com
Mon Sep 9 16:16:00 CEST 2013


Module: ppl/ppl
Branch: master
Commit: 30478fbeb75f3e675ec0b3eff32f0a8dd7991f7a
URL:    http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=30478fbeb75f3e675ec0b3eff32f0a8dd7991f7a

Author: Enea Zaffanella <enea.zaffanella at bugseng.com>
Date:   Mon Sep  9 13:44:17 2013 +0200

Convert C++ Variable id's to jlong before passing them to Java methods.

---

 interfaces/Java/jni/ppl_java_common.cc         |    5 +++--
 interfaces/Java/jni/ppl_java_common_inlines.hh |    3 ++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/interfaces/Java/jni/ppl_java_common.cc b/interfaces/Java/jni/ppl_java_common.cc
index faea99b..c357cd6 100644
--- a/interfaces/Java/jni/ppl_java_common.cc
+++ b/interfaces/Java/jni/ppl_java_common.cc
@@ -413,7 +413,7 @@ jobject
 bool_to_j_boolean_class(JNIEnv* env, const bool value) {
   jobject ret = env->CallStaticObjectMethod(cached_classes.Boolean,
                                             cached_FMIDs.Boolean_valueOf_ID,
-                                            value);
+                                            static_cast<jboolean>(value));
   CHECK_EXCEPTION_ASSERT(env);
   return ret;
 }
@@ -1231,8 +1231,9 @@ Java_Variable_output_function(std::ostream& s, Variable v) {
     CHECK_RESULT_ASSERT(env, mID == dyn_mID);
   }
 #endif // #ifndef NDEBUG
+  jlong j_var_id = v.id();
   jstring bi_string
-    = (jstring) env->CallObjectMethod(stringifier, mID, v.id());
+    = (jstring) env->CallObjectMethod(stringifier, mID, j_var_id);
   CHECK_EXCEPTION_THROW(env);
   // Convert the string and print it on C++ stream.
   const char* nativeString = env->GetStringUTFChars(bi_string, 0);
diff --git a/interfaces/Java/jni/ppl_java_common_inlines.hh b/interfaces/Java/jni/ppl_java_common_inlines.hh
index 3f3c8f0..d23cd30 100644
--- a/interfaces/Java/jni/ppl_java_common_inlines.hh
+++ b/interfaces/Java/jni/ppl_java_common_inlines.hh
@@ -152,9 +152,10 @@ build_cxx_variable(JNIEnv* env, jobject j_var) {
 
 inline jobject
 build_java_variable(JNIEnv* env, const Variable var) {
+  jlong j_var_id = var.id();
   jobject ret = env->NewObject(cached_classes.Variable,
                                cached_FMIDs.Variable_init_ID,
-                               var.id());
+                               j_var_id);
   CHECK_RESULT_THROW(env, ret);
   return ret;
 }




More information about the PPL-devel mailing list