comparison libinterp/octave-value/ov-java.cc @ 15816:59b6c6aee042

Don't box return values from javaObject. Always return a Java object. * libinterp/octave-value/ov-java.cc(do_javaObject): Don't call box() on newly created Java object. * scripts/general/fieldnames.m: Work-around bug with java.lang.String objects by calling getFields with class name rather than object. * scripts/general/methods.m: Work-around bug with java.lang.String objects by calling getMethods with class name rather than object.
author Rik <rik@octave.org>
date Tue, 18 Dec 2012 11:54:57 -0800
parents f28b3dcbaa9a
children 00172e5c2302
comparison
equal deleted inserted replaced
15815:f28b3dcbaa9a 15816:59b6c6aee042
1791 jstring_ref clsName (jni_env, jni_env->NewStringUTF (name.c_str ())); 1791 jstring_ref clsName (jni_env, jni_env->NewStringUTF (name.c_str ()));
1792 jobject_ref resObj (jni_env, jni_env->CallStaticObjectMethod (helperClass, mID, 1792 jobject_ref resObj (jni_env, jni_env->CallStaticObjectMethod (helperClass, mID,
1793 jstring (clsName), jobjectArray (arg_objs), jobjectArray (arg_types))); 1793 jstring (clsName), jobjectArray (arg_objs), jobjectArray (arg_types)));
1794 1794
1795 if (resObj) 1795 if (resObj)
1796 retval = box (jni_env, resObj); 1796 retval = octave_value (new octave_java (resObj, 0));
1797 else 1797 else
1798 check_exception (jni_env); 1798 check_exception (jni_env);
1799 } 1799 }
1800 } 1800 }
1801 1801