diff options
| author | mimaki <[email protected]> | 2012-04-20 09:39:03 +0900 |
|---|---|---|
| committer | mimaki <[email protected]> | 2012-04-20 09:39:03 +0900 |
| commit | e0d6430f63c4cbe0c71ce82ee23284671389a818 (patch) | |
| tree | 41abad7f12eced98d9ac14d141cea62464c3332f /src/variable.h | |
| parent | 54ad561098ed353ada70205c39b2c42a2a2eb9e5 (diff) | |
| download | mruby-e0d6430f63c4cbe0c71ce82ee23284671389a818.tar.gz mruby-e0d6430f63c4cbe0c71ce82ee23284671389a818.zip | |
add mruby sources
Diffstat (limited to 'src/variable.h')
| -rw-r--r-- | src/variable.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/variable.h b/src/variable.h new file mode 100644 index 000000000..494099c2c --- /dev/null +++ b/src/variable.h @@ -0,0 +1,42 @@ +#ifndef MRUBY_VARIABLE_H +#define MRUBY_VARIABLE_H + +typedef struct global_variable { + int counter; + mrb_value *data; + mrb_value (*getter)(); + void (*setter)(); + //void (*marker)(); + //int block_trace; + //struct trace_var *trace; +} global_variable; +struct global_entry { + global_variable *var; + mrb_sym id; +}; + +mrb_value mrb_vm_special_get(mrb_state*, mrb_sym); +void mrb_vm_special_set(mrb_state*, mrb_sym, mrb_value); +mrb_value mrb_vm_iv_get(mrb_state*, mrb_sym); +void mrb_vm_iv_set(mrb_state*, mrb_sym, mrb_value); +mrb_value mrb_vm_cv_get(mrb_state*, mrb_sym); +void mrb_vm_cv_set(mrb_state*, mrb_sym, mrb_value); +mrb_value mrb_vm_const_get(mrb_state*, mrb_sym); +void mrb_vm_const_set(mrb_state*, mrb_sym, mrb_value); +mrb_value mrb_const_get(mrb_state*, mrb_value, mrb_sym); +void mrb_const_set(mrb_state*, mrb_value, mrb_sym, mrb_value); +int mrb_const_defined(mrb_state*, mrb_value, mrb_sym); + +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); +void mrb_define_variable(mrb_state *mrb, const char *name, mrb_value *var); +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_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); +mrb_value mrb_gv_get(mrb_state *mrb, mrb_sym sym); +void mrb_gv_set(mrb_state *mrb, mrb_sym sym, mrb_value val); + +#endif /* MRUBY_VARIABLE_H */ |
