]> git.kaiwu.me - njs.git/commitdiff
Adding const qualifiers njs_value_t arguments of public methods.
authorDmitry Volyntsev <xeioex@nginx.com>
Wed, 1 Aug 2018 15:05:01 +0000 (18:05 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Wed, 1 Aug 2018 15:05:01 +0000 (18:05 +0300)
This allows to use the result of safe njs_arg() macro in the
methods.

njs/njs.c
njs/njs.h
njs/njs_extern.c
njs/njs_function.c
njs/njs_function.h
njs/njs_vm.c

index a7184b798d315b8d2672df75fe23f8dbd46b8168..44afa1f52a252bc4cd5fa0ecc543fb8a443357ee 100644 (file)
--- a/njs/njs.c
+++ b/njs/njs.c
@@ -444,7 +444,7 @@ njs_vm_init(njs_vm_t *vm)
 
 
 nxt_int_t
-njs_vm_call(njs_vm_t *vm, njs_function_t *function, njs_value_t *args,
+njs_vm_call(njs_vm_t *vm, njs_function_t *function, const njs_value_t *args,
     nxt_uint_t nargs)
 {
     u_char       *current;
@@ -531,7 +531,7 @@ njs_vm_pending(njs_vm_t *vm)
 
 nxt_int_t
 njs_vm_post_event(njs_vm_t *vm, njs_vm_event_t vm_event,
-    njs_value_t *args, nxt_uint_t nargs)
+    const njs_value_t *args, nxt_uint_t nargs)
 {
     njs_event_t  *event;
 
@@ -654,9 +654,9 @@ njs_vm_retval(njs_vm_t *vm)
 
 
 nxt_noinline void
-njs_vm_retval_set(njs_vm_t *vm, njs_value_t *value)
+njs_vm_retval_set(njs_vm_t *vm, const njs_value_t *value)
 {
-    vm->retval = *(njs_value_t *) value;
+    vm->retval = *value;
 }
 
 
@@ -680,7 +680,7 @@ njs_ret_t njs_vm_retval_to_ext_string(njs_vm_t *vm, nxt_str_t *retval)
 
 
 njs_value_t *
-njs_vm_object_prop(njs_vm_t *vm, njs_value_t *value, const nxt_str_t *key)
+njs_vm_object_prop(njs_vm_t *vm, const njs_value_t *value, const nxt_str_t *key)
 {
     nxt_int_t           ret;
     njs_object_prop_t   *prop;
index e460582ac324db57e6623a0729f3864b08e35977..b238ad8221330330673b8d04f25202a6527c8d76 100644 (file)
--- a/njs/njs.h
+++ b/njs/njs.h
@@ -48,8 +48,7 @@ typedef struct {
 extern const njs_value_t            njs_value_void;
 
 #define njs_arg(args, nargs, n)                                               \
-    (njs_value_t *) ((n < nargs) ? njs_argument(args, n)                      \
-                                 : &njs_value_void)
+    ((n < nargs) ? njs_argument(args, n) : &njs_value_void)
 
 #define njs_value_assign(dst, src)                                            \
     *((njs_opaque_value_t *) dst) = *((njs_opaque_value_t *) src);
@@ -162,7 +161,7 @@ NXT_EXPORT void njs_vm_destroy(njs_vm_t *vm);
 NXT_EXPORT nxt_int_t njs_vm_compile(njs_vm_t *vm, u_char **start, u_char *end);
 NXT_EXPORT njs_vm_t *njs_vm_clone(njs_vm_t *vm, njs_external_ptr_t external);
 NXT_EXPORT nxt_int_t njs_vm_call(njs_vm_t *vm, njs_function_t *function,
-    njs_value_t *args, nxt_uint_t nargs);
+    const njs_value_t *args, nxt_uint_t nargs);
 
 NXT_EXPORT njs_vm_event_t njs_vm_add_event(njs_vm_t *vm,
     njs_function_t *function, njs_host_event_t host_ev,
@@ -170,7 +169,7 @@ NXT_EXPORT njs_vm_event_t njs_vm_add_event(njs_vm_t *vm,
 NXT_EXPORT void njs_vm_del_event(njs_vm_t *vm, njs_vm_event_t vm_event);
 NXT_EXPORT nxt_int_t njs_vm_pending(njs_vm_t *vm);
 NXT_EXPORT nxt_int_t njs_vm_post_event(njs_vm_t *vm, njs_vm_event_t vm_event,
-    njs_value_t *args, nxt_uint_t nargs);
+    const njs_value_t *args, nxt_uint_t nargs);
 
 NXT_EXPORT nxt_int_t njs_vm_run(njs_vm_t *vm);
 
@@ -179,7 +178,7 @@ NXT_EXPORT const njs_extern_t *njs_vm_external_prototype(njs_vm_t *vm,
 NXT_EXPORT nxt_int_t njs_vm_external_create(njs_vm_t *vm,
     njs_value_t *value, const njs_extern_t *proto, njs_external_ptr_t object);
 NXT_EXPORT nxt_int_t njs_vm_external_bind(njs_vm_t *vm,
-    const nxt_str_t *var_name, njs_value_t *value);
+    const nxt_str_t *var_name, const njs_value_t *value);
 NXT_EXPORT njs_external_ptr_t njs_vm_external(njs_vm_t *vm,
     const njs_value_t *value);
 
@@ -188,7 +187,7 @@ NXT_EXPORT nxt_array_t *njs_vm_completions(njs_vm_t *vm, nxt_str_t *expression);
 
 NXT_EXPORT njs_function_t *njs_vm_function(njs_vm_t *vm, nxt_str_t *name);
 NXT_EXPORT njs_value_t *njs_vm_retval(njs_vm_t *vm);
-NXT_EXPORT void njs_vm_retval_set(njs_vm_t *vm, njs_value_t *value);
+NXT_EXPORT void njs_vm_retval_set(njs_vm_t *vm, const njs_value_t *value);
 
 NXT_EXPORT u_char * njs_string_alloc(njs_vm_t *vm, njs_value_t *value,
     uint32_t size, uint32_t length);
@@ -196,7 +195,7 @@ NXT_EXPORT njs_ret_t njs_string_create(njs_vm_t *vm, njs_value_t *value,
     u_char *start, uint32_t size, uint32_t length);
 
 NXT_EXPORT nxt_int_t njs_value_string_copy(njs_vm_t *vm, nxt_str_t *retval,
-    njs_value_t *value, uintptr_t *next);
+    const njs_value_t *value, uintptr_t *next);
 
 NXT_EXPORT njs_ret_t njs_vm_value_to_ext_string(njs_vm_t *vm, nxt_str_t *dst,
     const njs_value_t *src, nxt_uint_t handle_exception);
@@ -212,24 +211,24 @@ NXT_EXPORT void njs_value_data_set(njs_value_t *value, void *data);
 NXT_EXPORT void njs_value_error_set(njs_vm_t *vm, njs_value_t *value,
     const char *fmt, ...);
 
-NXT_EXPORT uint8_t njs_value_bool(njs_value_t *value);
-NXT_EXPORT double njs_value_number(njs_value_t *value);
-NXT_EXPORT void *njs_value_data(njs_value_t *value);
-NXT_EXPORT njs_function_t *njs_value_function(njs_value_t *value);
+NXT_EXPORT uint8_t njs_value_bool(const njs_value_t *value);
+NXT_EXPORT double njs_value_number(const njs_value_t *value);
+NXT_EXPORT void *njs_value_data(const njs_value_t *value);
+NXT_EXPORT njs_function_t *njs_value_function(const njs_value_t *value);
 
-NXT_EXPORT nxt_int_t njs_value_is_null(njs_value_t *value);
-NXT_EXPORT nxt_int_t njs_value_is_void(njs_value_t *value);
-NXT_EXPORT nxt_int_t njs_value_is_boolean(njs_value_t *value);
-NXT_EXPORT nxt_int_t njs_value_is_number(njs_value_t *value);
-NXT_EXPORT nxt_int_t njs_value_is_valid_number(njs_value_t *value);
-NXT_EXPORT nxt_int_t njs_value_is_string(njs_value_t *value);
-NXT_EXPORT nxt_int_t njs_value_is_object(njs_value_t *value);
-NXT_EXPORT nxt_int_t njs_value_is_function(njs_value_t *value);
+NXT_EXPORT nxt_int_t njs_value_is_null(const njs_value_t *value);
+NXT_EXPORT nxt_int_t njs_value_is_void(const njs_value_t *value);
+NXT_EXPORT nxt_int_t njs_value_is_boolean(const njs_value_t *value);
+NXT_EXPORT nxt_int_t njs_value_is_number(const njs_value_t *value);
+NXT_EXPORT nxt_int_t njs_value_is_valid_number(const njs_value_t *value);
+NXT_EXPORT nxt_int_t njs_value_is_string(const njs_value_t *value);
+NXT_EXPORT nxt_int_t njs_value_is_object(const njs_value_t *value);
+NXT_EXPORT nxt_int_t njs_value_is_function(const njs_value_t *value);
 
 NXT_EXPORT njs_ret_t njs_vm_value_dump(njs_vm_t *vm, nxt_str_t *retval,
     const njs_value_t *value, nxt_uint_t indent);
-NXT_EXPORT njs_value_t *njs_vm_object_prop(njs_vm_t *vm, njs_value_t *value,
-    const nxt_str_t *key);
+NXT_EXPORT njs_value_t *njs_vm_object_prop(njs_vm_t *vm,
+    const njs_value_t *value, const nxt_str_t *key);
 
 extern const nxt_mem_proto_t  njs_vm_mem_cache_pool_proto;
 
index 25ff916459578f5e2bfbe9189571848711538a00..53352350e7215447d0c2a4f1395051d3c41cf14c 100644 (file)
@@ -193,7 +193,7 @@ njs_vm_external_create(njs_vm_t *vm, njs_value_t *ext_val,
 
 nxt_int_t
 njs_vm_external_bind(njs_vm_t *vm, const nxt_str_t *var_name,
-    njs_value_t *value)
+    const njs_value_t *value)
 {
     nxt_int_t           ret;
     njs_extern_value_t  *ev;
index f14788a495185e49ba87c2370e42162d083c184e..950171e8ec858bfa71a370901dfd26e1238e29b5 100644 (file)
@@ -144,7 +144,7 @@ njs_function_native_frame(njs_vm_t *vm, njs_function_t *function,
 
 nxt_noinline njs_ret_t
 njs_function_frame(njs_vm_t *vm, njs_function_t *function,
-    const njs_value_t *this, njs_value_t *args, nxt_uint_t nargs,
+    const njs_value_t *this, const njs_value_t *args, nxt_uint_t nargs,
     nxt_bool_t ctor)
 {
     size_t                 size;
index f7e8481c98a1cc691fcf33de87a21bede0fa8d5f..f7ced9d94049e678839751ff5aae3261dada3e70 100644 (file)
@@ -158,7 +158,7 @@ njs_ret_t njs_function_native_frame(njs_vm_t *vm, njs_function_t *function,
     const njs_value_t *this, njs_value_t *args, nxt_uint_t nargs,
     size_t reserve, nxt_bool_t ctor);
 njs_ret_t njs_function_frame(njs_vm_t *vm, njs_function_t *function,
-    const njs_value_t *this, njs_value_t *args, nxt_uint_t nargs,
+    const njs_value_t *this, const njs_value_t *args, nxt_uint_t nargs,
     nxt_bool_t ctor);
 njs_ret_t njs_function_call(njs_vm_t *vm, njs_index_t retval, size_t advance);
 
index dab8ad88c1c68d6f2afb42d06abc441fe4b028d6..f9afea4aa072d212a023fcb14485ca2153fe1bfb 100644 (file)
@@ -3521,63 +3521,63 @@ memory_error:
 
 
 nxt_noinline uint8_t
-njs_value_bool(njs_value_t *value)
+njs_value_bool(const njs_value_t *value)
 {
     return value->data.truth;
 }
 
 
 nxt_noinline double
-njs_value_number(njs_value_t *value)
+njs_value_number(const njs_value_t *value)
 {
     return value->data.u.number;
 }
 
 
 nxt_noinline void *
-njs_value_data(njs_value_t *value)
+njs_value_data(const njs_value_t *value)
 {
     return value->data.u.data;
 }
 
 
 nxt_noinline njs_function_t *
-njs_value_function(njs_value_t *value)
+njs_value_function(const njs_value_t *value)
 {
     return value->data.u.function;
 }
 
 
 nxt_noinline nxt_int_t
-njs_value_is_null(njs_value_t *value)
+njs_value_is_null(const njs_value_t *value)
 {
     return njs_is_null(value);
 }
 
 
 nxt_noinline nxt_int_t
-njs_value_is_void(njs_value_t *value)
+njs_value_is_void(const njs_value_t *value)
 {
     return njs_is_void(value);
 }
 
 
 nxt_noinline nxt_int_t
-njs_value_is_boolean(njs_value_t *value)
+njs_value_is_boolean(const njs_value_t *value)
 {
     return njs_is_boolean(value);
 }
 
 
 nxt_noinline nxt_int_t
-njs_value_is_number(njs_value_t *value)
+njs_value_is_number(const njs_value_t *value)
 {
     return njs_is_number(value);
 }
 
 
 nxt_noinline nxt_int_t
-njs_value_is_valid_number(njs_value_t *value)
+njs_value_is_valid_number(const njs_value_t *value)
 {
     return njs_is_number(value)
            && !isnan(value->data.u.number)
@@ -3586,28 +3586,28 @@ njs_value_is_valid_number(njs_value_t *value)
 
 
 nxt_noinline nxt_int_t
-njs_value_is_string(njs_value_t *value)
+njs_value_is_string(const njs_value_t *value)
 {
     return njs_is_string(value);
 }
 
 
 nxt_noinline nxt_int_t
-njs_value_is_object(njs_value_t *value)
+njs_value_is_object(const njs_value_t *value)
 {
     return njs_is_object(value);
 }
 
 
 nxt_noinline nxt_int_t
-njs_value_is_function(njs_value_t *value)
+njs_value_is_function(const njs_value_t *value)
 {
     return njs_is_function(value);
 }
 
 
 nxt_int_t
-njs_value_string_copy(njs_vm_t *vm, nxt_str_t *retval, njs_value_t *value,
+njs_value_string_copy(njs_vm_t *vm, nxt_str_t *retval, const njs_value_t *value,
     uintptr_t *next)
 {
     uintptr_t    n;