Previously njs_arg() returned expression of type (const njs_value_t *).
This caused a lot of casts when calling functions and forced to declared
const njs_value_t * variables.
NO functional changes.
static void ngx_http_js_timer_handler(ngx_event_t *ev);
static void ngx_http_js_handle_event(ngx_http_request_t *r,
njs_vm_event_t vm_event, njs_value_t *args, njs_uint_t nargs);
-static njs_int_t ngx_http_js_string(njs_vm_t *vm, const njs_value_t *value,
+static njs_int_t ngx_http_js_string(njs_vm_t *vm, njs_value_t *value,
njs_str_t *str);
static char *ngx_http_js_include(ngx_conf_t *cf, ngx_command_t *cmd,
{
njs_str_t text;
ngx_int_t status;
+ njs_value_t *value;
ngx_http_js_ctx_t *ctx;
ngx_http_request_t *r;
- const njs_value_t *value;
ngx_http_complex_value_t cv;
r = njs_vm_external(vm, njs_arg(args, nargs, 0));
ngx_int_t rc;
njs_str_t uri_arg, args_arg, method_name, body_arg;
ngx_uint_t method, methods_max, has_body;
- njs_value_t *value;
+ njs_value_t *value, *arg, *options;
njs_function_t *callback;
ngx_http_js_ctx_t *ctx;
- const njs_value_t *arg, *options;
ngx_http_request_t *r, *sr;
ngx_http_request_body_t *rb;
static njs_int_t
-ngx_http_js_string(njs_vm_t *vm, const njs_value_t *value, njs_str_t *str)
+ngx_http_js_string(njs_vm_t *vm, njs_value_t *value, njs_str_t *str)
{
if (!njs_value_is_null_or_undefined(value)) {
if (njs_vm_value_to_string(vm, str, value) == NJS_ERROR) {
static void ngx_stream_js_timer_handler(ngx_event_t *ev);
static void ngx_stream_js_handle_event(ngx_stream_session_t *s,
njs_vm_event_t vm_event, njs_value_t *args, njs_uint_t nargs);
-static njs_int_t ngx_stream_js_string(njs_vm_t *vm, const njs_value_t *value,
+static njs_int_t ngx_stream_js_string(njs_vm_t *vm, njs_value_t *value,
njs_str_t *str);
static char *ngx_stream_js_include(ngx_conf_t *cf, ngx_command_t *cmd,
ngx_stream_js_ext_set_status(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
ngx_int_t status)
{
- const njs_value_t *code;
+ njs_value_t *code;
ngx_stream_js_ctx_t *ctx;
ngx_stream_session_t *s;
njs_index_t unused)
{
njs_str_t name;
+ njs_value_t *callback;
njs_vm_event_t *event;
- const njs_value_t *callback;
ngx_stream_session_t *s;
s = njs_vm_external(vm, njs_arg(args, nargs, 0));
unsigned last_buf, flush;
njs_str_t buffer;
ngx_buf_t *b;
+ njs_value_t *flags, *value;
ngx_chain_t *cl;
ngx_connection_t *c;
- const njs_value_t *flags, *value;
ngx_stream_js_ctx_t *ctx;
ngx_stream_session_t *s;
static njs_int_t
-ngx_stream_js_string(njs_vm_t *vm, const njs_value_t *value, njs_str_t *str)
+ngx_stream_js_string(njs_vm_t *vm, njs_value_t *value, njs_str_t *str)
{
if (!njs_value_is_null_or_undefined(value)) {
if (njs_vm_value_to_string(vm, str, value) == NJS_ERROR) {
extern const njs_value_t njs_value_undefined;
#define njs_arg(args, nargs, n) \
- ((n < nargs) ? njs_argument(args, n) : &njs_value_undefined)
+ ((n < nargs) ? njs_argument(args, n) \
+ : (njs_value_t *) &njs_value_undefined)
#define njs_value_assign(dst, src) \
*((njs_opaque_value_t *) dst) = *((njs_opaque_value_t *) src);
static const njs_value_t string_length = njs_string("length");
- ret = njs_value_property(vm, &args[0], &string_length, &prop_length);
+ ret = njs_value_property(vm, &args[0], njs_value_arg(&string_length),
+ &prop_length);
if (njs_slow_path(ret == NJS_ERROR)) {
return ret;
}
value = &args[1];
} else {
- value = (njs_value_t *) &njs_string_comma;
+ value = njs_value_arg(&njs_string_comma);
}
(void) njs_string_prop(&separator, value);
njs_array_prototype_last_index_of(njs_vm_t *vm, njs_value_t *args,
njs_uint_t nargs, njs_index_t unused)
{
- njs_int_t k, n, index, length;
- njs_value_t *start;
- njs_array_t *array;
- const njs_value_t *this, *value;
+ njs_int_t k, n, index, length;
+ njs_value_t *start;
+ njs_array_t *array;
+ njs_value_t *this, *value;
index = -1;
njs_array_prototype_fill(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- njs_int_t ret;
- njs_int_t i, start, end, length;
- njs_array_t *array;
- njs_value_t name, prop_length;
- njs_object_t *object;
- const njs_value_t *this, *value;
+ njs_int_t ret;
+ njs_int_t i, start, end, length;
+ njs_array_t *array;
+ njs_value_t name, prop_length, *this, *value;
+ njs_object_t *object;
static const njs_value_t string_length = njs_string("length");
- this = (njs_value_t *) njs_arg(args, nargs, 0);
+ this = njs_arg(args, nargs, 0);
if (njs_is_primitive(this)) {
if (njs_is_null_or_undefined(this)) {
length = array->length;
} else {
- ret = njs_value_property(vm, this, &string_length, &prop_length);
+ ret = njs_value_property(vm, this, njs_value_arg(&string_length),
+ &prop_length);
if (njs_slow_path(ret == NJS_ERROR)) {
return ret;
}
while (start < end) {
njs_uint32_to_string(&name, start++);
- ret = njs_value_property_set(vm, (njs_value_t *) this, &name,
- (njs_value_t *) value);
+ ret = njs_value_property_set(vm, this, &name, value);
if (njs_slow_path(ret == NJS_ERROR)) {
return ret;
}
njs_inline njs_int_t
njs_array_iterator_call(njs_vm_t *vm, njs_function_t *function,
- const njs_value_t *this_arg, njs_value_t *value, uint32_t n,
- njs_value_t *array)
+ const njs_value_t *this_arg, const njs_value_t *value, uint32_t n,
+ const njs_value_t *array)
{
njs_value_t arguments[3];
njs_set_number(&arguments[1], n);
arguments[2] = *array;
- return njs_function_call(vm, function, (njs_value_t *) this_arg,
- arguments, 3, &vm->retval);
+ return njs_function_call(vm, function, this_arg, arguments, 3,
+ &vm->retval);
}
{
uint32_t i, length;
njs_int_t ret;
- njs_value_t *array, *value;
+ njs_value_t *array, *value, *this_arg;
njs_function_t *function;
- const njs_value_t *this_arg;
if (nargs < 2 || !njs_is_array(&args[0]) || !njs_is_function(&args[1])) {
njs_type_error(vm, "unexpected iterator arguments");
array = &args[0];
length = njs_array_len(array);
- function = njs_function(&args[1]);
+ function = njs_function(&args[1]);
this_arg = njs_arg(args, nargs, 2);
for (i = 0; i < length; i++) {
{
uint32_t i, length;
njs_int_t ret;
- njs_value_t *array, *value;
+ njs_value_t *array, *value, *this_arg;
njs_function_t *function;
- const njs_value_t *this_arg, *retval;
+ const njs_value_t *retval;
if (nargs < 2 || !njs_is_array(&args[0]) || !njs_is_function(&args[1])) {
njs_type_error(vm, "unexpected iterator arguments");
array = &args[0];
length = njs_array_len(array);
- function = njs_function(&args[1]);
+ function = njs_function(&args[1]);
this_arg = njs_arg(args, nargs, 2);
retval = &njs_value_false;
{
uint32_t i, length;
njs_int_t ret;
- njs_value_t *array, *value;
+ njs_value_t *array, *value, *this_arg;
njs_function_t *function;
- const njs_value_t *this_arg, *retval;
+ const njs_value_t *retval;
if (nargs < 2 || !njs_is_array(&args[0]) || !njs_is_function(&args[1])) {
njs_type_error(vm, "unexpected iterator arguments");
array = &args[0];
length = njs_array_len(array);
- function = njs_function(&args[1]);
+ function = njs_function(&args[1]);
this_arg = njs_arg(args, nargs, 2);
retval = &njs_value_true;
njs_array_prototype_filter(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- uint32_t i, length;
- njs_int_t ret;
- njs_array_t *retval;
- njs_value_t *array, value;
- njs_function_t *function;
- const njs_value_t *this_arg;
+ uint32_t i, length;
+ njs_int_t ret;
+ njs_array_t *retval;
+ njs_value_t *array, value, *this_arg;
+ njs_function_t *function;
if (nargs < 2 || !njs_is_array(&args[0]) || !njs_is_function(&args[1])) {
njs_type_error(vm, "unexpected iterator arguments");
array = &args[0];
length = njs_array_len(array);
- function = njs_function(&args[1]);
+ function = njs_function(&args[1]);
this_arg = njs_arg(args, nargs, 2);
retval = njs_array_alloc(vm, 0, NJS_ARRAY_SPARE);
{
uint32_t i, length;
njs_int_t ret;
- njs_value_t *array, value;
+ njs_value_t *array, value, *this_arg;
njs_function_t *function;
- const njs_value_t *this_arg, *retval;
+ const njs_value_t *retval;
if (nargs < 2 || !njs_is_array(&args[0]) || !njs_is_function(&args[1])) {
njs_type_error(vm, "unexpected iterator arguments");
array = &args[0];
length = njs_array_len(array);
- function = njs_function(&args[1]);
+ function = njs_function(&args[1]);
this_arg = njs_arg(args, nargs, 2);
retval = &njs_value_undefined;
njs_array_prototype_find_index(njs_vm_t *vm, njs_value_t *args,
njs_uint_t nargs, njs_index_t unused)
{
- double index;
- uint32_t i, length;
- njs_int_t ret;
- njs_value_t *array, value;
- njs_function_t *function;
- const njs_value_t *this_arg;
+ double index;
+ uint32_t i, length;
+ njs_int_t ret;
+ njs_value_t *array, value, *this_arg;
+ njs_function_t *function;
if (nargs < 2 || !njs_is_array(&args[0]) || !njs_is_function(&args[1])) {
njs_type_error(vm, "unexpected iterator arguments");
array = &args[0];
length = njs_array_len(array);
- function = njs_function(&args[1]);
+ function = njs_function(&args[1]);
this_arg = njs_arg(args, nargs, 2);
index = -1;
njs_array_prototype_map(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- uint32_t i, length, size;
- njs_int_t ret;
- njs_array_t *retval;
- njs_value_t *array, *value;
- njs_function_t *function;
- const njs_value_t *this_arg;
+ uint32_t i, length, size;
+ njs_int_t ret;
+ njs_array_t *retval;
+ njs_value_t *array, *value, *this_arg;
+ njs_function_t *function;
if (nargs < 2 || !njs_is_array(&args[0]) || !njs_is_function(&args[1])) {
njs_type_error(vm, "unexpected iterator arguments");
array = &args[0];
length = njs_array_len(array);
- function = njs_function(&args[1]);
+ function = njs_function(&args[1]);
this_arg = njs_arg(args, nargs, 2);
size = length;
njs_dump_value(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- njs_str_t str;
- njs_uint_t n;
- const njs_value_t *value, *indent;
+ njs_str_t str;
+ njs_uint_t n;
+ njs_value_t *value, *indent;
value = njs_arg(args, nargs, 1);
indent = njs_arg(args, nargs, 2);
njs_memory_error_prototype_create(njs_vm_t *vm, njs_value_t *value,
njs_value_t *setval, njs_value_t *retval)
{
- int32_t index;
- njs_value_t *proto;
- njs_function_t *function;
+ int32_t index;
+ njs_function_t *function;
+ const njs_value_t *proto;
/* MemoryError has no its own prototype. */
proto = njs_property_prototype_create(vm, &function->object.hash,
&vm->prototypes[index].object);
if (proto == NULL) {
- proto = (njs_value_t *) &njs_value_undefined;
+ proto = &njs_value_undefined;
}
*retval = *proto;
njs_int_t
-njs_function_call(njs_vm_t *vm, njs_function_t *function, njs_value_t *this,
- njs_value_t *args, njs_uint_t nargs, njs_value_t *retval)
+njs_function_call(njs_vm_t *vm, njs_function_t *function,
+ const njs_value_t *this, const njs_value_t *args,
+ njs_uint_t nargs, njs_value_t *retval)
{
njs_int_t ret;
njs_value_t dst njs_aligned(16);
njs_function_prototype_call(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t retval)
{
- njs_int_t ret;
- njs_value_t *this;
- njs_function_t *function;
+ njs_int_t ret;
+ njs_function_t *function;
+ const njs_value_t *this;
if (!njs_is_function(&args[0])) {
njs_type_error(vm, "\"this\" argument is not a function");
njs_function_prototype_apply(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t retval)
{
- uint32_t i;
- njs_int_t ret;
- njs_value_t length, name;
- njs_array_t *arr;
- njs_function_t *func;
- const njs_value_t *this, *arr_like;
+ uint32_t i;
+ njs_int_t ret;
+ njs_value_t length, name, *this, *arr_like;
+ njs_array_t *arr;
+ njs_function_t *func;
- static const njs_value_t njs_string_length = njs_string("length");
+ static const njs_value_t string_length = njs_string("length");
if (!njs_is_function(njs_arg(args, nargs, 0))) {
njs_type_error(vm, "\"this\" argument is not a function");
return NJS_ERROR;
}
- ret = njs_value_property(vm, arr_like, &njs_string_length, &length);
+ ret = njs_value_property(vm, arr_like, njs_value_arg(&string_length),
+ &length);
if (njs_slow_path(ret == NJS_ERROR)) {
return ret;
}
/* Skip the "apply" method frame. */
vm->top_frame->skip = 1;
- ret = njs_function_frame(vm, func, (njs_value_t *) this, args, nargs, 0);
+ ret = njs_function_frame(vm, func, this, args, nargs, 0);
if (njs_slow_path(ret != NJS_OK)) {
return ret;
}
}
if (nargs == 1) {
- args = (njs_value_t *) &njs_value_undefined;
+ args = njs_value_arg(&njs_value_undefined);
} else {
nargs--;
const njs_value_t *this, const njs_value_t *args, njs_uint_t nargs,
njs_bool_t ctor);
njs_int_t njs_function_call(njs_vm_t *vm, njs_function_t *function,
- njs_value_t *this, njs_value_t *args, njs_uint_t nargs,
+ const njs_value_t *this, const njs_value_t *args, njs_uint_t nargs,
njs_value_t *retval);
njs_int_t njs_function_lambda_call(njs_vm_t *vm);
njs_int_t njs_function_native_call(njs_vm_t *vm);
njs_inline njs_int_t
-njs_function_apply(njs_vm_t *vm, njs_function_t *function, njs_value_t *args,
- njs_uint_t nargs, njs_value_t *retval)
+njs_function_apply(njs_vm_t *vm, njs_function_t *function,
+ const njs_value_t *args, njs_uint_t nargs, njs_value_t *retval)
{
return njs_function_call(vm, function, &args[0], &args[1], nargs - 1,
retval);
double num;
njs_int_t i;
njs_int_t ret;
- njs_value_t *wrapper;
- const njs_value_t *replacer, *space;
+ njs_value_t *wrapper, *replacer, *space;
njs_json_stringify_t *stringify, json_stringify;
stringify = &json_stringify;
static char hex2char[16] = { '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
- (void) njs_string_prop(&str, (njs_value_t *) value);
+ (void) njs_string_prop(&str, value);
p = str.start;
end = p + str.size;
njs_object_constructor(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- njs_uint_t type;
- njs_object_t *object;
- const njs_value_t *value;
+ njs_uint_t type;
+ njs_value_t *value;
+ njs_object_t *object;
value = njs_arg(args, nargs, 1);
type = value->type;
njs_object_create(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- njs_object_t *object;
- const njs_value_t *value;
+ njs_value_t *value;
+ njs_object_t *object;
value = njs_arg(args, nargs, 1);
njs_object_keys(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- njs_array_t *keys;
- const njs_value_t *value;
+ njs_value_t *value;
+ njs_array_t *keys;
value = njs_arg(args, nargs, 1);
njs_object_values(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- njs_array_t *array;
- const njs_value_t *value;
+ njs_array_t *array;
+ njs_value_t *value;
value = njs_arg(args, nargs, 1);
njs_object_entries(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- njs_array_t *array;
- const njs_value_t *value;
+ njs_array_t *array;
+ njs_value_t *value;
value = njs_arg(args, nargs, 1);
njs_object_define_property(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- njs_int_t ret;
- njs_value_t *value;
- const njs_value_t *name, *desc;
+ njs_int_t ret;
+ njs_value_t *value, *name, *desc;
if (!njs_is_object(njs_arg(args, nargs, 1))) {
njs_type_error(vm, "cannot convert %s argument to object",
njs_index_t unused)
{
njs_int_t ret;
- njs_value_t *value;
+ njs_value_t *value, *desc;
njs_lvlhsh_t *hash;
njs_lvlhsh_each_t lhe;
njs_object_prop_t *prop;
- const njs_value_t *desc;
if (!njs_is_object(njs_arg(args, nargs, 1))) {
njs_type_error(vm, "cannot convert %s argument to object",
njs_object_get_own_property_descriptor(njs_vm_t *vm, njs_value_t *args,
njs_uint_t nargs, njs_index_t unused)
{
- const njs_value_t *value, *property;
+ njs_value_t *value, *property;
value = njs_arg(args, nargs, 1);
njs_int_t ret;
uint32_t i, length;
njs_array_t *names;
- njs_value_t descriptor;
+ njs_value_t descriptor, *value, *key;
njs_object_t *descriptors;
- const njs_value_t *value, *key;
njs_object_prop_t *pr;
njs_lvlhsh_query_t lhq;
njs_object_get_own_property_names(njs_vm_t *vm, njs_value_t *args,
njs_uint_t nargs, njs_index_t unused)
{
- njs_array_t *names;
- const njs_value_t *value;
+ njs_array_t *names;
+ njs_value_t *value;
value = njs_arg(args, nargs, 1);
njs_object_get_prototype_of(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- const njs_value_t *value;
+ njs_value_t *value;
value = njs_arg(args, nargs, 1);
if (njs_is_object(value)) {
- njs_object_prototype_proto(vm, (njs_value_t *) value, NULL,
- &vm->retval);
+ njs_object_prototype_proto(vm, value, NULL, &vm->retval);
return NJS_OK;
}
njs_object_freeze(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
+ njs_value_t *value;
njs_lvlhsh_t *hash;
njs_object_t *object;
njs_object_prop_t *prop;
njs_lvlhsh_each_t lhe;
- const njs_value_t *value;
value = njs_arg(args, nargs, 1);
njs_object_is_frozen(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
+ njs_value_t *value;
njs_lvlhsh_t *hash;
njs_object_t *object;
njs_object_prop_t *prop;
njs_lvlhsh_each_t lhe;
- const njs_value_t *value, *retval;
+ const njs_value_t *retval;
value = njs_arg(args, nargs, 1);
njs_object_seal(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
+ njs_value_t *value;
njs_lvlhsh_t *hash;
njs_object_t *object;
- const njs_value_t *value;
njs_object_prop_t *prop;
njs_lvlhsh_each_t lhe;
njs_object_is_sealed(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
+ njs_value_t *value;
njs_lvlhsh_t *hash;
njs_object_t *object;
njs_object_prop_t *prop;
njs_lvlhsh_each_t lhe;
- const njs_value_t *value, *retval;
+ const njs_value_t *retval;
value = njs_arg(args, nargs, 1);
njs_object_prevent_extensions(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- const njs_value_t *value;
+ njs_value_t *value;
value = njs_arg(args, nargs, 1);
njs_object_is_extensible(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- const njs_value_t *value, *retval;
+ njs_value_t *value;
+ const njs_value_t *retval;
value = njs_arg(args, nargs, 1);
njs_uint_t nargs, njs_index_t unused)
{
njs_int_t ret;
- const njs_value_t *value, *property;
+ njs_value_t *value, *property;
njs_property_query_t pq;
value = njs_arg(args, nargs, 0);
njs_property_query_init(&pq, NJS_PROPERTY_QUERY_GET, 1);
- ret = njs_property_query(vm, &pq, (njs_value_t *) value, property);
+ ret = njs_property_query(vm, &pq, value, property);
switch (ret) {
case NJS_OK:
njs_uint_t nargs, njs_index_t unused)
{
njs_int_t ret;
- const njs_value_t *value, *property, *retval;
+ njs_value_t *value, *property;
+ const njs_value_t *retval;
njs_object_prop_t *prop;
njs_property_query_t pq;
njs_property_query_init(&pq, NJS_PROPERTY_QUERY_GET, 1);
- ret = njs_property_query(vm, &pq, (njs_value_t *) value, property);
+ ret = njs_property_query(vm, &pq, value, property);
switch (ret) {
case NJS_OK:
njs_object_prototype_is_prototype_of(njs_vm_t *vm, njs_value_t *args,
njs_uint_t nargs, njs_index_t unused)
{
+ njs_value_t *prototype, *value;
njs_object_t *object, *proto;
- const njs_value_t *prototype, *value, *retval;
+ const njs_value_t *retval;
retval = &njs_value_false;
prototype = &args[0];
njs_uint_t nargs, njs_index_t unused);
njs_int_t njs_property_query(njs_vm_t *vm, njs_property_query_t *pq,
- njs_value_t *object, const njs_value_t *property);
-njs_int_t njs_value_property(njs_vm_t *vm, const njs_value_t *value,
- const njs_value_t *property, njs_value_t *retval);
+ njs_value_t *object, njs_value_t *property);
+njs_int_t njs_value_property(njs_vm_t *vm, njs_value_t *value,
+ njs_value_t *property, njs_value_t *retval);
njs_int_t njs_value_property_set(njs_vm_t *vm, njs_value_t *object,
- const njs_value_t *property, njs_value_t *value);
+ njs_value_t *property, njs_value_t *value);
njs_object_prop_t *njs_object_prop_alloc(njs_vm_t *vm, const njs_value_t *name,
const njs_value_t *value, uint8_t attributes);
njs_object_prop_t *njs_object_property(njs_vm_t *vm, const njs_object_t *obj,
njs_lvlhsh_query_t *lhq);
njs_int_t njs_object_prop_define(njs_vm_t *vm, njs_value_t *object,
- const njs_value_t *name, const njs_value_t *value);
+ njs_value_t *name, njs_value_t *value);
njs_int_t njs_object_prop_descriptor(njs_vm_t *vm, njs_value_t *dest,
- const njs_value_t *value, const njs_value_t *property);
+ njs_value_t *value, njs_value_t *property);
njs_int_t njs_prop_private_copy(njs_vm_t *vm, njs_property_query_t *pq);
const char *njs_prop_type_string(njs_object_prop_type_t type);
njs_int_t
njs_property_query(njs_vm_t *vm, njs_property_query_t *pq, njs_value_t *object,
- const njs_value_t *property)
+ njs_value_t *property)
{
uint32_t index;
njs_int_t ret;
njs_function_t *function;
if (njs_slow_path(!njs_is_primitive(property))) {
- ret = njs_value_to_string(vm, &prop, (njs_value_t *) property);
+ ret = njs_value_to_string(vm, &prop, property);
if (ret != NJS_OK) {
return ret;
}
* retval will contain undefined
*/
njs_int_t
-njs_value_property(njs_vm_t *vm, const njs_value_t *value,
- const njs_value_t *property, njs_value_t *retval)
+njs_value_property(njs_vm_t *vm, njs_value_t *value, njs_value_t *property,
+ njs_value_t *retval)
{
njs_int_t ret;
njs_object_prop_t *prop;
njs_property_query_init(&pq, NJS_PROPERTY_QUERY_GET, 0);
- ret = njs_property_query(vm, &pq, (njs_value_t *) value, property);
+ ret = njs_property_query(vm, &pq, value, property);
switch (ret) {
break;
}
- return njs_function_apply(vm, njs_function(&prop->getter),
- (njs_value_t *) value, 1, retval);
+ return njs_function_apply(vm, njs_function(&prop->getter), value,
+ 1, retval);
case NJS_PROPERTY_HANDLER:
pq.scratch = *prop;
prop = &pq.scratch;
- ret = prop->value.data.u.prop_handler(vm, (njs_value_t *) value,
- NULL, &prop->value);
+ ret = prop->value.data.u.prop_handler(vm, value, NULL,
+ &prop->value);
if (njs_slow_path(ret != NJS_OK)) {
return ret;
*/
njs_int_t
njs_value_property_set(njs_vm_t *vm, njs_value_t *object,
- const njs_value_t *property, njs_value_t *value)
+ njs_value_t *property, njs_value_t *value)
{
njs_int_t ret;
njs_object_prop_t *prop, *shared;
*/
njs_int_t
njs_object_prop_define(njs_vm_t *vm, njs_value_t *object,
- const njs_value_t *name, const njs_value_t *value)
+ njs_value_t *name, njs_value_t *value)
{
njs_int_t ret;
njs_object_prop_t *prop, *prev;
njs_int_t
njs_object_prop_descriptor(njs_vm_t *vm, njs_value_t *dest,
- const njs_value_t *value, const njs_value_t *property)
+ njs_value_t *value, njs_value_t *property)
{
njs_int_t ret;
njs_object_t *desc;
njs_property_query_init(&pq, NJS_PROPERTY_QUERY_GET, 1);
- ret = njs_property_query(vm, &pq, (njs_value_t *) value, property);
+ ret = njs_property_query(vm, &pq, value, property);
switch (ret) {
case NJS_OK:
case NJS_PROPERTY_HANDLER:
pq.scratch = *prop;
prop = &pq.scratch;
- ret = prop->value.data.u.prop_handler(vm, (njs_value_t *) value,
- NULL, &prop->value);
+ ret = prop->value.data.u.prop_handler(vm, value, NULL, &prop->value);
if (njs_slow_path(ret != NJS_OK)) {
return ret;
}
u_char *start;
njs_int_t ret;
njs_str_t string;
- njs_value_t source, flags_string;
- const njs_value_t *pattern, *flags;
+ njs_value_t source, flags_string, *pattern, *flags;
njs_regexp_flags_t re_flags;
pattern = njs_arg(args, nargs, 1);
re_flags = 0;
if (njs_is_regexp(pattern)) {
- ret = njs_regexp_prototype_source(vm, (njs_value_t *) pattern, NULL,
- &source);
+ ret = njs_regexp_prototype_source(vm, pattern, NULL, &source);
if (njs_slow_path(ret != NJS_OK)) {
return ret;
}
} else {
if (njs_is_undefined(pattern)) {
- pattern = &njs_string_empty;
+ pattern = njs_value_arg(&njs_string_empty);
}
ret = njs_primitive_value_to_string(vm, &source, pattern);
njs_string_slice_args(njs_slice_prop_t *slice, njs_value_t *args,
njs_uint_t nargs)
{
- ssize_t start, end, length;
- const njs_value_t *value;
+ ssize_t start, end, length;
+ njs_value_t *value;
length = slice->string_length;
njs_string_bytes_from(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- const njs_value_t *value;
+ njs_value_t *value;
value = njs_arg(args, nargs, 1);
njs_string_bytes_from_string(njs_vm_t *vm, const njs_value_t *args,
njs_uint_t nargs)
{
- njs_str_t enc, str;
- const njs_value_t *enc_val;
+ njs_str_t enc, str;
+ njs_value_t *enc_val;
enc_val = njs_arg(args, nargs, 2);
njs_vm_invoke(njs_vm_t *vm, njs_function_t *function, const njs_value_t *args,
njs_uint_t nargs, njs_index_t retval)
{
- njs_int_t ret;
- njs_value_t *this;
-
- this = (njs_value_t *) &njs_value_undefined;
+ njs_int_t ret;
- ret = njs_function_frame(vm, function, this, (njs_value_t *) args, nargs,
+ ret = njs_function_frame(vm, function, &njs_value_undefined, args, nargs,
0);
if (njs_slow_path(ret != NJS_OK)) {
return ret;
array = njs_array(value);
ret = njs_function_frame(vm, (njs_function_t *) &concat,
- (njs_value_t *) &njs_string_empty,
- array->start, array->length, 0);
+ &njs_string_empty, array->start,
+ array->length, 0);
if (njs_slow_path(ret != NJS_OK)) {
return ret;
}