FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
mruby/include/mruby/variable.h at stable · dsisnero/mruby · GitHub
dsisnero
/
mruby
Public
forked from
mruby/mruby
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
mruby
/
include
/
mruby
/
variable.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
139 lines (124 loc) · 4.53 KB
Breadcrumbs
mruby
/
include
/
mruby
/
variable.h
Copy path
File metadata and controls
139 lines (124 loc) · 4.53 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
/**
** @file mruby/variable.h - mruby variables
**
** See Copyright Notice in mruby.h
*/
#ifndef
MRUBY_VARIABLE_H
#define
MRUBY_VARIABLE_H
#include
"common.h"
/**
* Functions to access mruby variables.
*/
MRB_BEGIN_DECL
typedef
struct
global_variable
{
int
counter
;
mrb_value
*
data
;
mrb_value
(
*
getter
)(
void
);
void
(
*
setter
)(
void
);
/* 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_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_API
mrb_value
mrb_const_get
(
mrb_state
*
,
mrb_value
,
mrb_sym
);
MRB_API
void
mrb_const_set
(
mrb_state
*
,
mrb_value
,
mrb_sym
,
mrb_value
);
MRB_API
mrb_bool
mrb_const_defined
(
mrb_state
*
,
mrb_value
,
mrb_sym
);
MRB_API
void
mrb_const_remove
(
mrb_state
*
,
mrb_value
,
mrb_sym
);
MRB_API
mrb_bool
mrb_iv_name_sym_p
(
mrb_state
*
mrb
,
mrb_sym
sym
);
MRB_API
void
mrb_iv_name_sym_check
(
mrb_state
*
mrb
,
mrb_sym
sym
);
MRB_API
mrb_value
mrb_obj_iv_get
(
mrb_state
*
mrb
,
struct
RObject
*
obj
,
mrb_sym
sym
);
MRB_API
void
mrb_obj_iv_set
(
mrb_state
*
mrb
,
struct
RObject
*
obj
,
mrb_sym
sym
,
mrb_value
v
);
MRB_API
mrb_bool
mrb_obj_iv_defined
(
mrb_state
*
mrb
,
struct
RObject
*
obj
,
mrb_sym
sym
);
MRB_API
mrb_value
mrb_iv_get
(
mrb_state
*
mrb
,
mrb_value
obj
,
mrb_sym
sym
);
MRB_API
void
mrb_iv_set
(
mrb_state
*
mrb
,
mrb_value
obj
,
mrb_sym
sym
,
mrb_value
v
);
MRB_API
mrb_bool
mrb_iv_defined
(
mrb_state
*
,
mrb_value
,
mrb_sym
);
MRB_API
mrb_value
mrb_iv_remove
(
mrb_state
*
mrb
,
mrb_value
obj
,
mrb_sym
sym
);
MRB_API
void
mrb_iv_copy
(
mrb_state
*
mrb
,
mrb_value
dst
,
mrb_value
src
);
MRB_API
mrb_bool
mrb_const_defined_at
(
mrb_state
*
mrb
,
mrb_value
mod
,
mrb_sym
id
);
/**
* Get a global variable. Will return nil if the var does not exist
*
* Example:
*
* !!!ruby
* # Ruby style
* var = $value
*
* !!!c
* // C style
* mrb_sym sym = mrb_intern_lit(mrb, "$value");
* mrb_value var = mrb_gv_get(mrb, sym);
*
* @param mrb The mruby state reference
* @param sym The name of the global variable
* @return The value of that global variable. May be nil
*/
MRB_API
mrb_value
mrb_gv_get
(
mrb_state
*
mrb
,
mrb_sym
sym
);
/**
* Set a global variable
*
* Example:
*
* !!!ruby
* # Ruby style
* $value = "foo"
*
* !!!c
* // C style
* mrb_sym sym = mrb_intern_lit(mrb, "$value");
* mrb_gv_set(mrb, sym, mrb_str_new_lit("foo"));
*
* @param mrb The mruby state reference
* @param sym The name of the global variable
* @param val The value of the global variable
*/
MRB_API
void
mrb_gv_set
(
mrb_state
*
mrb
,
mrb_sym
sym
,
mrb_value
val
);
/**
* Remove a global variable.
*
* Example:
*
* # Ruby style
* $value = nil
*
* // C style
* mrb_sym sym = mrb_intern_lit(mrb, "$value");
* mrb_gv_remove(mrb, sym);
*
* @param mrb The mruby state reference
* @param sym The name of the global variable
*/
MRB_API
void
mrb_gv_remove
(
mrb_state
*
mrb
,
mrb_sym
sym
);
MRB_API
mrb_value
mrb_cv_get
(
mrb_state
*
mrb
,
mrb_value
mod
,
mrb_sym
sym
);
MRB_API
void
mrb_mod_cv_set
(
mrb_state
*
mrb
,
struct
RClass
*
c
,
mrb_sym
sym
,
mrb_value
v
);
MRB_API
void
mrb_cv_set
(
mrb_state
*
mrb
,
mrb_value
mod
,
mrb_sym
sym
,
mrb_value
v
);
MRB_API
mrb_bool
mrb_cv_defined
(
mrb_state
*
mrb
,
mrb_value
mod
,
mrb_sym
sym
);
mrb_value
mrb_obj_iv_inspect
(
mrb_state
*
,
struct
RObject
*
);
void
mrb_obj_iv_set_force
(
mrb_state
*
mrb
,
struct
RObject
*
obj
,
mrb_sym
sym
,
mrb_value
v
);
mrb_value
mrb_mod_constants
(
mrb_state
*
mrb
,
mrb_value
mod
);
mrb_value
mrb_f_global_variables
(
mrb_state
*
mrb
,
mrb_value
self
);
mrb_value
mrb_obj_instance_variables
(
mrb_state
*
,
mrb_value
);
mrb_value
mrb_mod_class_variables
(
mrb_state
*
,
mrb_value
);
mrb_value
mrb_mod_cv_get
(
mrb_state
*
mrb
,
struct
RClass
*
c
,
mrb_sym
sym
);
mrb_bool
mrb_mod_cv_defined
(
mrb_state
*
mrb
,
struct
RClass
*
c
,
mrb_sym
sym
);
mrb_bool
mrb_ident_p
(
const
char
*
s
,
mrb_int
len
);
/* GC functions */
void
mrb_gc_mark_gv
(
mrb_state
*
);
void
mrb_gc_free_gv
(
mrb_state
*
);
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
*
);
/* return non zero to break the loop */
typedef
int
(
mrb_iv_foreach_func
)(
mrb_state
*
,
mrb_sym
,
mrb_value
,
void
*
);
MRB_API
void
mrb_iv_foreach
(
mrb_state
*
mrb
,
mrb_value
obj
,
mrb_iv_foreach_func
*
func
,
void
*
p
);
MRB_END_DECL
#endif
/* MRUBY_VARIABLE_H */
Back
|
FazBrowse Home
|
New Git URL