alef 0.23.49

Opinionated polyglot binding generator for Rust libraries
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#[unsafe(no_mangle)]
pub unsafe extern "system" fn {{ symbol }}(
    mut env: EnvUnowned,
    _class: JClass,
) {
    // SAFETY: env is a valid EnvUnowned passed by the JVM for this native call frame.
    let mut __jni_attach_guard = unsafe { jni::AttachGuard::from_unowned(env.as_raw()) };
    let env = __jni_attach_guard.borrow_env_mut();
    let Some(result) = run_or_throw(env, std::panic::AssertUnwindSafe(core_crate::{{ clear_fn }})) else {
        return;
    };
    if let Err(e) = result {
        throw_jni_error(env, &format!("{e}"));
    }
}