44#if defined(MRBC_DEBUG)
60 mrbc_printf(
"warning: already initialized constant.\n");
111 if(
id <= 0 )
return 0;
126 int flag_object_class = (cls ==
MRBC_CLASS(Object));
135 if( id1 == cls->
sym_id ) {
139 }
else if( flag_object_class ) {
171#if defined(MRBC_ALLOC_VMID)
175void mrbc_global_clear_vm_id(
void)
190void mrbc_debug_dump_const(
void )
192 mrbc_print(
"<< Const table dump. >>\n(s_id:identifier = value)\n");
199 if( kv->
sym_id < 0x100 )
continue;
241void mrbc_debug_dump_global(
void )
243 mrbc_print(
"<< Global table dump. >>\n(s_id:identifier = value)\n");
#define mrbc_symbol_value(n)
struct RObject mrbc_value
Value object. Default version.
int mrbc_array_push(mrbc_value *ary, mrbc_value *set_val)
struct RClass mrbc_class
Class object.
void mrbc_printf(const char *fstr,...)
int mrbc_p_sub(const mrbc_value *v)
void mrbc_print_symbol(mrbc_sym sym_id)
static void mrbc_print(const char *str)
void mrbc_init_global(void)
int mrbc_set_global(mrbc_sym sym_id, mrbc_value *v)
int mrbc_set_class_const(const mrbc_class *cls, mrbc_sym sym_id, mrbc_value *v)
static mrbc_kv_handle handle_global
for global variables.
void mrbc_get_all_class_const(const mrbc_class *cls, mrbc_value *ret)
mrbc_value * mrbc_get_const(mrbc_sym sym_id)
mrbc_value * mrbc_get_global(mrbc_sym sym_id)
static mrbc_kv_handle handle_const
for global(Object) constants.
int mrbc_set_const(mrbc_sym sym_id, mrbc_value *v)
mrbc_value * mrbc_get_class_const(const mrbc_class *cls, mrbc_sym sym_id)
int mrbc_kv_init_handle(struct VM *vm, mrbc_kv_handle *kvh, int size)
mrbc_value * mrbc_kv_get(mrbc_kv_handle *kvh, mrbc_sym sym_id)
int mrbc_kv_set(mrbc_kv_handle *kvh, mrbc_sym sym_id, mrbc_value *set_val)
static mrbc_kv * mrbc_kv_i_next(mrbc_kv_iterator *ite)
struct RKeyValueHandle mrbc_kv_handle
Key-Value handle.
static int mrbc_kv_i_has_next(const mrbc_kv_iterator *ite)
struct RKeyValue mrbc_kv
Key-Value data.
struct RKeyValueIterator mrbc_kv_iterator
Key-Value iterator.
static mrbc_kv_iterator mrbc_kv_iterator_new(const mrbc_kv_handle *h)
Include at once the necessary header files.
mrbc_sym sym_id
class name's symbol ID
mrbc_sym sym_id
symbol ID as key.
mrbc_value value
stored value.
mrbc_sym mrbc_search_symid(const char *str)
mrbc_value mrbc_symbol_new(struct VM *vm, const char *str)
void mrbc_separate_nested_symid(mrbc_sym sym_id, mrbc_sym *id1, mrbc_sym *id2)
const char * mrbc_symid_to_str(mrbc_sym sym_id)
void make_nested_symbol_s(char *buf, mrbc_sym id1, mrbc_sym id2)
static int mrbc_is_nested_symid(mrbc_sym sym_id)
#define MRBC_TT_INC_DEC_THRESHOLD
int16_t mrbc_sym
mruby/c symbol ID
Global configuration of mruby/c VM's.