static void n_Function_Lorg_jocl_cl_program_Ljava_lang_Object_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1)
 {
     global::Org.Jocl.IBuildProgramFunction __this = global::Java.Lang.Object.GetObject <global::Org.Jocl.IBuildProgramFunction> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Org.Jocl.Cl_program            p0     = global::Java.Lang.Object.GetObject <global::Org.Jocl.Cl_program> (native_p0, JniHandleOwnership.DoNotTransfer);
     global::Java.Lang.Object p1 = global::Java.Lang.Object.GetObject <global::Java.Lang.Object> (native_p1, JniHandleOwnership.DoNotTransfer);
     __this.Function(p0, p1);
 }
        public unsafe void Function(global::Org.Jocl.Cl_program p0, global::Java.Lang.Object p1)
        {
            if (id_function_Lorg_jocl_cl_program_Ljava_lang_Object_ == IntPtr.Zero)
            {
                id_function_Lorg_jocl_cl_program_Ljava_lang_Object_ = JNIEnv.GetMethodID(class_ref, "function", "(Lorg/jocl/cl_program;Ljava/lang/Object;)V");
            }
            JValue *__args = stackalloc JValue [2];

            __args [0] = new JValue(p0);
            __args [1] = new JValue(p1);
            JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_function_Lorg_jocl_cl_program_Ljava_lang_Object_, __args);
        }