mruby
2.0.1
mruby is the lightweight implementation of the Ruby language
include
mruby
variable.h
Go to the documentation of this file.
1
7
#ifndef MRUBY_VARIABLE_H
8
#define MRUBY_VARIABLE_H
9
10
#include "
common.h
"
11
15
MRB_BEGIN_DECL
16
17
typedef
struct
global_variable
{
18
int
counter;
19
mrb_value
*data;
20
mrb_value
(*getter)(void);
21
void (*setter)(void);
22
/* void (*marker)(); */
23
/* int block_trace; */
24
/* struct trace_var *trace; */
25
}
global_variable
;
26
27
struct
global_entry
{
28
global_variable
*var;
29
mrb_sym
id;
30
};
31
32
mrb_value
mrb_vm_special_get(
mrb_state
*,
mrb_sym
);
33
void
mrb_vm_special_set(
mrb_state
*,
mrb_sym
,
mrb_value
);
34
mrb_value
mrb_vm_cv_get(
mrb_state
*,
mrb_sym
);
35
void
mrb_vm_cv_set(
mrb_state
*,
mrb_sym
,
mrb_value
);
36
mrb_value
mrb_vm_const_get(
mrb_state
*,
mrb_sym
);
37
void
mrb_vm_const_set(
mrb_state
*,
mrb_sym
,
mrb_value
);
38
MRB_API
mrb_value
mrb_const_get(
mrb_state
*,
mrb_value
,
mrb_sym
);
39
MRB_API
void
mrb_const_set(
mrb_state
*,
mrb_value
,
mrb_sym
,
mrb_value
);
40
MRB_API
mrb_bool
mrb_const_defined(
mrb_state
*,
mrb_value
,
mrb_sym
);
41
MRB_API
void
mrb_const_remove(
mrb_state
*,
mrb_value
,
mrb_sym
);
42
43
MRB_API
mrb_bool
mrb_iv_name_sym_p(
mrb_state
*mrb,
mrb_sym
sym);
44
MRB_API
void
mrb_iv_name_sym_check(
mrb_state
*mrb,
mrb_sym
sym);
45
MRB_API
mrb_value
mrb_obj_iv_get(
mrb_state
*mrb,
struct
RObject
*obj,
mrb_sym
sym);
46
MRB_API
void
mrb_obj_iv_set(
mrb_state
*mrb,
struct
RObject
*obj,
mrb_sym
sym,
mrb_value
v);
47
MRB_API
mrb_bool
mrb_obj_iv_defined(
mrb_state
*mrb,
struct
RObject
*obj,
mrb_sym
sym);
48
MRB_API
mrb_value
mrb_iv_get(
mrb_state
*mrb,
mrb_value
obj,
mrb_sym
sym);
49
MRB_API
void
mrb_iv_set(
mrb_state
*mrb,
mrb_value
obj,
mrb_sym
sym,
mrb_value
v);
50
MRB_API
mrb_bool
mrb_iv_defined(
mrb_state
*,
mrb_value
,
mrb_sym
);
51
MRB_API
mrb_value
mrb_iv_remove(
mrb_state
*mrb,
mrb_value
obj,
mrb_sym
sym);
52
MRB_API
void
mrb_iv_copy(
mrb_state
*mrb,
mrb_value
dst,
mrb_value
src);
53
MRB_API
mrb_bool
mrb_const_defined_at(
mrb_state
*mrb,
mrb_value
mod,
mrb_sym
id
);
54
73
MRB_API
mrb_value
mrb_gv_get
(
mrb_state
*mrb,
mrb_sym
sym);
74
93
MRB_API
void
mrb_gv_set
(
mrb_state
*mrb,
mrb_sym
sym,
mrb_value
val);
94
110
MRB_API
void
mrb_gv_remove
(
mrb_state
*mrb,
mrb_sym
sym);
111
112
MRB_API
mrb_value
mrb_cv_get(
mrb_state
*mrb,
mrb_value
mod,
mrb_sym
sym);
113
MRB_API
void
mrb_mod_cv_set(
mrb_state
*mrb,
struct
RClass
* c,
mrb_sym
sym,
mrb_value
v);
114
MRB_API
void
mrb_cv_set(
mrb_state
*mrb,
mrb_value
mod,
mrb_sym
sym,
mrb_value
v);
115
MRB_API
mrb_bool
mrb_cv_defined(
mrb_state
*mrb,
mrb_value
mod,
mrb_sym
sym);
116
mrb_value
mrb_obj_iv_inspect(
mrb_state
*,
struct
RObject
*);
117
void
mrb_obj_iv_set_force(
mrb_state
*mrb,
struct
RObject
*obj,
mrb_sym
sym,
mrb_value
v);
118
mrb_value
mrb_mod_constants(
mrb_state
*mrb,
mrb_value
mod);
119
mrb_value
mrb_f_global_variables(
mrb_state
*mrb,
mrb_value
self
);
120
mrb_value
mrb_obj_instance_variables(
mrb_state
*,
mrb_value
);
121
mrb_value
mrb_mod_class_variables(
mrb_state
*,
mrb_value
);
122
mrb_value
mrb_mod_cv_get(
mrb_state
*mrb,
struct
RClass
* c,
mrb_sym
sym);
123
mrb_bool
mrb_mod_cv_defined(
mrb_state
*mrb,
struct
RClass
* c,
mrb_sym
sym);
124
mrb_bool
mrb_ident_p(
const
char
*s, mrb_int len);
125
126
/* GC functions */
127
void
mrb_gc_mark_gv(
mrb_state
*);
128
void
mrb_gc_free_gv(
mrb_state
*);
129
void
mrb_gc_mark_iv(
mrb_state
*,
struct
RObject
*);
130
size_t
mrb_gc_mark_iv_size(
mrb_state
*,
struct
RObject
*);
131
void
mrb_gc_free_iv(
mrb_state
*,
struct
RObject
*);
132
133
/* return non zero to break the loop */
134
typedef
int (mrb_iv_foreach_func)(
mrb_state
*,
mrb_sym
,
mrb_value
,
void
*);
135
MRB_API
void
mrb_iv_foreach(
mrb_state
*mrb,
mrb_value
obj, mrb_iv_foreach_func *func,
void
*p);
136
137
MRB_END_DECL
138
139
#endif
/* MRUBY_VARIABLE_H */
global_entry
Definition:
variable.h:27
mrb_sym
mruby Symbol.
mrb_gv_get
mrb_value mrb_gv_get(mrb_state *mrb, mrb_sym sym)
Get a global variable.
Definition:
variable.c:916
mrb_bool
mruby Boolean.
RClass
Class class.
Definition:
class.h:17
MRB_BEGIN_DECL
#define MRB_BEGIN_DECL
Start declarations in C mode.
Definition:
common.h:26
RObject
Definition:
object.h:29
MRB_API
#define MRB_API
Declare a public MRuby API function.
Definition:
common.h:73
global_variable
Functions to access mruby variables.
Definition:
variable.h:17
MRB_END_DECL
#define MRB_END_DECL
End declarations in C mode.
Definition:
common.h:28
mrb_gv_remove
void mrb_gv_remove(mrb_state *mrb, mrb_sym sym)
Remove a global variable.
Definition:
variable.c:938
mrb_gv_set
void mrb_gv_set(mrb_state *mrb, mrb_sym sym, mrb_value val)
Set a global variable.
Definition:
variable.c:926
common.h
mruby common platform definition"
global_variable
struct global_variable global_variable
Functions to access mruby variables.
mrb_value
Definition:
boxing_nan.h:39
mrb_state
Definition:
mruby.h:215
Generated by
1.8.13