]> git.kaiwu.me - njs.git/commitdiff
Improved access to this argument.
authorDmitry Volyntsev <xeioex@nginx.com>
Tue, 18 Jan 2022 15:37:11 +0000 (15:37 +0000)
committerDmitry Volyntsev <xeioex@nginx.com>
Tue, 18 Jan 2022 15:37:11 +0000 (15:37 +0000)
'this' argument is always present, so it may be accessed
without checking the number provided arguments.

external/njs_query_string_module.c
src/njs_array_buffer.c
src/njs_function.c
src/njs_object.c
src/njs_promise.c
src/njs_string.c

index 701449fc96fae5c62064cfbf1960eebd1dcbad2a..b088e865f9b68cbd10d6997d238b0b8584b6538a 100644 (file)
@@ -391,7 +391,7 @@ njs_query_string_parse(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
 
     njs_set_object(&obj, object);
 
-    this = njs_arg(args, nargs, 0);
+    this = njs_argument(args, 0);
     string = njs_arg(args, nargs, 1);
 
     if (njs_slow_path(!njs_is_string(string)
@@ -703,7 +703,7 @@ njs_query_string_stringify(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     (void) njs_string_prop(&eq, &val_eq);
 
     encode = NULL;
-    this = njs_arg(args, nargs, 0);
+    this = njs_argument(args, 0);
     object = njs_arg(args, nargs, 1);
 
     if (njs_slow_path(!njs_is_object(object))) {
index b21235b51a80c4a0816d8f517b6e3c825c1e1a80..d5bd9b57a35ee4fa7fa13aebd43707dcd122c663 100644 (file)
@@ -195,7 +195,7 @@ njs_array_buffer_prototype_byte_length(njs_vm_t *vm, njs_value_t *args,
     njs_value_t         *value;
     njs_array_buffer_t  *array;
 
-    value = njs_arg(args, nargs, 0);
+    value = njs_argument(args, 0);
 
     if (!njs_is_array_buffer(value)) {
         njs_type_error(vm, "Method ArrayBuffer.prototype.byteLength called "
@@ -224,7 +224,7 @@ njs_array_buffer_prototype_slice(njs_vm_t *vm, njs_value_t *args,
     njs_value_t         *value;
     njs_array_buffer_t  *this, *buffer;
 
-    value = njs_arg(args, nargs, 0);
+    value = njs_argument(args, 0);
 
     if (!njs_is_array_buffer(value)) {
         njs_type_error(vm, "Method ArrayBuffer.prototype.slice called "
index 0b5b0f8f7edfba2213402c68aa2d14fa54aa32c6..0c23ca05c16640409bd6a5a2c69a4143f99d66f3 100644 (file)
@@ -1374,7 +1374,7 @@ njs_function_prototype_apply(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     njs_array_t     *arr;
     njs_function_t  *func;
 
-    if (!njs_is_function(njs_arg(args, nargs, 0))) {
+    if (!njs_is_function(njs_argument(args, 0))) {
         njs_type_error(vm, "\"this\" argument is not a function");
         return NJS_ERROR;
     }
index 454e7e77cf9a4f0776fa390add25983d0e67660e..ad03bc32fe5044049982606b016f3da1c21a28ce 100644 (file)
@@ -2437,7 +2437,7 @@ njs_object_prototype_has_own_property(njs_vm_t *vm, njs_value_t *args,
     njs_value_t           *value, *property;
     njs_property_query_t  pq;
 
-    value = njs_arg(args, nargs, 0);
+    value = njs_argument(args, 0);
 
     if (njs_is_null_or_undefined(value)) {
         njs_type_error(vm, "cannot convert %s argument to object",
@@ -2477,7 +2477,7 @@ njs_object_prototype_prop_is_enumerable(njs_vm_t *vm, njs_value_t *args,
     njs_object_prop_t     *prop;
     njs_property_query_t  pq;
 
-    value = njs_arg(args, nargs, 0);
+    value = njs_argument(args, 0);
 
     if (njs_is_null_or_undefined(value)) {
         njs_type_error(vm, "cannot convert %s argument to object",
@@ -2520,7 +2520,7 @@ njs_object_prototype_is_prototype_of(njs_vm_t *vm, njs_value_t *args,
     njs_object_t       *object, *proto;
     const njs_value_t  *retval;
 
-    if (njs_slow_path(njs_is_null_or_undefined(njs_arg(args, nargs, 0)))) {
+    if (njs_slow_path(njs_is_null_or_undefined(njs_argument(args, 0)))) {
         njs_type_error(vm, "cannot convert undefined to object");
         return NJS_ERROR;
     }
index 49c3bb83c96d9b1891a3e95593969db80bae5119..45ea4921c390a63c8b30665f68e96981795944e6 100644 (file)
@@ -749,7 +749,7 @@ njs_promise_object_resolve(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
 {
     njs_promise_t  *promise;
 
-    if (njs_slow_path(!njs_is_object(njs_arg(args, nargs, 0)))) {
+    if (njs_slow_path(!njs_is_object(njs_argument(args, 0)))) {
         njs_type_error(vm, "this value is not an object");
         return NJS_ERROR;
     }
@@ -846,7 +846,7 @@ njs_promise_object_reject(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     njs_value_t               value;
     njs_promise_capability_t  *capability;
 
-    if (njs_slow_path(!njs_is_object(njs_arg(args, nargs, 0)))) {
+    if (njs_slow_path(!njs_is_object(njs_argument(args, 0)))) {
         njs_type_error(vm, "this value is not an object");
         return NJS_ERROR;
     }
@@ -879,7 +879,7 @@ njs_promise_prototype_then(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     njs_function_t            *function;
     njs_promise_capability_t  *capability;
 
-    promise = njs_arg(args, nargs, 0);
+    promise = njs_argument(args, 0);
 
     if (njs_slow_path(!njs_is_object(promise))) {
         goto failed;
@@ -1018,7 +1018,7 @@ njs_promise_prototype_catch(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     arguments[0] = njs_value_undefined;
     arguments[1] = *njs_arg(args, nargs, 1);
 
-    return njs_promise_invoke_then(vm, njs_arg(args, nargs, 0), arguments, 2);
+    return njs_promise_invoke_then(vm, njs_argument(args,  0), arguments, 2);
 }
 
 
@@ -1031,7 +1031,7 @@ njs_promise_prototype_finally(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     njs_function_t         *function;
     njs_promise_context_t  *context;
 
-    promise = njs_arg(args, nargs, 0);
+    promise = njs_argument(args, 0);
 
     if (njs_slow_path(!njs_is_object(promise))) {
         njs_type_error(vm, "required a object");
@@ -1779,7 +1779,7 @@ static njs_int_t
 njs_promise_species(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     njs_index_t unused)
 {
-    njs_vm_retval_set(vm, njs_arg(args, nargs, 0));
+    njs_vm_retval_set(vm, njs_argument(args, 0));
 
     return NJS_OK;
 }
index c135c43cb75917799a3e61503726a9d025d8ecd9..d1ae09e7d6a09f418126a3ad81aea8b15160cff3 100644 (file)
@@ -986,7 +986,7 @@ njs_string_prototype_from_utf8(njs_vm_t *vm, njs_value_t *args,
     njs_slice_prop_t   slice;
     njs_string_prop_t  string;
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }
@@ -1029,7 +1029,7 @@ njs_string_prototype_to_utf8(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     njs_slice_prop_t   slice;
     njs_string_prop_t  string;
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }
@@ -1063,7 +1063,7 @@ njs_string_prototype_from_bytes(njs_vm_t *vm, njs_value_t *args,
     njs_slice_prop_t   slice;
     njs_string_prop_t  string;
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }
@@ -1129,7 +1129,7 @@ njs_string_prototype_to_bytes(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     njs_string_prop_t     string;
     njs_unicode_decode_t  ctx;
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }
@@ -1192,7 +1192,7 @@ njs_string_prototype_slice(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     njs_slice_prop_t   slice;
     njs_string_prop_t  string;
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }
@@ -1216,7 +1216,7 @@ njs_string_prototype_substring(njs_vm_t *vm, njs_value_t *args,
     njs_slice_prop_t   slice;
     njs_string_prop_t  string;
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }
@@ -1294,7 +1294,7 @@ njs_string_prototype_substr(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     njs_slice_prop_t   slice;
     njs_string_prop_t  string;
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }
@@ -1372,7 +1372,7 @@ njs_string_prototype_char_at(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     njs_slice_prop_t   slice;
     njs_string_prop_t  string;
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }
@@ -1566,7 +1566,7 @@ njs_string_prototype_char_code_at(njs_vm_t *vm, njs_value_t *args,
     njs_string_prop_t     string;
     njs_unicode_decode_t  ctx;
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }
@@ -2332,7 +2332,7 @@ njs_string_prototype_includes(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     const njs_value_t  *retval;
     njs_string_prop_t  string, search;
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }
@@ -2425,7 +2425,7 @@ njs_string_prototype_starts_or_ends_with(njs_vm_t *vm, njs_value_t *args,
 
     retval = &njs_value_true;
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }
@@ -2635,7 +2635,7 @@ njs_string_prototype_to_lower_case(njs_vm_t *vm, njs_value_t *args,
     const u_char       *s, *end;
     njs_string_prop_t  string;
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }
@@ -2707,7 +2707,7 @@ njs_string_prototype_to_upper_case(njs_vm_t *vm, njs_value_t *args,
     const u_char       *s, *end;
     njs_string_prop_t  string;
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }
@@ -2973,7 +2973,7 @@ njs_string_prototype_pad(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
 
     static const njs_value_t  string_space = njs_string(" ");
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }
@@ -3093,7 +3093,7 @@ njs_string_prototype_search(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     njs_string_prop_t     string;
     njs_regexp_pattern_t  *pattern;
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }
@@ -3171,7 +3171,7 @@ njs_string_prototype_match(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     njs_value_t           arguments[2];
     njs_regexp_pattern_t  *pattern;
 
-    ret = njs_string_object_validate(vm, njs_arg(args, nargs, 0));
+    ret = njs_string_object_validate(vm, njs_argument(args, 0));
     if (njs_slow_path(ret != NJS_OK)) {
         return ret;
     }