mirror of https://github.com/tildeio/helix
Export another smattering of random functions/constants
This commit is contained in:
parent
07d1e01647
commit
3a24bf2124
|
@ -85,6 +85,9 @@ extern "C" {
|
|||
#[link_name = "rb_cObject"]
|
||||
pub static rb_cObject: VALUE;
|
||||
|
||||
#[link_name = "rb_cBasicObject"]
|
||||
pub static rb_cBasicObject: VALUE;
|
||||
|
||||
#[link_name = "rb_eRuntimeError"]
|
||||
pub static rb_eRuntimeError: VALUE;
|
||||
|
||||
|
@ -156,6 +159,12 @@ extern "C" {
|
|||
#[link_name = "HELIX_F642NUM"]
|
||||
pub fn F642NUM(num: f64) -> VALUE;
|
||||
|
||||
#[link_name = "HELIX_OBJ_FROZEN"]
|
||||
pub fn OBJ_FROZEN(v: VALUE) -> bool;
|
||||
|
||||
#[link_name = "HELIX_T_OBJECT"]
|
||||
pub static T_OBJECT: isize;
|
||||
|
||||
#[link_name = "HELIX_T_STRING"]
|
||||
pub static T_STRING: isize;
|
||||
|
||||
|
@ -216,6 +225,7 @@ extern "C" {
|
|||
pub fn rb_hash_foreach(hash: VALUE, f: extern "C" fn(key: VALUE, value: VALUE, farg: *mut void) -> st_retval, farg: *mut void);
|
||||
pub fn rb_gc_mark(value: VALUE);
|
||||
pub fn rb_funcall(value: VALUE, mid: ID, argc: libc::c_int, ...) -> VALUE;
|
||||
pub fn rb_funcallv(value: VALUE, mid: ID, argc: libc::c_int, argv: *const VALUE) -> VALUE;
|
||||
pub fn rb_scan_args(argc: libc::c_int, argv: *const VALUE, fmt: c_string, ...);
|
||||
pub fn rb_block_given_p() -> bool;
|
||||
pub fn rb_yield(value: VALUE) -> VALUE;
|
||||
|
|
|
@ -108,6 +108,10 @@ VALUE HELIX_F642NUM(RUST_F64 num) {
|
|||
return DBL2NUM(num);
|
||||
}
|
||||
|
||||
bool HELIX_OBJ_FROZEN(VALUE obj) {
|
||||
return OBJ_FROZEN(obj);
|
||||
}
|
||||
|
||||
void* HELIX_Data_Get_Struct_Value(VALUE obj) {
|
||||
void* data;
|
||||
Data_Get_Struct(obj, void*, data);
|
||||
|
|
|
@ -44,6 +44,8 @@ HELIX_EXTERN VALUE HELIX_I322NUM(RUST_I32);
|
|||
HELIX_EXTERN RUST_F64 HELIX_NUM2F64(VALUE);
|
||||
HELIX_EXTERN VALUE HELIX_F642NUM(RUST_F64);
|
||||
|
||||
HELIX_EXTERN bool HELIX_OBJ_FROZEN(VALUE obj);
|
||||
|
||||
HELIX_EXTERN VALUE HELIX_Qtrue;
|
||||
HELIX_EXTERN VALUE HELIX_Qfalse;
|
||||
HELIX_EXTERN VALUE HELIX_Qnil;
|
||||
|
|
|
@ -92,6 +92,11 @@ describe HelixRuntime do
|
|||
expect(Dummy.RTEST(nil)).to eq(false)
|
||||
end
|
||||
|
||||
it 'exports the OBJ_FROZEN macro' do
|
||||
expect(Dummy.OBJ_FROZEN(Object.new)).to eq(false)
|
||||
expect(Dummy.OBJ_FROZEN(Object.new.freeze)).to eq(true)
|
||||
end
|
||||
|
||||
describe 'coercions' do
|
||||
it "(INT2FIX)" do
|
||||
expect(Dummy.INT2FIX(10)).to eq(10)
|
||||
|
|
|
@ -58,6 +58,11 @@ static VALUE TEST_RTEST(VALUE _self, VALUE val) {
|
|||
return result ? Qtrue : Qfalse;
|
||||
}
|
||||
|
||||
static VALUE TEST_OBJ_FROZEN(VALUE _self, VALUE val) {
|
||||
int result = HELIX_OBJ_FROZEN(val);
|
||||
return result ? Qtrue : Qfalse;
|
||||
}
|
||||
|
||||
static VALUE TEST_TYPE(VALUE _self, VALUE val) {
|
||||
return INT2FIX(HELIX_TYPE(val));
|
||||
}
|
||||
|
@ -203,6 +208,7 @@ void Init_dummy() {
|
|||
EXPORT_FUNC(RHASH_SIZE, 1);
|
||||
EXPORT_FUNC(RB_TYPE_P, 2);
|
||||
EXPORT_FUNC(RB_NIL_P, 1);
|
||||
EXPORT_FUNC(OBJ_FROZEN, 1);
|
||||
EXPORT_FUNC(TYPE, 1);
|
||||
EXPORT_FUNC(INT2FIX, 1);
|
||||
EXPORT_FUNC(FIX2INT, 1);
|
||||
|
|
Loading…
Reference in New Issue