summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-04-25 04:01:57 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-04-25 04:01:57 +0900
commit83c1399af0d750e7a629dbf0ed6b7d0f59cf79ec (patch)
tree7716a3f4b808387d5964229f1526043d3272b013
parent8a04dd84930e50c3aa18126a8c0215df9ea20844 (diff)
downloadmruby-83c1399af0d750e7a629dbf0ed6b7d0f59cf79ec.tar.gz
mruby-83c1399af0d750e7a629dbf0ed6b7d0f59cf79ec.zip
eliminate plain int except for a few cases like arena_index
-rw-r--r--include/mruby.h16
-rw-r--r--include/mruby/string.h2
-rw-r--r--mrbgems/mruby-fiber/src/fiber.c13
-rw-r--r--src/array.c21
-rw-r--r--src/class.c26
-rw-r--r--src/codegen.c5
-rw-r--r--src/kernel.c8
-rw-r--r--src/string.c18
-rw-r--r--src/vm.c16
9 files changed, 54 insertions, 71 deletions
diff --git a/include/mruby.h b/include/mruby.h
index b74b1e466..9615980a2 100644
--- a/include/mruby.h
+++ b/include/mruby.h
@@ -194,7 +194,7 @@ void mrb_define_module_function(mrb_state*, struct RClass*, const char*, mrb_fun
void mrb_define_const(mrb_state*, struct RClass*, const char *name, mrb_value);
void mrb_undef_method(mrb_state*, struct RClass*, const char*);
void mrb_undef_class_method(mrb_state*, struct RClass*, const char*);
-mrb_value mrb_obj_new(mrb_state *mrb, struct RClass *c, int argc, const mrb_value *argv);
+mrb_value mrb_obj_new(mrb_state *mrb, struct RClass *c, mrb_int argc, const mrb_value *argv);
#define mrb_class_new_instance(mrb,argc,argv,c) mrb_obj_new(mrb,c,argc,argv)
mrb_value mrb_instance_new(mrb_state *mrb, mrb_value cv);
struct RClass * mrb_class_new(mrb_state *mrb, struct RClass *super);
@@ -242,7 +242,7 @@ struct RClass * mrb_define_module_under(mrb_state *mrb, struct RClass *outer, co
#define ARGS_ANY() MRB_ARGS_ANY()
#define ARGS_NONE() MRB_ARGS_NONE()
-int mrb_get_args(mrb_state *mrb, const char *format, ...);
+mrb_int mrb_get_args(mrb_state *mrb, const char *format, ...);
/* `strlen` for character string literals (use with caution or `strlen` instead)
Adjacent string literals are concatenated in C/C++ in translation phase 6.
@@ -252,9 +252,9 @@ int mrb_get_args(mrb_state *mrb, const char *format, ...);
*/
#define mrb_strlen_lit(lit) (sizeof(lit "") - 1)
-mrb_value mrb_funcall(mrb_state*, mrb_value, const char*, int,...);
-mrb_value mrb_funcall_argv(mrb_state*, mrb_value, mrb_sym, int, const mrb_value*);
-mrb_value mrb_funcall_with_block(mrb_state*, mrb_value, mrb_sym, int, const mrb_value*, mrb_value);
+mrb_value mrb_funcall(mrb_state*, mrb_value, const char*, mrb_int,...);
+mrb_value mrb_funcall_argv(mrb_state*, mrb_value, mrb_sym, mrb_int, const mrb_value*);
+mrb_value mrb_funcall_with_block(mrb_state*, mrb_value, mrb_sym, mrb_int, const mrb_value*, mrb_value);
mrb_sym mrb_intern_cstr(mrb_state*,const char*);
mrb_sym mrb_intern(mrb_state*,const char*,size_t);
mrb_sym mrb_intern_static(mrb_state*,const char*,size_t);
@@ -376,8 +376,8 @@ void mrb_print_error(mrb_state *mrb);
#define E_KEY_ERROR (mrb_class_get(mrb, "KeyError"))
mrb_value mrb_yield(mrb_state *mrb, mrb_value b, mrb_value arg);
-mrb_value mrb_yield_argv(mrb_state *mrb, mrb_value b, int argc, const mrb_value *argv);
-mrb_value mrb_yield_with_class(mrb_state *mrb, mrb_value b, int argc, const mrb_value *argv, mrb_value self, struct RClass *c);
+mrb_value mrb_yield_argv(mrb_state *mrb, mrb_value b, mrb_int argc, const mrb_value *argv);
+mrb_value mrb_yield_with_class(mrb_state *mrb, mrb_value b, mrb_int argc, const mrb_value *argv, mrb_value self, struct RClass *c);
void mrb_gc_protect(mrb_state *mrb, mrb_value obj);
mrb_value mrb_to_int(mrb_state *mrb, mrb_value val);
@@ -400,7 +400,7 @@ mrb_bool mrb_respond_to(mrb_state *mrb, mrb_value obj, mrb_sym mid);
mrb_bool mrb_obj_is_instance_of(mrb_state *mrb, mrb_value obj, struct RClass* c);
/* fiber functions (you need to link mruby-fiber mrbgem to use) */
-mrb_value mrb_fiber_yield(mrb_state *mrb, int argc, const mrb_value *argv);
+mrb_value mrb_fiber_yield(mrb_state *mrb, mrb_int argc, const mrb_value *argv);
#define E_FIBER_ERROR (mrb_class_get(mrb, "FiberError"))
/* memory pool implementation */
diff --git a/include/mruby/string.h b/include/mruby/string.h
index 3123b5b4f..e50e05e83 100644
--- a/include/mruby/string.h
+++ b/include/mruby/string.h
@@ -72,7 +72,7 @@ char *mrb_string_value_ptr(mrb_state *mrb, mrb_value ptr);
int mrb_str_offset(mrb_state *mrb, mrb_value str, int pos);
mrb_value mrb_str_dup(mrb_state *mrb, mrb_value str);
mrb_value mrb_str_intern(mrb_state *mrb, mrb_value self);
-mrb_value mrb_str_to_inum(mrb_state *mrb, mrb_value str, int base, mrb_bool badcheck);
+mrb_value mrb_str_to_inum(mrb_state *mrb, mrb_value str, mrb_int base, mrb_bool badcheck);
double mrb_str_to_dbl(mrb_state *mrb, mrb_value str, mrb_bool badcheck);
mrb_value mrb_str_to_str(mrb_state *mrb, mrb_value str);
mrb_int mrb_str_hash(mrb_state *mrb, mrb_value str);
diff --git a/mrbgems/mruby-fiber/src/fiber.c b/mrbgems/mruby-fiber/src/fiber.c
index 12924c15c..927cccac7 100644
--- a/mrbgems/mruby-fiber/src/fiber.c
+++ b/mrbgems/mruby-fiber/src/fiber.c
@@ -126,7 +126,7 @@ fiber_check(mrb_state *mrb, mrb_value fib)
}
static mrb_value
-fiber_result(mrb_state *mrb, const mrb_value *a, int len)
+fiber_result(mrb_state *mrb, const mrb_value *a, mrb_int len)
{
if (len == 0) return mrb_nil_value();
if (len == 1) return a[0];
@@ -137,7 +137,7 @@ fiber_result(mrb_state *mrb, const mrb_value *a, int len)
#define MARK_CONTEXT_MODIFY(c) (c)->ci->target_class = NULL
static mrb_value
-fiber_switch(mrb_state *mrb, mrb_value self, int len, const mrb_value *a, mrb_bool resume)
+fiber_switch(mrb_state *mrb, mrb_value self, mrb_int len, const mrb_value *a, mrb_bool resume)
{
struct mrb_context *c = fiber_check(mrb, self);
mrb_callinfo *ci;
@@ -203,7 +203,8 @@ static mrb_value
fiber_resume(mrb_state *mrb, mrb_value self)
{
mrb_value *a;
- int len;
+ mrb_int len;
+
mrb_get_args(mrb, "*", &a, &len);
return fiber_switch(mrb, self, len, a, TRUE);
}
@@ -251,7 +252,7 @@ fiber_transfer(mrb_state *mrb, mrb_value self)
{
struct mrb_context *c = fiber_check(mrb, self);
mrb_value* a;
- int len;
+ mrb_int len;
mrb_get_args(mrb, "*", &a, &len);
@@ -271,7 +272,7 @@ fiber_transfer(mrb_state *mrb, mrb_value self)
}
mrb_value
-mrb_fiber_yield(mrb_state *mrb, int len, const mrb_value *a)
+mrb_fiber_yield(mrb_state *mrb, mrb_int len, const mrb_value *a)
{
struct mrb_context *c = mrb->c;
mrb_callinfo *ci;
@@ -307,7 +308,7 @@ static mrb_value
fiber_yield(mrb_state *mrb, mrb_value self)
{
mrb_value *a;
- int len;
+ mrb_int len;
mrb_get_args(mrb, "*", &a, &len);
return mrb_fiber_yield(mrb, len, a);
diff --git a/src/array.c b/src/array.c
index c8e88e197..403a63807 100644
--- a/src/array.c
+++ b/src/array.c
@@ -235,12 +235,11 @@ static mrb_value
mrb_ary_s_create(mrb_state *mrb, mrb_value self)
{
mrb_value *vals;
- int len;
+ mrb_int len;
mrb_get_args(mrb, "*", &vals, &len);
- mrb_assert(len <= MRB_INT_MAX); /* A rare case. So choosed assert() not raise(). */
- return mrb_ary_new_from_values(mrb, (mrb_int)len, vals);
+ return mrb_ary_new_from_values(mrb, len, vals);
}
static void
@@ -409,7 +408,7 @@ static mrb_value
mrb_ary_push_m(mrb_state *mrb, mrb_value self)
{
mrb_value *argv;
- int len;
+ mrb_int len;
mrb_get_args(mrb, "*", &argv, &len);
while (len--) {
@@ -495,7 +494,7 @@ mrb_ary_unshift_m(mrb_state *mrb, mrb_value self)
{
struct RArray *a = mrb_ary_ptr(self);
mrb_value *vals;
- int len;
+ mrb_int len;
mrb_get_args(mrb, "*", &vals, &len);
if (ARY_SHARED_P(a)
@@ -825,18 +824,10 @@ mrb_ary_last(mrb_state *mrb, mrb_value self)
{
struct RArray *a = mrb_ary_ptr(self);
mrb_int size;
- mrb_value *vals;
- int len;
-
- mrb_get_args(mrb, "*", &vals, &len);
- if (len > 1) {
- mrb_raise(mrb, E_ARGUMENT_ERROR, "wrong number of arguments");
- }
- if (len == 0) return (a->len > 0)? a->ptr[a->len - 1]: mrb_nil_value();
+ if (mrb_get_args(mrb, "|i", &size) == 0)
+ return (a->len > 0)? a->ptr[a->len - 1]: mrb_nil_value();
- /* len == 1 */
- size = mrb_fixnum(*vals);
if (size < 0) {
mrb_raise(mrb, E_ARGUMENT_ERROR, "negative array size");
}
diff --git a/src/class.c b/src/class.c
index caf5abf30..bb6a97c65 100644
--- a/src/class.c
+++ b/src/class.c
@@ -400,7 +400,7 @@ to_hash(mrb_state *mrb, mrb_value val)
S: String [mrb_value]
A: Array [mrb_value]
H: Hash [mrb_value]
- s: String [char*,int] Receive two arguments.
+ s: String [char*,mrb_int] Receive two arguments.
z: String [char*] NUL terminated string.
a: Array [mrb_value*,mrb_int] Receive two arguments.
f: Float [mrb_float]
@@ -409,11 +409,11 @@ to_hash(mrb_state *mrb, mrb_value val)
n: Symbol [mrb_sym]
d: Data [void*,mrb_data_type const] 2nd argument will be used to check data type so it won't be modified
&: Block [mrb_value]
- *: rest argument [mrb_value*,int] Receive the rest of the arguments as an array.
+ *: rest argument [mrb_value*,mrb_int] Receive the rest of the arguments as an array.
|: optional Next argument of '|' and later are optional.
?: optional given [mrb_bool] true if preceding argument (optional) is given.
*/
-int
+mrb_int
mrb_get_args(mrb_state *mrb, const char *format, ...)
{
char c;
@@ -519,10 +519,10 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
{
mrb_value ss;
char **ps = 0;
- int *pl = 0;
+ mrb_int *pl = 0;
ps = va_arg(ap, char**);
- pl = va_arg(ap, int*);
+ pl = va_arg(ap, mrb_int*);
if (i < argc) {
ss = to_str(mrb, *sp++);
*ps = RSTRING_PTR(ss);
@@ -683,10 +683,10 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
case '*':
{
mrb_value **var;
- int *pl;
+ mrb_int *pl;
var = va_arg(ap, mrb_value**);
- pl = va_arg(ap, int*);
+ pl = va_arg(ap, mrb_int*);
if (argc > i) {
*pl = argc-i;
if (*pl > 0) {
@@ -788,7 +788,7 @@ static mrb_value
mrb_mod_include(mrb_state *mrb, mrb_value klass)
{
mrb_value *argv;
- int argc, i;
+ mrb_int argc, i;
mrb_get_args(mrb, "*", &argv, &argc);
for (i=0; i<argc; i++) {
@@ -1082,7 +1082,7 @@ mrb_instance_new(mrb_state *mrb, mrb_value cv)
{
mrb_value obj, blk;
mrb_value *argv;
- int argc;
+ mrb_int argc;
obj = mrb_instance_alloc(mrb, cv);
mrb_get_args(mrb, "*&", &argv, &argc, &blk);
@@ -1092,7 +1092,7 @@ mrb_instance_new(mrb_state *mrb, mrb_value cv)
}
mrb_value
-mrb_obj_new(mrb_state *mrb, struct RClass *c, int argc, const mrb_value *argv)
+mrb_obj_new(mrb_state *mrb, struct RClass *c, mrb_int argc, const mrb_value *argv)
{
mrb_value obj;
@@ -1183,7 +1183,7 @@ mrb_bob_missing(mrb_state *mrb, mrb_value mod)
{
mrb_sym name;
mrb_value *a;
- int alen;
+ mrb_int alen;
mrb_sym inspect;
mrb_value repr;
@@ -1498,7 +1498,7 @@ static mrb_value
mrb_mod_undef(mrb_state *mrb, mrb_value mod)
{
struct RClass *c = mrb_class_ptr(mod);
- int argc;
+ mrb_int argc;
mrb_value *argv;
mrb_get_args(mrb, "*", &argv, &argc);
@@ -1790,7 +1790,7 @@ remove_method(mrb_state *mrb, mrb_value mod, mrb_sym mid)
static mrb_value
mrb_mod_remove_method(mrb_state *mrb, mrb_value mod)
{
- int argc;
+ mrb_int argc;
mrb_value *argv;
mrb_get_args(mrb, "*", &argv, &argc);
diff --git a/src/codegen.c b/src/codegen.c
index d8fd52665..bd671ba37 100644
--- a/src/codegen.c
+++ b/src/codegen.c
@@ -2627,7 +2627,7 @@ static void
codedump(mrb_state *mrb, mrb_irep *irep)
{
#ifdef ENABLE_STDIO
- int i;
+ size_t i;
int ai;
mrb_code c;
@@ -2635,8 +2635,7 @@ codedump(mrb_state *mrb, mrb_irep *irep)
printf("irep %p nregs=%d nlocals=%d pools=%d syms=%d reps=%d\n", irep,
irep->nregs, irep->nlocals, (int)irep->plen, (int)irep->slen, (int)irep->rlen);
- mrb_assert(irep->ilen <= INT_MAX);
- for (i = 0; i < (int)(irep->ilen); i++) {
+ for (i = 0; i < irep->ilen; i++) {
ai = mrb_gc_arena_save(mrb);
printf("%03d ", i);
c = irep->iseq[i];
diff --git a/src/kernel.c b/src/kernel.c
index 90007748c..4db8ad7ee 100644
--- a/src/kernel.c
+++ b/src/kernel.c
@@ -392,9 +392,9 @@ mrb_obj_dup(mrb_state *mrb, mrb_value obj)
}
static mrb_value
-mrb_obj_extend(mrb_state *mrb, int argc, mrb_value *argv, mrb_value obj)
+mrb_obj_extend(mrb_state *mrb, mrb_int argc, mrb_value *argv, mrb_value obj)
{
- int i;
+ mrb_int i;
if (argc == 0) {
mrb_raise(mrb, E_ARGUMENT_ERROR, "wrong number of arguments (at least 1)");
@@ -438,7 +438,7 @@ static mrb_value
mrb_obj_extend_m(mrb_state *mrb, mrb_value self)
{
mrb_value *argv;
- int argc;
+ mrb_int argc;
mrb_get_args(mrb, "*", &argv, &argc);
return mrb_obj_extend(mrb, argc, argv, self);
@@ -1014,7 +1014,7 @@ static mrb_value
obj_respond_to(mrb_state *mrb, mrb_value self)
{
mrb_value *argv;
- int argc;
+ mrb_int argc;
mrb_value mid, priv;
mrb_sym id, rtm_id;
mrb_bool respond_to_p = TRUE;
diff --git a/src/string.c b/src/string.c
index dd0889d92..b2a625eea 100644
--- a/src/string.c
+++ b/src/string.c
@@ -1351,8 +1351,7 @@ static mrb_value
mrb_str_index_m(mrb_state *mrb, mrb_value str)
{
mrb_value *argv;
- int argc;
-
+ mrb_int argc;
mrb_value sub;
mrb_int pos;
@@ -1695,7 +1694,7 @@ static mrb_value
mrb_str_rindex_m(mrb_state *mrb, mrb_value str)
{
mrb_value *argv;
- int argc;
+ mrb_int argc;
mrb_value sub;
mrb_value vpos;
mrb_int pos, len = RSTRING_LEN(str);
@@ -2104,7 +2103,7 @@ mrb_string_value_cstr(mrb_state *mrb, mrb_value *ptr)
}
mrb_value
-mrb_str_to_inum(mrb_state *mrb, mrb_value str, int base, mrb_bool badcheck)
+mrb_str_to_inum(mrb_state *mrb, mrb_value str, mrb_int base, mrb_bool badcheck)
{
char *s;
mrb_int len;
@@ -2150,16 +2149,9 @@ mrb_str_to_inum(mrb_state *mrb, mrb_value str, int base, mrb_bool badcheck)
static mrb_value
mrb_str_to_i(mrb_state *mrb, mrb_value self)
{
- mrb_value *argv;
- int argc;
- int base;
-
- mrb_get_args(mrb, "*", &argv, &argc);
- if (argc == 0)
- base = 10;
- else
- base = mrb_fixnum(argv[0]);
+ mrb_int base = 10;
+ mrb_get_args(mrb, "|i", &base);
if (base < 0) {
mrb_raisef(mrb, E_ARGUMENT_ERROR, "illegal radix %S", mrb_fixnum_value(base));
}
diff --git a/src/vm.c b/src/vm.c
index 77910b1bf..9d62ce548 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -288,7 +288,7 @@ ecall(mrb_state *mrb, int i)
#endif
mrb_value
-mrb_funcall(mrb_state *mrb, mrb_value self, const char *name, int argc, ...)
+mrb_funcall(mrb_state *mrb, mrb_value self, const char *name, mrb_int argc, ...)
{
mrb_sym mid = mrb_intern_cstr(mrb, name);
@@ -307,7 +307,7 @@ mrb_funcall(mrb_state *mrb, mrb_value self, const char *name, int argc, ...)
else {
mrb_value argv[MRB_FUNCALL_ARGC_MAX];
va_list ap;
- int i;
+ mrb_int i;
if (argc > MRB_FUNCALL_ARGC_MAX) {
mrb_raise(mrb, E_ARGUMENT_ERROR, "Too long arguments. (limit=" TO_STR(MRB_FUNCALL_ARGC_MAX) ")");
@@ -323,7 +323,7 @@ mrb_funcall(mrb_state *mrb, mrb_value self, const char *name, int argc, ...)
}
mrb_value
-mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, int argc, const mrb_value *argv, mrb_value blk)
+mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc, const mrb_value *argv, mrb_value blk)
{
mrb_value val;
@@ -413,7 +413,7 @@ mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, int argc, co
}
mrb_value
-mrb_funcall_argv(mrb_state *mrb, mrb_value self, mrb_sym mid, int argc, const mrb_value *argv)
+mrb_funcall_argv(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc, const mrb_value *argv)
{
return mrb_funcall_with_block(mrb, self, mid, argc, argv, mrb_nil_value());
}
@@ -442,7 +442,7 @@ mrb_f_send(mrb_state *mrb, mrb_value self)
{
mrb_sym name;
mrb_value block, *argv, *regs;
- int argc, i, len;
+ mrb_int argc, i, len;
struct RProc *p;
struct RClass *c;
mrb_callinfo *ci;
@@ -487,7 +487,7 @@ mrb_f_send(mrb_state *mrb, mrb_value self)
}
mrb_value
-mrb_yield_with_class(mrb_state *mrb, mrb_value b, int argc, const mrb_value *argv, mrb_value self, struct RClass *c)
+mrb_yield_with_class(mrb_state *mrb, mrb_value b, mrb_int argc, const mrb_value *argv, mrb_value self, struct RClass *c)
{
struct RProc *p;
mrb_sym mid = mrb->c->ci->mid;
@@ -534,7 +534,7 @@ mrb_yield_with_class(mrb_state *mrb, mrb_value b, int argc, const mrb_value *arg
}
mrb_value
-mrb_yield_argv(mrb_state *mrb, mrb_value b, int argc, const mrb_value *argv)
+mrb_yield_argv(mrb_state *mrb, mrb_value b, mrb_int argc, const mrb_value *argv)
{
struct RProc *p = mrb_proc_ptr(b);
@@ -572,7 +572,7 @@ localjump_error(mrb_state *mrb, localjump_error_kind kind)
}
static void
-argnum_error(mrb_state *mrb, int num)
+argnum_error(mrb_state *mrb, mrb_int num)
{
mrb_value exc;
mrb_value str;