summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/mruby/array.h8
-rw-r--r--include/mruby/data.h12
-rw-r--r--include/mruby/dump.h4
-rw-r--r--include/mruby/range.h6
-rw-r--r--include/mruby/string.h8
-rw-r--r--src/array.c6
-rw-r--r--src/class.c357
-rw-r--r--src/etc.c8
-rw-r--r--src/gc.c2
-rw-r--r--src/range.c4
-rw-r--r--src/string.c10
11 files changed, 213 insertions, 212 deletions
diff --git a/include/mruby/array.h b/include/mruby/array.h
index c5959bbe6..9f9483545 100644
--- a/include/mruby/array.h
+++ b/include/mruby/array.h
@@ -11,18 +11,18 @@
extern "C" {
#endif
-struct mrb_shared_array {
+typedef struct mrb_shared_array {
int refcnt;
mrb_value *ptr;
int len;
-};
+} mrb_shared_array;
struct RArray {
MRB_OBJECT_HEADER;
int len;
union {
int capa;
- struct mrb_shared_array *shared;
+ mrb_shared_array *shared;
} aux;
mrb_value *ptr;
};
@@ -35,7 +35,7 @@ struct RArray {
#define RARRAY_PTR(a) (RARRAY(a)->ptr)
#define MRB_ARY_SHARED 256
-void mrb_ary_decref(mrb_state*, struct mrb_shared_array*);
+void mrb_ary_decref(mrb_state*, mrb_shared_array*);
mrb_value mrb_ary_new_capa(mrb_state*, int);
mrb_value mrb_ary_new(mrb_state *mrb);
mrb_value mrb_ary_new_elts(mrb_state *mrb, int n, const mrb_value *elts);
diff --git a/include/mruby/data.h b/include/mruby/data.h
index 6492fd6ea..55405e994 100644
--- a/include/mruby/data.h
+++ b/include/mruby/data.h
@@ -11,19 +11,19 @@
extern "C" {
#endif
-struct mrb_data_type {
+typedef struct mrb_data_type {
const char *struct_name;
void (*dfree)(mrb_state *mrb, void*);
-};
+} mrb_data_type;
struct RData {
MRB_OBJECT_HEADER;
struct iv_tbl *iv;
- struct mrb_data_type *type;
+ mrb_data_type *type;
void *data;
};
-struct RData *mrb_data_object_alloc(mrb_state *mrb, struct RClass* klass, void *datap, const struct mrb_data_type *type);
+struct RData *mrb_data_object_alloc(mrb_state *mrb, struct RClass* klass, void *datap, const mrb_data_type *type);
#define Data_Wrap_Struct(mrb,klass,type,ptr)\
mrb_data_object_alloc(mrb,klass,ptr,type)
@@ -37,8 +37,8 @@ struct RData *mrb_data_object_alloc(mrb_state *mrb, struct RClass* klass, void *
#define RDATA(obj) ((struct RData *)((obj).value.p))
#define DATA_PTR(d) (RDATA(d)->data)
#define DATA_TYPE(d) (RDATA(d)->type)
-void *mrb_get_datatype(mrb_state *mrb, mrb_value, const struct mrb_data_type*);
-void *mrb_check_datatype(mrb_state *mrb, mrb_value, const struct mrb_data_type*);
+void *mrb_get_datatype(mrb_state *mrb, mrb_value, const mrb_data_type*);
+void *mrb_check_datatype(mrb_state *mrb, mrb_value, const mrb_data_type*);
#define Data_Get_Struct(mrb,obj,type,sval) do {\
*(void**)&sval = mrb_check_datatype(mrb, obj, type); \
} while (0)
diff --git a/include/mruby/dump.h b/include/mruby/dump.h
index eb8fe55dd..8b78e74d0 100644
--- a/include/mruby/dump.h
+++ b/include/mruby/dump.h
@@ -82,7 +82,7 @@ mrb_value mrb_load_irep_file(mrb_state*,FILE*);
#define MRB_DUMP_DEFAULT_STR_LEN 128
//Rite Binary file_header
-typedef struct _rite_binary_header {
+typedef struct {
unsigned char rbfi[4]; //Rite Binary File Identify
unsigned char rbfv[8]; //Rite Binary File Format Version
unsigned char risv[8]; //Rite Instruction Specification Version
@@ -95,7 +95,7 @@ typedef struct _rite_binary_header {
} rite_binary_header;
// Rite File file_header
-typedef struct _rite_file_header {
+typedef struct {
unsigned char rbfi[4]; //Rite Binary File Identify
unsigned char rbfv[8]; //Rite Binary File Format Version
unsigned char risv[8]; //Rite Instruction Specification Version
diff --git a/include/mruby/range.h b/include/mruby/range.h
index 32094f9bb..a87f1cc6a 100644
--- a/include/mruby/range.h
+++ b/include/mruby/range.h
@@ -11,14 +11,14 @@
extern "C" {
#endif
-struct mrb_range_edges {
+typedef struct mrb_range_edges {
mrb_value beg;
mrb_value end;
-};
+} mrb_range_edges;
struct RRange {
MRB_OBJECT_HEADER;
- struct mrb_range_edges *edges;
+ mrb_range_edges *edges;
int excl;
};
diff --git a/include/mruby/string.h b/include/mruby/string.h
index 426cbe9ff..353d8cefc 100644
--- a/include/mruby/string.h
+++ b/include/mruby/string.h
@@ -21,18 +21,18 @@ extern "C" {
extern const char mrb_digitmap[];
-struct mrb_shared_string {
+typedef struct mrb_shared_string {
int refcnt;
char *ptr;
int len;
-};
+} mrb_shared_string;
struct RString {
MRB_OBJECT_HEADER;
int len;
union {
int capa;
- struct mrb_shared_string *shared;
+ mrb_shared_string *shared;
} aux;
char *ptr;
};
@@ -45,7 +45,7 @@ struct RString {
#define RSTRING_END(s) (RSTRING(s)->ptr + RSTRING(s)->len)
#define MRB_STR_SHARED 256
-void mrb_str_decref(mrb_state*, struct mrb_shared_string*);
+void mrb_str_decref(mrb_state*, mrb_shared_string*);
mrb_value mrb_str_literal(mrb_state*, mrb_value);
void mrb_str_concat(mrb_state*, mrb_value, mrb_value);
mrb_value mrb_str_plus(mrb_state*, mrb_value, mrb_value);
diff --git a/src/array.c b/src/array.c
index 88c15eb2c..c767283aa 100644
--- a/src/array.c
+++ b/src/array.c
@@ -125,7 +125,7 @@ static void
ary_modify(mrb_state *mrb, struct RArray *a)
{
if (a->flags & MRB_ARY_SHARED) {
- struct mrb_shared_array *shared = a->aux.shared;
+ mrb_shared_array *shared = a->aux.shared;
if (shared->refcnt == 1 && a->ptr == shared->ptr) {
a->ptr = shared->ptr;
@@ -154,7 +154,7 @@ static void
ary_make_shared(mrb_state *mrb, struct RArray *a)
{
if (!(a->flags & MRB_ARY_SHARED)) {
- struct mrb_shared_array *shared = (struct mrb_shared_array *)mrb_malloc(mrb, sizeof(struct mrb_shared_array));
+ mrb_shared_array *shared = (mrb_shared_array *)mrb_malloc(mrb, sizeof(mrb_shared_array));
shared->refcnt = 1;
if (a->aux.capa > a->len) {
@@ -667,7 +667,7 @@ mrb_ary_len(mrb_state *mrb, mrb_value ary)
}
void
-mrb_ary_decref(mrb_state *mrb, struct mrb_shared_array *shared)
+mrb_ary_decref(mrb_state *mrb, mrb_shared_array *shared)
{
shared->refcnt--;
if (shared->refcnt == 0) {
diff --git a/src/class.c b/src/class.c
index 59b4966b2..c0e71dad7 100644
--- a/src/class.c
+++ b/src/class.c
@@ -399,7 +399,7 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
break;
default:
if (argc <= i && !opt) {
- mrb_raise(mrb, E_ARGUMENT_ERROR, "wrong number of arguments");
+ mrb_raise(mrb, E_ARGUMENT_ERROR, "wrong number of arguments");
}
}
@@ -409,10 +409,10 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
mrb_value *p;
p = va_arg(ap, mrb_value*);
- if (i < argc) {
- *p = *sp++;
- i++;
- }
+ if (i < argc) {
+ *p = *sp++;
+ i++;
+ }
}
break;
case 'S':
@@ -420,10 +420,10 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
mrb_value *p;
p = va_arg(ap, mrb_value*);
- if (i < argc) {
- *p = to_str(mrb, *sp++);
- i++;
- }
+ if (i < argc) {
+ *p = to_str(mrb, *sp++);
+ i++;
+ }
}
break;
case 'A':
@@ -431,10 +431,10 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
mrb_value *p;
p = va_arg(ap, mrb_value*);
- if (i < argc) {
- *p = to_ary(mrb, *sp++);
- i++;
- }
+ if (i < argc) {
+ *p = to_ary(mrb, *sp++);
+ i++;
+ }
}
break;
case 'H':
@@ -442,64 +442,64 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
mrb_value *p;
p = va_arg(ap, mrb_value*);
- if (i < argc) {
- *p = to_hash(mrb, *sp++);
- i++;
- }
+ if (i < argc) {
+ *p = to_hash(mrb, *sp++);
+ i++;
+ }
}
break;
case 's':
{
- mrb_value ss;
+ mrb_value ss;
struct RString *s;
char **ps = 0;
int *pl = 0;
- ps = va_arg(ap, char**);
- pl = va_arg(ap, int*);
- if (i < argc) {
- ss = to_str(mrb, *sp++);
- s = mrb_str_ptr(ss);
- *ps = s->ptr;
- *pl = s->len;
- i++;
- }
+ ps = va_arg(ap, char**);
+ pl = va_arg(ap, int*);
+ if (i < argc) {
+ ss = to_str(mrb, *sp++);
+ s = mrb_str_ptr(ss);
+ *ps = s->ptr;
+ *pl = s->len;
+ i++;
+ }
}
break;
case 'z':
{
- mrb_value ss;
+ mrb_value ss;
struct RString *s;
char **ps;
- ps = va_arg(ap, char**);
- if (i < argc) {
- ss = to_str(mrb, *sp++);
- s = mrb_str_ptr(ss);
- if (strlen(s->ptr) != s->len) {
- mrb_raise(mrb, E_ARGUMENT_ERROR, "String contains NUL");
- }
- *ps = s->ptr;
- i++;
- }
+ ps = va_arg(ap, char**);
+ if (i < argc) {
+ ss = to_str(mrb, *sp++);
+ s = mrb_str_ptr(ss);
+ if (strlen(s->ptr) != s->len) {
+ mrb_raise(mrb, E_ARGUMENT_ERROR, "String contains NUL");
+ }
+ *ps = s->ptr;
+ i++;
+ }
}
break;
case 'a':
{
- mrb_value aa;
+ mrb_value aa;
struct RArray *a;
mrb_value **pb;
int *pl;
- pb = va_arg(ap, mrb_value**);
- pl = va_arg(ap, int*);
- if (i < argc) {
- aa = to_ary(mrb, *sp++);
- a = mrb_ary_ptr(aa);
- *pb = a->ptr;
- *pl = a->len;
- i++;
- }
+ pb = va_arg(ap, mrb_value**);
+ pl = va_arg(ap, int*);
+ if (i < argc) {
+ aa = to_ary(mrb, *sp++);
+ a = mrb_ary_ptr(aa);
+ *pb = a->ptr;
+ *pl = a->len;
+ i++;
+ }
}
break;
case 'f':
@@ -507,29 +507,29 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
mrb_float *p;
p = va_arg(ap, mrb_float*);
- if (i < argc) {
- switch (mrb_type(*sp)) {
- case MRB_TT_FLOAT:
- *p = mrb_float(*sp);
- break;
- case MRB_TT_FIXNUM:
- *p = (mrb_float)mrb_fixnum(*sp);
- break;
- case MRB_TT_STRING:
- mrb_raise(mrb, E_TYPE_ERROR, "String can't be coerced into Float");
- break;
- default:
- {
- mrb_value tmp;
-
- tmp = mrb_convert_type(mrb, *sp, MRB_TT_FLOAT, "Float", "to_f");
- *p = mrb_float(tmp);
- }
- break;
- }
- sp++;
- i++;
- }
+ if (i < argc) {
+ switch (mrb_type(*sp)) {
+ case MRB_TT_FLOAT:
+ *p = mrb_float(*sp);
+ break;
+ case MRB_TT_FIXNUM:
+ *p = (mrb_float)mrb_fixnum(*sp);
+ break;
+ case MRB_TT_STRING:
+ mrb_raise(mrb, E_TYPE_ERROR, "String can't be coerced into Float");
+ break;
+ default:
+ {
+ mrb_value tmp;
+
+ tmp = mrb_convert_type(mrb, *sp, MRB_TT_FLOAT, "Float", "to_f");
+ *p = mrb_float(tmp);
+ }
+ break;
+ }
+ sp++;
+ i++;
+ }
}
break;
case 'i':
@@ -537,71 +537,71 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
mrb_int *p;
p = va_arg(ap, mrb_int*);
- if (i < argc) {
- switch (mrb_type(*sp)) {
- case MRB_TT_FIXNUM:
- *p = mrb_fixnum(*sp);
- break;
- case MRB_TT_FLOAT:
- {
- mrb_float f = mrb_float(*sp);
-
- if (!FIXABLE(f)) {
- mrb_raise(mrb, E_RANGE_ERROR, "float too big for int");
- }
- *p = (mrb_int)f;
- }
- break;
- case MRB_TT_FALSE:
- *p = 0;
- break;
- default:
- {
- mrb_value tmp;
-
- tmp = mrb_convert_type(mrb, *sp, MRB_TT_FIXNUM, "Integer", "to_int");
- *p = mrb_fixnum(tmp);
- }
- break;
- }
- sp++;
- i++;
- }
+ if (i < argc) {
+ switch (mrb_type(*sp)) {
+ case MRB_TT_FIXNUM:
+ *p = mrb_fixnum(*sp);
+ break;
+ case MRB_TT_FLOAT:
+ {
+ mrb_float f = mrb_float(*sp);
+
+ if (!FIXABLE(f)) {
+ mrb_raise(mrb, E_RANGE_ERROR, "float too big for int");
+ }
+ *p = (mrb_int)f;
+ }
+ break;
+ case MRB_TT_FALSE:
+ *p = 0;
+ break;
+ default:
+ {
+ mrb_value tmp;
+
+ tmp = mrb_convert_type(mrb, *sp, MRB_TT_FIXNUM, "Integer", "to_int");
+ *p = mrb_fixnum(tmp);
+ }
+ break;
+ }
+ sp++;
+ i++;
+ }
}
break;
case 'b':
{
- int *boolp = va_arg(ap, int*);
+ int *boolp = va_arg(ap, int*);
- if (i < argc) {
- mrb_value b = *sp++;
- *boolp = mrb_test(b);
- i++;
- }
+ if (i < argc) {
+ mrb_value b = *sp++;
+ *boolp = mrb_test(b);
+ i++;
+ }
}
break;
case 'n':
{
- mrb_sym *symp;
-
- symp = va_arg(ap, mrb_sym*);
- if (i < argc) {
- mrb_value ss;
-
- ss = *sp++;
- if (mrb_type(ss) == MRB_TT_SYMBOL) {
- *symp = mrb_symbol(ss);
- }
- else if (mrb_string_p(ss)) {
- *symp = mrb_intern_str(mrb, to_str(mrb, ss));
- }
- else {
- mrb_value obj = mrb_funcall(mrb, ss, "inspect", 0);
- mrb_raisef(mrb, E_TYPE_ERROR, "%s is not a symbol",
- mrb_string_value_ptr(mrb, obj));
- }
- i++;
- }
+ mrb_sym *symp;
+
+ symp = va_arg(ap, mrb_sym*);
+ if (i < argc) {
+ mrb_value ss;
+
+ ss = *sp++;
+ if (mrb_type(ss) == MRB_TT_SYMBOL) {
+ *symp = mrb_symbol(ss);
+ }
+ else if (mrb_string_p(ss)) {
+ *symp = mrb_intern_str(mrb, to_str(mrb, ss));
+ }
+ else {
+ mrb_value obj = mrb_funcall(mrb, ss, "inspect", 0);
+ mrb_raisef(mrb, E_TYPE_ERROR, "%s is not a symbol",
+ mrb_string_value_ptr(mrb, obj));
+ }
+ i++;
+ }
}
break;
@@ -613,9 +613,9 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
if (mrb->ci->argc < 0) {
bp = mrb->stack + 2;
}
- else {
+ else {
bp = mrb->stack + mrb->ci->argc + 1;
- }
+ }
*p = *bp;
}
break;
@@ -626,18 +626,18 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
case '*':
{
mrb_value **var;
- int *pl;
+ int *pl;
var = va_arg(ap, mrb_value**);
pl = va_arg(ap, int*);
if (argc > i) {
*pl = argc-i;
if (*pl > 0) {
- *var = sp;
+ *var = sp;
i = argc;
}
- i = argc;
- sp += *pl;
+ i = argc;
+ sp += *pl;
}
else {
*pl = 0;
@@ -681,13 +681,13 @@ mrb_include_module(mrb_state *mrb, struct RClass *c, struct RClass *m)
while(p) {
if (c != p && p->tt == MRB_TT_CLASS) {
- superclass_seen = 1;
+ superclass_seen = 1;
}
else if (p->mt == m->mt){
- if (p->tt == MRB_TT_ICLASS && !superclass_seen) {
- ins_pos = p;
- }
- goto skip;
+ if (p->tt == MRB_TT_ICLASS && !superclass_seen) {
+ ins_pos = p;
+ }
+ goto skip;
}
p = p->super;
}
@@ -1769,9 +1769,9 @@ mrb_init_class(mrb_state *mrb)
/* name basic classes */
mrb_define_const(mrb, bob, "BasicObject", mrb_obj_value(bob));
mrb_define_const(mrb, obj, "BasicObject", mrb_obj_value(bob));
- mrb_define_const(mrb, obj, "Object", mrb_obj_value(obj));
- mrb_define_const(mrb, obj, "Module", mrb_obj_value(mod));
- mrb_define_const(mrb, obj, "Class", mrb_obj_value(cls));
+ mrb_define_const(mrb, obj, "Object", mrb_obj_value(obj));
+ mrb_define_const(mrb, obj, "Module", mrb_obj_value(mod));
+ mrb_define_const(mrb, obj, "Class", mrb_obj_value(cls));
/* name each classes */
mrb_name_class(mrb, bob, mrb_intern(mrb, "BasicObject"));
@@ -1781,43 +1781,44 @@ mrb_init_class(mrb_state *mrb)
mrb_undef_method(mrb, mod, "new");
MRB_SET_INSTANCE_TT(cls, MRB_TT_CLASS);
- mrb_define_method(mrb, bob, "initialize", mrb_bob_init, ARGS_NONE());
- mrb_define_method(mrb, bob, "!", mrb_bob_not, ARGS_NONE());
- mrb_define_method(mrb, bob, "method_missing", mrb_bob_missing, ARGS_ANY()); /* 15.3.1.3.30 */
- mrb_define_class_method(mrb, cls, "new", mrb_class_new_class, ARGS_ANY());
- mrb_define_method(mrb, cls, "superclass", mrb_class_superclass, ARGS_NONE()); /* 15.2.3.3.4 */
- mrb_define_method(mrb, cls, "new", mrb_instance_new, ARGS_ANY()); /* 15.2.3.3.3 */
- mrb_define_method(mrb, cls, "inherited", mrb_bob_init, ARGS_REQ(1));
- mrb_define_method(mrb, mod, "class_variable_defined?", mrb_mod_cvar_defined, ARGS_REQ(1)); /* 15.2.2.4.16 */
- mrb_define_method(mrb, mod, "class_variable_get", mrb_mod_cvar_get, ARGS_REQ(1)); /* 15.2.2.4.17 */
- mrb_define_method(mrb, mod, "class_variable_set", mrb_mod_cvar_set, ARGS_REQ(2)); /* 15.2.2.4.18 */
- mrb_define_method(mrb, mod, "extend_object", mrb_mod_extend_object, ARGS_REQ(1)); /* 15.2.2.4.25 */
- mrb_define_method(mrb, mod, "extended", mrb_bob_init, ARGS_REQ(1)); /* 15.2.2.4.26 */
- mrb_define_method(mrb, mod, "include", mrb_mod_include, ARGS_ANY()); /* 15.2.2.4.27 */
- mrb_define_method(mrb, mod, "include?", mrb_mod_include_p, ARGS_REQ(1)); /* 15.2.2.4.28 */
- mrb_define_method(mrb, mod, "append_features", mrb_mod_append_features, ARGS_REQ(1)); /* 15.2.2.4.10 */
- mrb_define_method(mrb, mod, "class_eval", mrb_mod_module_eval, ARGS_ANY()); /* 15.2.2.4.15 */
- mrb_define_method(mrb, mod, "included", mrb_bob_init, ARGS_REQ(1)); /* 15.2.2.4.29 */
- mrb_define_method(mrb, mod, "included_modules", mrb_mod_included_modules, ARGS_NONE()); /* 15.2.2.4.30 */
- mrb_define_method(mrb, mod, "instance_methods", mrb_mod_instance_methods, ARGS_ANY()); /* 15.2.2.4.33 */
- mrb_define_method(mrb, mod, "method_defined?", mrb_mod_method_defined, ARGS_REQ(1)); /* 15.2.2.4.34 */
- mrb_define_method(mrb, mod, "module_eval", mrb_mod_module_eval, ARGS_ANY()); /* 15.2.2.4.35 */
- mrb_define_method(mrb, mod, "remove_class_variable", mrb_mod_remove_cvar, ARGS_REQ(1)); /* 15.2.2.4.39 */
- mrb_define_method(mrb, mod, "remove_method", mrb_mod_remove_method, ARGS_ANY()); /* 15.2.2.4.41 */
-
- mrb_define_method(mrb, mod, "to_s", mrb_mod_to_s, ARGS_NONE());
- mrb_define_method(mrb, mod, "inspect", mrb_mod_to_s, ARGS_NONE());
- mrb_define_method(mrb, mod, "alias_method", mrb_mod_alias, ARGS_ANY()); /* 15.2.2.4.8 */
- mrb_define_method(mrb, mod, "ancestors", mrb_mod_ancestors, ARGS_NONE()); /* 15.2.2.4.9 */
- mrb_define_method(mrb, mod, "undef_method", mrb_mod_undef, ARGS_ANY()); /* 15.2.2.4.41 */
- mrb_define_method(mrb, mod, "const_defined?", mrb_mod_const_defined, ARGS_REQ(1)); /* 15.2.2.4.20 */
- mrb_define_method(mrb, mod, "const_get", mrb_mod_const_get, ARGS_REQ(1)); /* 15.2.2.4.21 */
- mrb_define_method(mrb, mod, "const_set", mrb_mod_const_set, ARGS_REQ(2)); /* 15.2.2.4.23 */
- mrb_define_method(mrb, mod, "remove_const", mrb_mod_remove_const, ARGS_REQ(1)); /* 15.2.2.4.40 */
- mrb_define_method(mrb, mod, "define_method", mod_define_method, ARGS_REQ(1));
- mrb_define_method(mrb, mod, "class_variables", mrb_mod_class_variables, ARGS_NONE()); /* 15.2.2.4.19 */
-
- mrb_define_method(mrb, mod, "===", mrb_mod_eqq, ARGS_REQ(1));
+ mrb_define_method(mrb, bob, "initialize", mrb_bob_init, ARGS_NONE());
+ mrb_define_method(mrb, bob, "!", mrb_bob_not, ARGS_NONE());
+ mrb_define_method(mrb, bob, "method_missing", mrb_bob_missing, ARGS_ANY()); /* 15.3.1.3.30 */
+
+ mrb_define_class_method(mrb, cls, "new", mrb_class_new_class, ARGS_ANY());
+ mrb_define_method(mrb, cls, "superclass", mrb_class_superclass, ARGS_NONE()); /* 15.2.3.3.4 */
+ mrb_define_method(mrb, cls, "new", mrb_instance_new, ARGS_ANY()); /* 15.2.3.3.3 */
+ mrb_define_method(mrb, cls, "inherited", mrb_bob_init, ARGS_REQ(1));
+
+ mrb_define_method(mrb, mod, "class_variable_defined?", mrb_mod_cvar_defined, ARGS_REQ(1)); /* 15.2.2.4.16 */
+ mrb_define_method(mrb, mod, "class_variable_get", mrb_mod_cvar_get, ARGS_REQ(1)); /* 15.2.2.4.17 */
+ mrb_define_method(mrb, mod, "class_variable_set", mrb_mod_cvar_set, ARGS_REQ(2)); /* 15.2.2.4.18 */
+ mrb_define_method(mrb, mod, "extend_object", mrb_mod_extend_object, ARGS_REQ(1)); /* 15.2.2.4.25 */
+ mrb_define_method(mrb, mod, "extended", mrb_bob_init, ARGS_REQ(1)); /* 15.2.2.4.26 */
+ mrb_define_method(mrb, mod, "include", mrb_mod_include, ARGS_ANY()); /* 15.2.2.4.27 */
+ mrb_define_method(mrb, mod, "include?", mrb_mod_include_p, ARGS_REQ(1)); /* 15.2.2.4.28 */
+ mrb_define_method(mrb, mod, "append_features", mrb_mod_append_features, ARGS_REQ(1)); /* 15.2.2.4.10 */
+ mrb_define_method(mrb, mod, "class_eval", mrb_mod_module_eval, ARGS_ANY()); /* 15.2.2.4.15 */
+ mrb_define_method(mrb, mod, "included", mrb_bob_init, ARGS_REQ(1)); /* 15.2.2.4.29 */
+ mrb_define_method(mrb, mod, "included_modules", mrb_mod_included_modules, ARGS_NONE()); /* 15.2.2.4.30 */
+ mrb_define_method(mrb, mod, "instance_methods", mrb_mod_instance_methods, ARGS_ANY()); /* 15.2.2.4.33 */
+ mrb_define_method(mrb, mod, "method_defined?", mrb_mod_method_defined, ARGS_REQ(1)); /* 15.2.2.4.34 */
+ mrb_define_method(mrb, mod, "module_eval", mrb_mod_module_eval, ARGS_ANY()); /* 15.2.2.4.35 */
+ mrb_define_method(mrb, mod, "remove_class_variable", mrb_mod_remove_cvar, ARGS_REQ(1)); /* 15.2.2.4.39 */
+ mrb_define_method(mrb, mod, "remove_method", mrb_mod_remove_method, ARGS_ANY()); /* 15.2.2.4.41 */
+ mrb_define_method(mrb, mod, "to_s", mrb_mod_to_s, ARGS_NONE());
+ mrb_define_method(mrb, mod, "inspect", mrb_mod_to_s, ARGS_NONE());
+ mrb_define_method(mrb, mod, "alias_method", mrb_mod_alias, ARGS_ANY()); /* 15.2.2.4.8 */
+ mrb_define_method(mrb, mod, "ancestors", mrb_mod_ancestors, ARGS_NONE()); /* 15.2.2.4.9 */
+ mrb_define_method(mrb, mod, "undef_method", mrb_mod_undef, ARGS_ANY()); /* 15.2.2.4.41 */
+ mrb_define_method(mrb, mod, "const_defined?", mrb_mod_const_defined, ARGS_REQ(1)); /* 15.2.2.4.20 */
+ mrb_define_method(mrb, mod, "const_get", mrb_mod_const_get, ARGS_REQ(1)); /* 15.2.2.4.21 */
+ mrb_define_method(mrb, mod, "const_set", mrb_mod_const_set, ARGS_REQ(2)); /* 15.2.2.4.23 */
+ mrb_define_method(mrb, mod, "remove_const", mrb_mod_remove_const, ARGS_REQ(1)); /* 15.2.2.4.40 */
+ mrb_define_method(mrb, mod, "define_method", mod_define_method, ARGS_REQ(1));
+ mrb_define_method(mrb, mod, "class_variables", mrb_mod_class_variables, ARGS_NONE()); /* 15.2.2.4.19 */
+ mrb_define_method(mrb, mod, "===", mrb_mod_eqq, ARGS_REQ(1));
+
mrb_undef_method(mrb, cls, "append_features");
mrb_undef_method(mrb, cls, "extend_object");
}
diff --git a/src/etc.c b/src/etc.c
index 6a43ddd31..626627f6f 100644
--- a/src/etc.c
+++ b/src/etc.c
@@ -11,19 +11,19 @@
#include "mruby/data.h"
struct RData*
-mrb_data_object_alloc(mrb_state *mrb, struct RClass *klass, void *ptr, const struct mrb_data_type *type)
+mrb_data_object_alloc(mrb_state *mrb, struct RClass *klass, void *ptr, const mrb_data_type *type)
{
struct RData *data;
data = (struct RData*)mrb_obj_alloc(mrb, MRB_TT_DATA, klass);
data->data = ptr;
- data->type = (struct mrb_data_type*) type;
+ data->type = (mrb_data_type*) type;
return data;
}
void *
-mrb_get_datatype(mrb_state *mrb, mrb_value obj, const struct mrb_data_type *type)
+mrb_get_datatype(mrb_state *mrb, mrb_value obj, const mrb_data_type *type)
{
if (mrb_special_const_p(obj) || (mrb_type(obj) != MRB_TT_DATA)) {
return NULL;
@@ -35,7 +35,7 @@ mrb_get_datatype(mrb_state *mrb, mrb_value obj, const struct mrb_data_type *type
}
void *
-mrb_check_datatype(mrb_state *mrb, mrb_value obj, const struct mrb_data_type *type)
+mrb_check_datatype(mrb_state *mrb, mrb_value obj, const mrb_data_type *type)
{
static const char mesg[] = "wrong argument type %s (expected %s)";
diff --git a/src/gc.c b/src/gc.c
index 58326d396..5cc794fd9 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -314,7 +314,7 @@ mrb_free_heap(mrb_state *mrb)
static void
gc_protect(mrb_state *mrb, struct RBasic *p)
{
- if (mrb->arena_idx > MRB_ARENA_SIZE) {
+ if (mrb->arena_idx >= MRB_ARENA_SIZE) {
/* arena overflow error */
mrb->arena_idx = MRB_ARENA_SIZE - 4; /* force room in arena */
mrb_raise(mrb, E_RUNTIME_ERROR, "arena overflow error");
diff --git a/src/range.c b/src/range.c
index 2e9ec26ed..aac1d830a 100644
--- a/src/range.c
+++ b/src/range.c
@@ -40,7 +40,7 @@ mrb_range_new(mrb_state *mrb, mrb_value beg, mrb_value end, int excl)
r = (struct RRange*)mrb_obj_alloc(mrb, MRB_TT_RANGE, RANGE_CLASS);
range_check(mrb, beg, end);
- r->edges = (struct mrb_range_edges *)mrb_malloc(mrb, sizeof(struct mrb_range_edges));
+ r->edges = (mrb_range_edges *)mrb_malloc(mrb, sizeof(mrb_range_edges));
r->edges->beg = beg;
r->edges->end = end;
r->excl = excl;
@@ -103,7 +103,7 @@ range_init(mrb_state *mrb, mrb_value range, mrb_value beg, mrb_value end, int ex
range_check(mrb, beg, end);
r->excl = exclude_end;
if (!r->edges) {
- r->edges = (struct mrb_range_edges *)mrb_malloc(mrb, sizeof(struct mrb_range_edges));
+ r->edges = (mrb_range_edges *)mrb_malloc(mrb, sizeof(mrb_range_edges));
}
r->edges->beg = beg;
r->edges->end = end;
diff --git a/src/string.c b/src/string.c
index 7af0d1d59..28cf0ab9a 100644
--- a/src/string.c
+++ b/src/string.c
@@ -35,7 +35,7 @@ _obj_classname(mrb_state *mrb, mrb_value obj)
}
void
-mrb_str_decref(mrb_state *mrb, struct mrb_shared_string *shared)
+mrb_str_decref(mrb_state *mrb, mrb_shared_string *shared)
{
shared->refcnt--;
if (shared->refcnt == 0) {
@@ -48,7 +48,7 @@ static void
str_modify(mrb_state *mrb, struct RString *s)
{
if (s->flags & MRB_STR_SHARED) {
- struct mrb_shared_string *shared = s->aux.shared;
+ mrb_shared_string *shared = s->aux.shared;
if (shared->refcnt == 1 && s->ptr == shared->ptr) {
s->ptr = shared->ptr;
@@ -275,7 +275,7 @@ static void
str_make_shared(mrb_state *mrb, struct RString *s)
{
if (!(s->flags & MRB_STR_SHARED)) {
- struct mrb_shared_string *shared = (struct mrb_shared_string *)mrb_malloc(mrb, sizeof(struct mrb_shared_string));
+ mrb_shared_string *shared = (mrb_shared_string *)mrb_malloc(mrb, sizeof(mrb_shared_string));
shared->refcnt = 1;
if (s->aux.capa > s->len) {
@@ -301,7 +301,7 @@ mrb_value
mrb_str_literal(mrb_state *mrb, mrb_value str)
{
struct RString *s, *orig;
- struct mrb_shared_string *shared;
+ mrb_shared_string *shared;
s = str_alloc(mrb, mrb->string_class);
orig = mrb_str_ptr(str);
@@ -1161,7 +1161,7 @@ static mrb_value
mrb_str_subseq(mrb_state *mrb, mrb_value str, int beg, int len)
{
struct RString *orig, *s;
- struct mrb_shared_string *shared;
+ mrb_shared_string *shared;
orig = mrb_str_ptr(str);
str_make_shared(mrb, orig);