Java FFI: enable inserting additionnal Java files to a project
[nit.git] / lib / java.nit
index 4ea319c..de82015 100644 (file)
@@ -49,7 +49,6 @@ redef class Sys
        fun jvm=(jvm: JavaVM) do jvm_cache = jvm
 
        # Current main `JniEnv`
-       # FIXME support threaded Java
        fun jni_env: JniEnv
        do
                if jni_env_cache == null then create_default_jvm
@@ -157,4 +156,11 @@ redef extern class JavaObject
                JNIEnv *env = Sys_jni_env(sys);
                (*env)->DeleteGlobalRef(env, recv);
        `}
+
+       # Delete this local reference
+       fun delete_local_ref import sys, Sys.jni_env `{
+               Sys sys = JavaObject_sys(recv);
+               JNIEnv *env = Sys_jni_env(sys);
+               (*env)->DeleteLocalRef(env, recv);
+       `}
 end