Move more packages to plugins.

This commit is contained in:
Stephen Chung
2020-08-14 18:58:34 +08:00
parent c0dc47c9db
commit ceb1a26733
5 changed files with 167 additions and 135 deletions

View File

@@ -1,9 +1,16 @@
use crate::def_package;
use crate::engine::make_getter;
use crate::fn_native::FnPtr;
use crate::plugin::*;
#[export_fn]
fn get_fn_name(f: &mut FnPtr) -> ImmutableString {
f.get_fn_name().clone()
}
def_package!(crate:BasicFnPackage:"Basic Fn functions.", lib, {
lib.set_fn_1_mut("name", |f: &mut FnPtr| Ok(f.get_fn_name().clone()));
set_exported_fn!(lib, "name", get_fn_name);
#[cfg(not(feature = "no_object"))]
lib.set_getter_fn("name", |f: &mut FnPtr| Ok(f.get_fn_name().clone()));
set_exported_fn!(lib, make_getter("name"), get_fn_name);
});