diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-06-20 12:49:46 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-06-20 12:49:46 +0900 |
| commit | 49ae2a69f2c3acbb952406768320401cf1769425 (patch) | |
| tree | fd0b49d898327a1de29e143fb2c68e6991cf710d /mrbgems | |
| parent | 2ffb77586a8ce6f325d2981e2ad88cc9e62ae39b (diff) | |
| download | mruby-49ae2a69f2c3acbb952406768320401cf1769425.tar.gz mruby-49ae2a69f2c3acbb952406768320401cf1769425.zip | |
Add `mrb_get_arg1()` that retrieves single (and only) argument.
`mrb_get_arg1()` raises `ArgumentError` if the method does not receive one
argument.
And replaces all `mrb_get_args(mrb, "o", &arg)` by the new function.
Diffstat (limited to 'mrbgems')
| -rw-r--r-- | mrbgems/mruby-array-ext/src/array.c | 10 | ||||
| -rw-r--r-- | mrbgems/mruby-complex/src/complex.c | 3 | ||||
| -rw-r--r-- | mrbgems/mruby-fiber/src/fiber.c | 3 | ||||
| -rw-r--r-- | mrbgems/mruby-inline-struct/test/inline.c | 7 | ||||
| -rw-r--r-- | mrbgems/mruby-io/src/file.c | 3 | ||||
| -rw-r--r-- | mrbgems/mruby-io/src/file_test.c | 35 | ||||
| -rw-r--r-- | mrbgems/mruby-io/src/io.c | 3 | ||||
| -rw-r--r-- | mrbgems/mruby-kernel-ext/src/kernel.c | 14 | ||||
| -rw-r--r-- | mrbgems/mruby-method/src/method.c | 7 | ||||
| -rw-r--r-- | mrbgems/mruby-print/src/print.c | 3 | ||||
| -rw-r--r-- | mrbgems/mruby-range-ext/src/range.c | 4 | ||||
| -rw-r--r-- | mrbgems/mruby-string-ext/src/string.c | 3 | ||||
| -rw-r--r-- | mrbgems/mruby-struct/src/struct.c | 16 | ||||
| -rw-r--r-- | mrbgems/mruby-time/src/time.c | 15 |
14 files changed, 42 insertions, 84 deletions
diff --git a/mrbgems/mruby-array-ext/src/array.c b/mrbgems/mruby-array-ext/src/array.c index ab6d99133..0cb61b2ab 100644 --- a/mrbgems/mruby-array-ext/src/array.c +++ b/mrbgems/mruby-array-ext/src/array.c @@ -28,9 +28,8 @@ static mrb_value mrb_ary_assoc(mrb_state *mrb, mrb_value ary) { mrb_int i; - mrb_value v, k; - - mrb_get_args(mrb, "o", &k); + mrb_value v; + mrb_value k = mrb_get_arg1(mrb); for (i = 0; i < RARRAY_LEN(ary); ++i) { v = mrb_check_array_type(mrb, RARRAY_PTR(ary)[i]); @@ -59,9 +58,8 @@ static mrb_value mrb_ary_rassoc(mrb_state *mrb, mrb_value ary) { mrb_int i; - mrb_value v, value; - - mrb_get_args(mrb, "o", &value); + mrb_value v; + mrb_value value = mrb_get_arg1(mrb); for (i = 0; i < RARRAY_LEN(ary); ++i) { v = RARRAY_PTR(ary)[i]; diff --git a/mrbgems/mruby-complex/src/complex.c b/mrbgems/mruby-complex/src/complex.c index 10fa42a2c..0432da633 100644 --- a/mrbgems/mruby-complex/src/complex.c +++ b/mrbgems/mruby-complex/src/complex.c @@ -174,7 +174,7 @@ div_pair(struct float_pair *q, struct float_pair const *a, static mrb_value complex_div(mrb_state *mrb, mrb_value self) { - mrb_value rhs; + mrb_value rhs = mrb_get_arg1(mrb); struct mrb_complex *a, *b; struct float_pair ar, ai, br, bi; struct float_pair br2, bi2; @@ -183,7 +183,6 @@ complex_div(mrb_state *mrb, mrb_value self) struct float_pair ai_br, ar_bi; struct float_pair zr, zi; - mrb_get_args(mrb, "o", &rhs); a = complex_ptr(mrb, self); b = complex_ptr(mrb, rhs); diff --git a/mrbgems/mruby-fiber/src/fiber.c b/mrbgems/mruby-fiber/src/fiber.c index 3c17b59dd..00ee7c223 100644 --- a/mrbgems/mruby-fiber/src/fiber.c +++ b/mrbgems/mruby-fiber/src/fiber.c @@ -291,8 +291,7 @@ mrb_fiber_alive_p(mrb_state *mrb, mrb_value self) static mrb_value fiber_eq(mrb_state *mrb, mrb_value self) { - mrb_value other; - mrb_get_args(mrb, "o", &other); + mrb_value other = mrb_get_arg1(mrb); if (!mrb_fiber_p(other)) { return mrb_false_value(); diff --git a/mrbgems/mruby-inline-struct/test/inline.c b/mrbgems/mruby-inline-struct/test/inline.c index 51804ae31..5d307dcab 100644 --- a/mrbgems/mruby-inline-struct/test/inline.c +++ b/mrbgems/mruby-inline-struct/test/inline.c @@ -8,8 +8,7 @@ istruct_test_initialize(mrb_state *mrb, mrb_value self) { char *string = (char*)mrb_istruct_ptr(self); mrb_int size = mrb_istruct_size(); - mrb_value object; - mrb_get_args(mrb, "o", &object); + mrb_value object = mrb_get_arg1(mrb); if (mrb_fixnum_p(object)) { strncpy(string, "fixnum", size-1); @@ -45,8 +44,8 @@ istruct_test_length(mrb_state *mrb, mrb_value self) static mrb_value istruct_test_test_receive(mrb_state *mrb, mrb_value self) { - mrb_value object; - mrb_get_args(mrb, "o", &object); + mrb_value object = mrb_get_arg1(mrb); + if (mrb_obj_class(mrb, object) != mrb_class_get(mrb, "InlineStructTest")) { mrb_raise(mrb, E_TYPE_ERROR, "Expected InlineStructTest"); diff --git a/mrbgems/mruby-io/src/file.c b/mrbgems/mruby-io/src/file.c index dd65e2da9..6c99300d8 100644 --- a/mrbgems/mruby-io/src/file.c +++ b/mrbgems/mruby-io/src/file.c @@ -492,10 +492,9 @@ mrb_file_truncate(mrb_state *mrb, mrb_value self) { int fd; mrb_int length; - mrb_value lenv; + mrb_value lenv = mrb_get_arg1(mrb); fd = mrb_io_fileno(mrb, self); - mrb_get_args(mrb, "o", &lenv); length = mrb_int(mrb, lenv); if (mrb_ftruncate(fd, length) != 0) { mrb_raise(mrb, E_IO_ERROR, "ftruncate failed"); diff --git a/mrbgems/mruby-io/src/file_test.c b/mrbgems/mruby-io/src/file_test.c index 19fd5739b..b7a28f4d3 100644 --- a/mrbgems/mruby-io/src/file_test.c +++ b/mrbgems/mruby-io/src/file_test.c @@ -93,9 +93,7 @@ mrb_filetest_s_directory_p(mrb_state *mrb, mrb_value klass) #endif struct stat st; - mrb_value obj; - - mrb_get_args(mrb, "o", &obj); + mrb_value obj = mrb_get_arg1(mrb); if (mrb_stat(mrb, obj, &st) < 0) return mrb_false_value(); @@ -124,9 +122,7 @@ mrb_filetest_s_pipe_p(mrb_state *mrb, mrb_value klass) # endif struct stat st; - mrb_value obj; - - mrb_get_args(mrb, "o", &obj); + mrb_value obj = mrb_get_arg1(mrb); if (mrb_stat(mrb, obj, &st) < 0) return mrb_false_value(); @@ -167,9 +163,7 @@ mrb_filetest_s_symlink_p(mrb_state *mrb, mrb_value klass) #ifdef S_ISLNK struct stat st; - mrb_value obj; - - mrb_get_args(mrb, "o", &obj); + mrb_value obj = mrb_get_arg1(mrb); if (mrb_lstat(mrb, obj, &st) == -1) return mrb_false_value(); @@ -210,9 +204,7 @@ mrb_filetest_s_socket_p(mrb_state *mrb, mrb_value klass) #ifdef S_ISSOCK struct stat st; - mrb_value obj; - - mrb_get_args(mrb, "o", &obj); + mrb_value obj = mrb_get_arg1(mrb); if (mrb_stat(mrb, obj, &st) < 0) return mrb_false_value(); @@ -236,9 +228,8 @@ static mrb_value mrb_filetest_s_exist_p(mrb_state *mrb, mrb_value klass) { struct stat st; - mrb_value obj; + mrb_value obj = mrb_get_arg1(mrb); - mrb_get_args(mrb, "o", &obj); if (mrb_stat(mrb, obj, &st) < 0) return mrb_false_value(); @@ -261,9 +252,7 @@ mrb_filetest_s_file_p(mrb_state *mrb, mrb_value klass) #endif struct stat st; - mrb_value obj; - - mrb_get_args(mrb, "o", &obj); + mrb_value obj = mrb_get_arg1(mrb); if (mrb_stat(mrb, obj, &st) < 0) return mrb_false_value(); @@ -285,9 +274,7 @@ static mrb_value mrb_filetest_s_zero_p(mrb_state *mrb, mrb_value klass) { struct stat st; - mrb_value obj; - - mrb_get_args(mrb, "o", &obj); + mrb_value obj = mrb_get_arg1(mrb); if (mrb_stat(mrb, obj, &st) < 0) return mrb_false_value(); @@ -310,9 +297,7 @@ static mrb_value mrb_filetest_s_size(mrb_state *mrb, mrb_value klass) { struct stat st; - mrb_value obj; - - mrb_get_args(mrb, "o", &obj); + mrb_value obj = mrb_get_arg1(mrb); if (mrb_stat(mrb, obj, &st) < 0) mrb_sys_fail(mrb, "mrb_stat"); @@ -332,9 +317,7 @@ static mrb_value mrb_filetest_s_size_p(mrb_state *mrb, mrb_value klass) { struct stat st; - mrb_value obj; - - mrb_get_args(mrb, "o", &obj); + mrb_value obj = mrb_get_arg1(mrb); if (mrb_stat(mrb, obj, &st) < 0) return mrb_nil_value(); diff --git a/mrbgems/mruby-io/src/io.c b/mrbgems/mruby-io/src/io.c index ef1283b51..505ceb248 100644 --- a/mrbgems/mruby-io/src/io.c +++ b/mrbgems/mruby-io/src/io.c @@ -599,13 +599,12 @@ mrb_dup(mrb_state *mrb, int fd, mrb_bool *failed) static mrb_value mrb_io_initialize_copy(mrb_state *mrb, mrb_value copy) { - mrb_value orig; + mrb_value orig = mrb_get_arg1(mrb); mrb_value buf; struct mrb_io *fptr_copy; struct mrb_io *fptr_orig; mrb_bool failed = TRUE; - mrb_get_args(mrb, "o", &orig); fptr_orig = io_get_open_fptr(mrb, orig); fptr_copy = (struct mrb_io *)DATA_PTR(copy); if (fptr_orig == fptr_copy) return copy; diff --git a/mrbgems/mruby-kernel-ext/src/kernel.c b/mrbgems/mruby-kernel-ext/src/kernel.c index 427740c1c..1d183aecd 100644 --- a/mrbgems/mruby-kernel-ext/src/kernel.c +++ b/mrbgems/mruby-kernel-ext/src/kernel.c @@ -128,9 +128,8 @@ mrb_f_integer(mrb_state *mrb, mrb_value self) static mrb_value mrb_f_float(mrb_state *mrb, mrb_value self) { - mrb_value arg; + mrb_value arg = mrb_get_arg1(mrb); - mrb_get_args(mrb, "o", &arg); return mrb_Float(mrb, arg); } #endif @@ -149,9 +148,9 @@ mrb_f_float(mrb_state *mrb, mrb_value self) static mrb_value mrb_f_string(mrb_state *mrb, mrb_value self) { - mrb_value arg, tmp; + mrb_value arg = mrb_get_arg1(mrb); + mrb_value tmp; - mrb_get_args(mrb, "o", &arg); tmp = mrb_convert_type(mrb, arg, MRB_TT_STRING, "String", "to_s"); return tmp; } @@ -168,9 +167,9 @@ mrb_f_string(mrb_state *mrb, mrb_value self) static mrb_value mrb_f_array(mrb_state *mrb, mrb_value self) { - mrb_value arg, tmp; + mrb_value arg = mrb_get_arg1(mrb); + mrb_value tmp; - mrb_get_args(mrb, "o", &arg); tmp = mrb_check_convert_type(mrb, arg, MRB_TT_ARRAY, "Array", "to_a"); if (mrb_nil_p(tmp)) { return mrb_ary_new_from_values(mrb, 1, &arg); @@ -196,9 +195,8 @@ mrb_f_array(mrb_state *mrb, mrb_value self) static mrb_value mrb_f_hash(mrb_state *mrb, mrb_value self) { - mrb_value arg; + mrb_value arg = mrb_get_arg1(mrb); - mrb_get_args(mrb, "o", &arg); if (mrb_nil_p(arg) || (mrb_array_p(arg) && RARRAY_LEN(arg) == 0)) { return mrb_hash_new(mrb); } diff --git a/mrbgems/mruby-method/src/method.c b/mrbgems/mruby-method/src/method.c index d249b463b..111b031b9 100644 --- a/mrbgems/mruby-method/src/method.c +++ b/mrbgems/mruby-method/src/method.c @@ -33,9 +33,8 @@ unbound_method_bind(mrb_state *mrb, mrb_value self) mrb_value name = mrb_iv_get(mrb, self, mrb_intern_lit(mrb, "_name")); mrb_value proc = mrb_iv_get(mrb, self, mrb_intern_lit(mrb, "_proc")); mrb_value klass = mrb_iv_get(mrb, self, mrb_intern_lit(mrb, "_klass")); - mrb_value recv; + mrb_value recv = mrb_get_arg1(mrb); - mrb_get_args(mrb, "o", &recv); bind_check(mrb, recv, owner); me = method_object_alloc(mrb, mrb_class_get(mrb, "Method")); mrb_obj_iv_set(mrb, me, mrb_intern_lit(mrb, "_owner"), owner); @@ -51,11 +50,11 @@ unbound_method_bind(mrb_state *mrb, mrb_value self) static mrb_value method_eql(mrb_state *mrb, mrb_value self) { - mrb_value other, receiver, orig_proc, other_proc; + mrb_value other = mrb_get_arg1(mrb); + mrb_value receiver, orig_proc, other_proc; struct RClass *owner, *klass; struct RProc *orig_rproc, *other_rproc; - mrb_get_args(mrb, "o", &other); if (!mrb_obj_is_instance_of(mrb, other, mrb_class(mrb, self))) return mrb_false_value(); diff --git a/mrbgems/mruby-print/src/print.c b/mrbgems/mruby-print/src/print.c index 66d070f60..9301dbe55 100644 --- a/mrbgems/mruby-print/src/print.c +++ b/mrbgems/mruby-print/src/print.c @@ -45,9 +45,8 @@ printstr(mrb_state *mrb, mrb_value obj) mrb_value mrb_printstr(mrb_state *mrb, mrb_value self) { - mrb_value argv; + mrb_value argv = mrb_get_arg1(mrb); - mrb_get_args(mrb, "o", &argv); printstr(mrb, argv); return argv; diff --git a/mrbgems/mruby-range-ext/src/range.c b/mrbgems/mruby-range-ext/src/range.c index 36b684fad..2a0b4e97d 100644 --- a/mrbgems/mruby-range-ext/src/range.c +++ b/mrbgems/mruby-range-ext/src/range.c @@ -34,12 +34,10 @@ r_lt(mrb_state *mrb, mrb_value a, mrb_value b) static mrb_value range_cover(mrb_state *mrb, mrb_value range) { - mrb_value val; struct RRange *r = mrb_range_ptr(mrb, range); + mrb_value val = mrb_get_arg1(mrb); mrb_value beg, end; - mrb_get_args(mrb, "o", &val); - beg = RANGE_BEG(r); end = RANGE_END(r); diff --git a/mrbgems/mruby-string-ext/src/string.c b/mrbgems/mruby-string-ext/src/string.c index ea9508be0..7cf146ec8 100644 --- a/mrbgems/mruby-string-ext/src/string.c +++ b/mrbgems/mruby-string-ext/src/string.c @@ -164,9 +164,8 @@ mrb_str_swapcase(mrb_state *mrb, mrb_value self) static mrb_value mrb_str_concat_m(mrb_state *mrb, mrb_value self) { - mrb_value str; + mrb_value str = mrb_get_arg1(mrb); - mrb_get_args(mrb, "o", &str); if (mrb_fixnum_p(str) || mrb_float_p(str)) #ifdef MRB_UTF8_STRING str = int_chr_utf8(mrb, str); diff --git a/mrbgems/mruby-struct/src/struct.c b/mrbgems/mruby-struct/src/struct.c index f42a5f1ea..7fbf9225f 100644 --- a/mrbgems/mruby-struct/src/struct.c +++ b/mrbgems/mruby-struct/src/struct.c @@ -154,9 +154,8 @@ mrb_struct_set_m(mrb_state *mrb, mrb_value obj) { mrb_int i = mrb_fixnum(mrb_proc_cfunc_env_get(mrb, 0)); mrb_value *ptr; - mrb_value val; + mrb_value val = mrb_get_arg1(mrb); - mrb_get_args(mrb, "o", &val); mrb_struct_modify(mrb, obj); ptr = RSTRUCT_PTR(obj); if (ptr == NULL || i >= RSTRUCT_LEN(obj)) { @@ -356,9 +355,7 @@ mrb_struct_initialize(mrb_state *mrb, mrb_value self) static mrb_value mrb_struct_init_copy(mrb_state *mrb, mrb_value copy) { - mrb_value s; - - mrb_get_args(mrb, "o", &s); + mrb_value s = mrb_get_arg1(mrb); if (mrb_obj_equal(mrb, copy, s)) return copy; if (!mrb_obj_is_instance_of(mrb, s, mrb_obj_class(mrb, copy))) { @@ -428,9 +425,8 @@ struct_aref_int(mrb_state *mrb, mrb_value s, mrb_int i) static mrb_value mrb_struct_aref(mrb_state *mrb, mrb_value s) { - mrb_value idx; + mrb_value idx = mrb_get_arg1(mrb); - mrb_get_args(mrb, "o", &idx); if (mrb_string_p(idx)) { mrb_value sym = mrb_check_intern_str(mrb, idx); @@ -545,11 +541,10 @@ mrb_struct_aset(mrb_state *mrb, mrb_value s) static mrb_value mrb_struct_equal(mrb_state *mrb, mrb_value s) { - mrb_value s2; + mrb_value s2 = mrb_get_arg1(mrb); mrb_value *ptr, *ptr2; mrb_int i, len; - mrb_get_args(mrb, "o", &s2); if (mrb_obj_equal(mrb, s, s2)) { return mrb_true_value(); } @@ -582,11 +577,10 @@ mrb_struct_equal(mrb_state *mrb, mrb_value s) static mrb_value mrb_struct_eql(mrb_state *mrb, mrb_value s) { - mrb_value s2; + mrb_value s2 = mrb_get_arg1(mrb); mrb_value *ptr, *ptr2; mrb_int i, len; - mrb_get_args(mrb, "o", &s2); if (mrb_obj_equal(mrb, s, s2)) { return mrb_true_value(); } diff --git a/mrbgems/mruby-time/src/time.c b/mrbgems/mruby-time/src/time.c index e76e11649..5fa700848 100644 --- a/mrbgems/mruby-time/src/time.c +++ b/mrbgems/mruby-time/src/time.c @@ -515,11 +515,10 @@ time_get_ptr(mrb_state *mrb, mrb_value time) static mrb_value mrb_time_eq(mrb_state *mrb, mrb_value self) { - mrb_value other; + mrb_value other = mrb_get_arg1(mrb); struct mrb_time *tm1, *tm2; mrb_bool eq_p; - mrb_get_args(mrb, "o", &other); tm1 = DATA_GET_PTR(mrb, self, &mrb_time_type, struct mrb_time); tm2 = DATA_CHECK_GET_PTR(mrb, other, &mrb_time_type, struct mrb_time); eq_p = tm1 && tm2 && tm1->sec == tm2->sec && tm1->usec == tm2->usec; @@ -530,10 +529,9 @@ mrb_time_eq(mrb_state *mrb, mrb_value self) static mrb_value mrb_time_cmp(mrb_state *mrb, mrb_value self) { - mrb_value other; + mrb_value other = mrb_get_arg1(mrb); struct mrb_time *tm1, *tm2; - mrb_get_args(mrb, "o", &other); tm1 = DATA_GET_PTR(mrb, self, &mrb_time_type, struct mrb_time); tm2 = DATA_CHECK_GET_PTR(mrb, other, &mrb_time_type, struct mrb_time); if (!tm1 || !tm2) return mrb_nil_value(); @@ -556,11 +554,10 @@ mrb_time_cmp(mrb_state *mrb, mrb_value self) static mrb_value mrb_time_plus(mrb_state *mrb, mrb_value self) { - mrb_value o; + mrb_value o = mrb_get_arg1(mrb); struct mrb_time *tm; time_t sec, usec; - mrb_get_args(mrb, "o", &o); tm = time_get_ptr(mrb, self); sec = mrb_to_time_t(mrb, o, &usec); return mrb_time_make_time(mrb, mrb_obj_class(mrb, self), tm->sec+sec, tm->usec+usec, tm->timezone); @@ -569,10 +566,9 @@ mrb_time_plus(mrb_state *mrb, mrb_value self) static mrb_value mrb_time_minus(mrb_state *mrb, mrb_value self) { - mrb_value other; + mrb_value other = mrb_get_arg1(mrb); struct mrb_time *tm, *tm2; - mrb_get_args(mrb, "o", &other); tm = time_get_ptr(mrb, self); tm2 = DATA_CHECK_GET_PTR(mrb, other, &mrb_time_type, struct mrb_time); if (tm2) { @@ -770,10 +766,9 @@ mrb_time_initialize(mrb_state *mrb, mrb_value self) static mrb_value mrb_time_initialize_copy(mrb_state *mrb, mrb_value copy) { - mrb_value src; + mrb_value src = mrb_get_arg1(mrb); struct mrb_time *t1, *t2; - mrb_get_args(mrb, "o", &src); if (mrb_obj_equal(mrb, copy, src)) return copy; if (!mrb_obj_is_instance_of(mrb, src, mrb_obj_class(mrb, copy))) { mrb_raise(mrb, E_TYPE_ERROR, "wrong argument class"); |
