diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-06-21 11:04:36 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-06-21 11:04:36 +0900 |
| commit | 396397bce17a0f03eab8ed6512651e665aa89c8a (patch) | |
| tree | d45f8e9ea6bcff1146740aa23db410cfc16a708c /include | |
| parent | 8b8151a60e53e3182382acca8b128c6d1d7f0b4f (diff) | |
| download | mruby-396397bce17a0f03eab8ed6512651e665aa89c8a.tar.gz mruby-396397bce17a0f03eab8ed6512651e665aa89c8a.zip | |
move KHASH_DECLARE to header files
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/khash.h | 6 | ||||
| -rw-r--r-- | include/mruby/proc.h | 3 | ||||
| -rw-r--r-- | include/mruby/variable.h | 7 |
3 files changed, 9 insertions, 7 deletions
diff --git a/include/mruby/khash.h b/include/mruby/khash.h index 6cb2b383d..e236f0bea 100644 --- a/include/mruby/khash.h +++ b/include/mruby/khash.h @@ -216,12 +216,6 @@ static inline khint_t __ac_X31_hash_string(const char *s) typedef const char *kh_cstr_t; -/* declare common hash types. */ -#include "mruby.h" - -KHASH_DECLARE(mt, mrb_sym, struct RProc*, 1) -KHASH_DECLARE(iv, mrb_sym, mrb_value, 1) - #if defined(__cplusplus) } /* extern "C" { */ #endif diff --git a/include/mruby/proc.h b/include/mruby/proc.h index 52dc5a98e..8f178790e 100644 --- a/include/mruby/proc.h +++ b/include/mruby/proc.h @@ -50,6 +50,9 @@ struct RProc *mrb_proc_new(mrb_state*, mrb_irep*); struct RProc *mrb_proc_new_cfunc(mrb_state*, mrb_func_t); struct RProc *mrb_closure_new(mrb_state*, mrb_irep*); +#include "mruby/khash.h" +KHASH_DECLARE(mt, mrb_sym, struct RProc*, 1); + #if defined(__cplusplus) } /* extern "C" { */ #endif diff --git a/include/mruby/variable.h b/include/mruby/variable.h index fb686fd47..440c4cc8b 100644 --- a/include/mruby/variable.h +++ b/include/mruby/variable.h @@ -20,6 +20,7 @@ typedef struct global_variable { //int block_trace; //struct trace_var *trace; } global_variable; + struct global_entry { global_variable *var; mrb_sym id; @@ -41,7 +42,8 @@ mrb_value mrb_obj_iv_get(mrb_state*, struct RObject*, mrb_sym); void mrb_obj_iv_set(mrb_state*, struct RObject*, mrb_sym, mrb_value); const char * mrb_class2name(mrb_state *mrb, struct RClass* klass); mrb_value mrb_iv_get(mrb_state *mrb, mrb_value obj, mrb_sym sym); -void mrb_iv_set(mrb_state *mrb, mrb_value obj, mrb_sym sym, mrb_value v); /* mrb_iv_set */ +void mrb_iv_set(mrb_state *mrb, mrb_value obj, mrb_sym sym, mrb_value v); +mrb_value mrb_iv_remove(mrb_state *mrb, mrb_value obj, mrb_sym sym); void mrb_copy_generic_ivar(mrb_value clone, mrb_value obj); int mrb_const_defined_at(mrb_state *mrb, struct RClass *klass, mrb_sym id); mrb_value mrb_f_global_variables(mrb_state *mrb, mrb_value self); @@ -55,6 +57,9 @@ void mrb_gc_mark_iv(mrb_state*, struct RObject*); size_t mrb_gc_mark_iv_size(mrb_state*, struct RObject*); void mrb_gc_free_iv(mrb_state*, struct RObject*); +#include "mruby/khash.h" +KHASH_DECLARE(iv, mrb_sym, mrb_value, 1) + #if defined(__cplusplus) } /* extern "C" { */ #endif |
