nxt_array_reset(vm->backtrace);
}
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
ret = njs_parser(vm, parser, prev);
if (nxt_slow_path(ret != NXT_OK)) {
}
if (njs_is_null(&vm->retval)) {
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
}
return NXT_OK;
njs_ret_t ret;
njs_value_t *this;
- this = (njs_value_t *) &njs_value_void;
+ this = (njs_value_t *) &njs_value_undefined;
current = vm->current;
(njs_value_t *) ((u_char *) args + n * 16)
-extern const njs_value_t njs_value_void;
+extern const njs_value_t njs_value_undefined;
#define njs_arg(args, nargs, n) \
- ((n < nargs) ? njs_argument(args, n) : &njs_value_void)
+ ((n < nargs) ? njs_argument(args, n) : &njs_value_undefined)
#define njs_value_assign(dst, src) \
*((njs_opaque_value_t *) dst) = *((njs_opaque_value_t *) src);
NXT_EXPORT njs_function_t *njs_value_function(const 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_undefined(const njs_value_t *value);
+NXT_EXPORT nxt_int_t njs_value_is_null_or_undefined(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);
length = 0;
} else {
- if (!njs_is_void(njs_arg(args, nargs, 2))) {
+ if (!njs_is_undefined(njs_arg(args, nargs, 2))) {
end = (int32_t) njs_primitive_value_to_integer(&args[2]);
} else {
njs_array_t *array;
const njs_value_t *retval, *value;
- retval = &njs_value_void;
+ retval = &njs_value_undefined;
if (njs_is_array(&args[0])) {
array = args[0].data.u.array;
njs_array_t *array;
const njs_value_t *retval, *value;
- retval = &njs_value_void;
+ retval = &njs_value_undefined;
if (njs_is_array(&args[0])) {
array = args[0].data.u.array;
if (!njs_is_string(value)
&& njs_is_valid(value)
- && !njs_is_null_or_void(value))
+ && !njs_is_null_or_undefined(value))
{
max++;
}
if (!njs_is_string(value)
&& njs_is_valid(value)
- && !njs_is_null_or_void(value))
+ && !njs_is_null_or_undefined(value))
{
values[n++] = *value;
for (i = 0; i < array->length; i++) {
value = &array->start[i];
- if (njs_is_valid(value) && !njs_is_null_or_void(value)) {
+ if (njs_is_valid(value) && !njs_is_null_or_undefined(value)) {
if (!njs_is_string(value)) {
value = &values[n++];
for (i = 0; i < array->length; i++) {
value = &array->start[i];
- if (njs_is_valid(value) && !njs_is_null_or_void(value)) {
+ if (njs_is_valid(value) && !njs_is_null_or_undefined(value)) {
if (!njs_is_string(value)) {
value = &values[n++];
}
index = njs_array_iterator_index(args[0].data.u.array, iter);
if (index == NJS_ARRAY_INVALID_INDEX) {
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
return NXT_OK;
}
njs_array_find_t *find;
const njs_value_t *retval;
- retval = &njs_value_void;
+ retval = &njs_value_undefined;
find = njs_vm_continuation(vm);
iter = &find->iter;
value = &args[0].data.u.array->start[n];
if (!njs_is_valid(value)) {
- value = &njs_value_void;
+ value = &njs_value_undefined;
}
arguments[1] = *value;
return NXT_OK;
}
- arguments[0] = njs_value_void;
+ arguments[0] = njs_value_undefined;
/* GC: array elt, array */
arguments[1] = iter->retval;
return NXT_OK;
}
- arguments[0] = njs_value_void;
+ arguments[0] = njs_value_undefined;
/* GC: array elt, array */
arguments[1] = iter->retval;
if (njs_is_valid(&start[n])) {
if (njs_is_valid(&start[n - 1])) {
- arguments[0] = njs_value_void;
+ arguments[0] = njs_value_undefined;
/* GC: array elt, array */
arguments[1] = start[n - 1];
njs_prototype_function(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs,
njs_index_t unused)
{
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
return NXT_OK;
}
{
.type = NJS_PROPERTY,
.name = njs_string("undefined"),
- .value = njs_value(NJS_VOID, 0, NAN),
+ .value = njs_value(NJS_UNDEFINED, 0, NAN),
},
};
proto = njs_property_prototype_create(vm, &function->object.hash,
&vm->prototypes[index].object);
if (proto == NULL) {
- proto = (njs_value_t *) &njs_value_void;
+ proto = (njs_value_t *) &njs_value_undefined;
}
*retval = *proto;
return NJS_ERROR;
}
- arguments[2] = njs_value_void;
+ arguments[2] = njs_value_undefined;
} else {
- arguments[1] = njs_value_void;
+ arguments[1] = njs_value_undefined;
}
- arguments[0] = njs_value_void;
+ arguments[0] = njs_value_undefined;
cont = njs_vm_continuation(vm);
cont->u.cont.function = njs_fs_done;
}
} else {
- arguments[1] = njs_value_void;
+ arguments[1] = njs_value_undefined;
}
- arguments[0] = njs_value_void;
+ arguments[0] = njs_value_undefined;
cont = njs_vm_continuation(vm);
cont->u.cont.function = njs_fs_done;
}
} else {
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
}
return NJS_OK;
static njs_ret_t njs_fs_done(njs_vm_t *vm, njs_value_t *args,
nxt_uint_t nargs, njs_index_t unused)
{
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
return NJS_OK;
}
}
while (max_args != 0) {
- *value++ = njs_value_void;
+ *value++ = njs_value_undefined;
max_args--;
}
case NJS_STRING_OBJECT_ARG:
- if (njs_is_null_or_void(args)) {
+ if (njs_is_null_or_undefined(args)) {
goto type_error;
}
case NJS_REGEXP_ARG:
switch (args->type) {
- case NJS_VOID:
+ case NJS_UNDEFINED:
case NJS_STRING:
case NJS_REGEXP:
break;
case NJS_OBJECT_ARG:
- if (njs_is_null_or_void(args)) {
+ if (njs_is_null_or_undefined(args)) {
goto type_error;
}
nargs -= 2;
} else {
- this = (njs_value_t *) &njs_value_void;
+ this = (njs_value_t *) &njs_value_undefined;
nargs = 0;
}
} else {
if (nargs == 1) {
- this = (njs_value_t *) &njs_value_void;
+ this = (njs_value_t *) &njs_value_undefined;
}
nargs = 0;
function->object.extensible = 1;
if (nargs == 1) {
- args = (njs_value_t *) &njs_value_void;
+ args = (njs_value_t *) &njs_value_undefined;
} else {
nargs--;
}
if (index == NJS_INDEX_NONE) {
- index = njs_value_index(vm, &njs_value_void, generator->runtime);
+ index = njs_value_index(vm, &njs_value_undefined, generator->runtime);
}
stop->retval = index;
value = (njs_value_t *) (p + size);
for (n = scope_size - size; n != 0; n -= sizeof(njs_value_t)) {
- *value++ = njs_value_void;
+ *value++ = njs_value_undefined;
}
if (vm->code == NULL) {
index = node->right->index;
} else {
- index = njs_value_index(vm, &njs_value_void, generator->runtime);
+ index = njs_value_index(vm, &njs_value_undefined, generator->runtime);
}
immediate = njs_generate_lookup_block(generator->block, NJS_GENERATOR_TRY,
}
if (nargs < 2) {
- arg = njs_string_void;
+ arg = njs_string_undefined;
} else {
arg = args[1];
}
njs_json_stringify_t *stringify;
if (nargs < 2) {
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
return NXT_OK;
}
}
} else {
- stringify->replacer = njs_value_void;
+ stringify->replacer = njs_value_undefined;
}
stringify->space.length = 0;
lhq.proto = &njs_object_hash_proto;
lhq.pool = vm->mem_pool;
- if (njs_is_void(&parse->retval)) {
+ if (njs_is_undefined(&parse->retval)) {
ret = nxt_lvlhsh_delete(&state->value.data.u.object->hash,
&lhq);
prop = lhq.value;
if (!prop->enumerable
- || njs_is_void(&prop->value)
+ || njs_is_undefined(&prop->value)
|| !njs_is_valid(&prop->value)
|| njs_is_function(&prop->value))
{
break;
case NJS_JSON_OBJECT_TO_JSON_REPLACED:
- if (njs_is_void(&stringify->retval)) {
+ if (njs_is_undefined(&stringify->retval)) {
state->type = NJS_JSON_OBJECT_CONTINUE;
break;
}
case NJS_JSON_OBJECT_REPLACED:
state->type = NJS_JSON_OBJECT_CONTINUE;
- if (njs_is_void(&stringify->retval)) {
+ if (njs_is_undefined(&stringify->retval)) {
break;
}
break;
case NJS_JSON_ARRAY_TO_JSON_REPLACED:
- if (!njs_is_void(&stringify->retval)
+ if (!njs_is_undefined(&stringify->retval)
&& njs_is_function(&stringify->replacer))
{
return njs_json_stringify_replacer(vm, stringify, NULL,
* An empty object means empty result.
*/
if (str.length <= nxt_length("{\n\n}")) {
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
goto release;
}
return njs_json_buf_append(stringify, "false", 5);
}
- case NJS_VOID:
+ case NJS_UNDEFINED:
case NJS_NULL:
case NJS_INVALID:
case NJS_FUNCTION:
break;
- case NJS_VOID:
+ case NJS_UNDEFINED:
njs_dump("undefined");
break;
break;
case NJS_STRING:
- if (nxt_fast_path(!njs_is_null_or_void_or_boolean(property))) {
+ if (nxt_fast_path(!njs_is_null_or_undefined_or_boolean(property))) {
index = njs_value_to_index(property);
if (nxt_fast_path(index < NJS_STRING_MAX_LENGTH)) {
break;
case NJS_OBJECT_STRING:
- if (nxt_fast_path(!njs_is_null_or_void_or_boolean(property))) {
+ if (nxt_fast_path(!njs_is_null_or_undefined_or_boolean(property))) {
index = njs_value_to_index(property);
if (nxt_fast_path(index < NJS_STRING_MAX_LENGTH)) {
break;
case NJS_ARRAY:
- if (nxt_fast_path(!njs_is_null_or_void_or_boolean(property))) {
+ if (nxt_fast_path(!njs_is_null_or_undefined_or_boolean(property))) {
index = njs_value_to_index(property);
if (nxt_fast_path(index < NJS_ARRAY_MAX_LENGTH)) {
obj = NULL;
break;
- case NJS_VOID:
+ case NJS_UNDEFINED:
case NJS_NULL:
default:
ret = njs_primitive_value_to_string(vm, &pq->value, property);
goto next;
}
- if (proto != object && !njs_is_null_or_void_or_boolean(property)) {
+ if (proto != object
+ && !njs_is_null_or_undefined_or_boolean(property))
+ {
switch (proto->type) {
case NJS_ARRAY:
index = njs_value_to_index(property);
value = njs_arg(args, nargs, 1);
type = value->type;
- if (njs_is_null_or_void(value)) {
+ if (njs_is_null_or_undefined(value)) {
object = njs_object_alloc(vm);
if (nxt_slow_path(object == NULL)) {
value = njs_arg(args, nargs, 1);
- if (njs_is_null_or_void(value)) {
+ if (njs_is_null_or_undefined(value)) {
njs_type_error(vm, "cannot convert %s argument to object",
njs_type_string(value->type));
value = njs_arg(args, nargs, 1);
- if (njs_is_null_or_void(value)) {
+ if (njs_is_null_or_undefined(value)) {
njs_type_error(vm, "cannot convert %s argument to object",
njs_type_string(value->type));
value = njs_arg(args, nargs, 1);
- if (njs_is_null_or_void(value)) {
+ if (njs_is_null_or_undefined(value)) {
njs_type_error(vm, "cannot convert %s argument to object",
njs_type_string(value->type));
njs_object_prop_t *prop, *pr;
nxt_lvlhsh_query_t pq;
- value = unset ? &njs_value_invalid : &njs_value_void;
+ value = unset ? &njs_value_invalid : &njs_value_undefined;
prop = njs_object_prop_alloc(vm, name, value, 0);
if (nxt_slow_path(prop == NULL)) {
return NULL;
if (njs_is_valid(&desc->value)) {
*current->value.data.u.value = desc->value;
} else {
- *current->value.data.u.value = njs_value_void;
+ *current->value.data.u.value = njs_value_undefined;
}
return NXT_OK;
value = njs_arg(args, nargs, 1);
- if (njs_is_null_or_void(value)) {
+ if (njs_is_null_or_undefined(value)) {
njs_type_error(vm, "cannot convert %s argument to object",
njs_type_string(value->type));
return NXT_ERROR;
break;
case NXT_DECLINED:
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
return NXT_OK;
case NJS_TRAP:
value = njs_arg(args, nargs, 1);
if (!njs_is_object(value)) {
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
return NXT_OK;
}
}
if (proto == NULL) {
- proto = &njs_value_void;
+ proto = &njs_value_undefined;
}
*retval = *proto;
njs_object_prop_t *prop;
nxt_lvlhsh_query_t lhq;
- static const njs_value_t prototype_string = njs_string("prototype");
+ static const njs_value_t proto_string = njs_string("prototype");
- prop = njs_object_prop_alloc(vm, &prototype_string, &njs_value_void, 0);
+ prop = njs_object_prop_alloc(vm, &proto_string, &njs_value_undefined, 0);
if (nxt_slow_path(prop == NULL)) {
return NULL;
}
value = njs_arg(args, nargs, 0);
- if (njs_is_null_or_void(value)) {
+ if (njs_is_null_or_undefined(value)) {
njs_type_error(vm, "cannot convert %s argument to object",
njs_type_string(value->type));
return NXT_ERROR;
value = njs_arg(args, nargs, 0);
- if (njs_is_null_or_void(value)) {
+ if (njs_is_null_or_undefined(value)) {
njs_type_error(vm, "cannot convert %s argument to object",
njs_type_string(value->type));
return NXT_ERROR;
case NJS_TOKEN_UNDEFINED:
nxt_thread_log_debug("JS: undefined");
- node->u.value = njs_value_void;
+ node->u.value = njs_value_undefined;
break;
case NJS_TOKEN_THIS:
value = &args[1];
} else {
- value = (njs_value_t *) &njs_string_void;
+ value = (njs_value_t *) &njs_string_undefined;
}
(void) njs_string_prop(&string, value);
value = &args[1];
} else {
- value = (njs_value_t *) &njs_string_void;
+ value = (njs_value_t *) &njs_string_undefined;
}
regexp = args[0].data.u.regexp;
njs_object_prop_t *prop;
nxt_lvlhsh_query_t lhq;
- static const njs_value_t njs_string_index = njs_string("index");
- static const njs_value_t njs_string_input = njs_string("input");
+ static const njs_value_t string_index = njs_string("index");
+ static const njs_value_t string_input = njs_string("input");
array = njs_array_alloc(vm, regexp->pattern->ncaptures, 0);
if (nxt_slow_path(array == NULL)) {
}
} else {
- array->start[i] = njs_value_void;
+ array->start[i] = njs_value_undefined;
}
}
- prop = njs_object_prop_alloc(vm, &njs_string_index, &njs_value_void, 1);
+ prop = njs_object_prop_alloc(vm, &string_index, &njs_value_undefined, 1);
if (nxt_slow_path(prop == NULL)) {
goto fail;
}
goto fail;
}
- prop = njs_object_prop_alloc(vm, &njs_string_input, ®exp->string, 1);
+ prop = njs_object_prop_alloc(vm, &string_input, ®exp->string, 1);
if (nxt_slow_path(prop == NULL)) {
goto fail;
}
printf("\n");
}
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
return NJS_OK;
}
printf("\n");
}
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
return NJS_OK;
}
printf("\n");
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
return NJS_OK;
}
{
njs_console_t *console;
- if (!njs_value_is_void(njs_arg(args, nargs, 1))) {
+ if (!njs_value_is_undefined(njs_arg(args, nargs, 1))) {
njs_vm_error(vm, "labels not implemented");
return NJS_ERROR;
}
console->time = nxt_time();
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
return NJS_OK;
}
ns = nxt_time();
- if (!njs_value_is_void(njs_arg(args, nargs, 1))) {
+ if (!njs_value_is_undefined(njs_arg(args, nargs, 1))) {
njs_vm_error(vm, "labels not implemented");
return NJS_ERROR;
}
printf("Timer \"default\" doesn’t exist.\n");
}
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
return NJS_OK;
}
nxt_uint_t i;
njs_string_prop_t string;
- if (njs_is_null_or_void(&args[0])) {
+ if (njs_is_null_or_undefined(&args[0])) {
njs_type_error(vm, "\"this\" argument is null or undefined");
return NXT_ERROR;
}
length = 0;
} else {
- if (!njs_is_void(njs_arg(args, nargs, 2))) {
+ if (!njs_is_undefined(njs_arg(args, nargs, 2))) {
value = njs_arg(args, nargs, 2);
end = value->data.u.number;
goto done;
- case NJS_VOID:
+ case NJS_UNDEFINED:
default:
goto done;
}
goto done;
- case NJS_VOID:
+ case NJS_UNDEFINED:
default:
break;
}
/* A literal replacement is stored in the second part. */
if (nargs == 2) {
- njs_string_replacement_copy(&r->part[1], &njs_string_void);
+ njs_string_replacement_copy(&r->part[1], &njs_string_undefined);
} else if (njs_is_string(&args[2])) {
njs_string_replacement_copy(&r->part[1], &args[2]);
return NXT_ERROR;
}
- arguments[0] = njs_value_void;
+ arguments[0] = njs_value_undefined;
/* Matched substring and parenthesized submatch strings. */
for (k = 0, i = 1; i <= n; i++) {
r->u.cont.function = njs_string_replace_search_continuation;
- arguments[0] = njs_value_void;
+ arguments[0] = njs_value_undefined;
/* GC, args[0], args[1] */
value = &njs_string_null;
break;
- case NJS_VOID:
- value = &njs_string_void;
+ case NJS_UNDEFINED:
+ value = &njs_string_undefined;
break;
case NJS_BOOLEAN:
return njs_string_encode(vm, &args[1], escape);
}
- vm->retval = njs_string_void;
+ vm->retval = njs_string_undefined;
return NXT_OK;
}
return njs_string_encode(vm, &args[1], escape);
}
- vm->retval = njs_string_void;
+ vm->retval = njs_string_undefined;
return NXT_OK;
}
return njs_string_decode(vm, &args[1], reserve);
}
- vm->retval = njs_string_void;
+ vm->retval = njs_string_undefined;
return NXT_OK;
}
return njs_string_decode(vm, &args[1], reserve);
}
- vm->retval = njs_string_void;
+ vm->retval = njs_string_undefined;
return NXT_OK;
}
nxt_lvlhsh_query_t lhq;
if (nxt_fast_path(nargs < 2) || !njs_is_number(&args[1])) {
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
return NJS_OK;
}
njs_del_event(vm, event, NJS_EVENT_RELEASE | NJS_EVENT_DELETE);
}
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
return NJS_OK;
}
goto not_found;
}
- default_value = njs_is_object(&var->value) ? &var->value : &njs_value_void;
+ default_value = njs_is_object(&var->value) ? &var->value :
+ &njs_value_undefined;
index = njs_scope_next_index(vm, vr->scope, scope_index, default_value);
const njs_value_t njs_value_null = njs_value(NJS_NULL, 0, 0.0);
-const njs_value_t njs_value_void = njs_value(NJS_VOID, 0, NAN);
+const njs_value_t njs_value_undefined = njs_value(NJS_UNDEFINED, 0, NAN);
const njs_value_t njs_value_false = njs_value(NJS_BOOLEAN, 0, 0.0);
const njs_value_t njs_value_true = njs_value(NJS_BOOLEAN, 1, 1.0);
const njs_value_t njs_value_zero = njs_value(NJS_NUMBER, 0, 0.0);
const njs_value_t njs_string_empty = njs_string("");
const njs_value_t njs_string_comma = njs_string(",");
const njs_value_t njs_string_null = njs_string("null");
-const njs_value_t njs_string_void = njs_string("undefined");
+const njs_value_t njs_string_undefined = njs_string("undefined");
const njs_value_t njs_string_boolean = njs_string("boolean");
const njs_value_t njs_string_false = njs_string("false");
const njs_value_t njs_string_true = njs_string("true");
}
}
- prop = njs_object_prop_alloc(vm, &pq.value, &njs_value_void, 1);
+ prop = njs_object_prop_alloc(vm, &pq.value, &njs_value_undefined, 1);
if (nxt_slow_path(prop == NULL)) {
return NXT_ERROR;
}
retval = &njs_value_false;
if (njs_is_object(object)) {
- value = njs_value_void;
+ value = njs_value_undefined;
ret = njs_value_property(vm, constructor, &prototype_string, &value);
if (nxt_fast_path(ret == NXT_OK)) {
static const njs_value_t *types[NJS_TYPE_MAX] = {
&njs_string_object,
- &njs_string_void,
+ &njs_string_undefined,
&njs_string_boolean,
&njs_string_number,
&njs_string_string,
- &njs_string_void,
- &njs_string_void,
- &njs_string_void,
- &njs_string_void,
- &njs_string_void,
- &njs_string_void,
- &njs_string_void,
- &njs_string_void,
- &njs_string_void,
- &njs_string_void,
- &njs_string_void,
+ &njs_string_undefined,
+ &njs_string_undefined,
+ &njs_string_undefined,
+ &njs_string_undefined,
+ &njs_string_undefined,
+ &njs_string_undefined,
+ &njs_string_undefined,
+ &njs_string_undefined,
+ &njs_string_undefined,
+ &njs_string_undefined,
+ &njs_string_undefined,
&njs_string_object,
&njs_string_object,
};
/* A zero index means non-declared variable. */
- type = (value != NULL) ? value->type : NJS_VOID;
+ type = (value != NULL) ? value->type : NJS_UNDEFINED;
vm->retval = *types[type];
njs_ret_t
njs_vmcode_void(njs_vm_t *vm, njs_value_t *invld1, njs_value_t *invld2)
{
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
return sizeof(njs_vmcode_2addr_t);
}
nxt_bool_t nv1, nv2;
const njs_value_t *hv, *lv;
- nv1 = njs_is_null_or_void(val1);
- nv2 = njs_is_null_or_void(val2);
+ nv1 = njs_is_null_or_undefined(val1);
+ nv2 = njs_is_null_or_undefined(val2);
/* Void and null are equal and not comparable with anything else. */
if (nv1 || nv2) {
if (njs_is_numeric(val1)) {
- if (njs_is_void(val1)) {
+ if (njs_is_undefined(val1)) {
return 1;
}
/* TODO: external object instead of void this. */
- ret = njs_function_frame_create(vm, value, &njs_value_void,
+ ret = njs_function_frame_create(vm, value, &njs_value_undefined,
(uintptr_t) nargs, function->code.ctor);
if (nxt_fast_path(ret == NXT_OK)) {
case NJS_NULL:
return "null";
- case NJS_VOID:
+ case NJS_UNDEFINED:
return "undefined";
case NJS_BOOLEAN:
break;
case NXT_DECLINED:
- *retval = njs_value_void;
+ *retval = njs_value_undefined;
return NXT_DECLINED;
nxt_noinline void
njs_value_undefined_set(njs_value_t *value)
{
- *value = njs_value_void;
+ *value = njs_value_undefined;
}
nxt_noinline nxt_int_t
-njs_value_is_void(const njs_value_t *value)
+njs_value_is_undefined(const njs_value_t *value)
{
- return njs_is_void(value);
+ return njs_is_undefined(value);
+}
+
+
+nxt_noinline nxt_int_t
+njs_value_is_null_or_undefined(const njs_value_t *value)
+{
+ return njs_is_null_or_undefined(value);
}
nxt_thread_log_debug("%p [null]", index);
return;
- case NJS_VOID:
+ case NJS_UNDEFINED:
nxt_thread_log_debug("%p [void]", index);
return;
typedef enum {
NJS_NULL = 0x00,
- NJS_VOID = 0x01,
+ NJS_UNDEFINED = 0x01,
- /* The order of the above type is used in njs_is_null_or_void(). */
+ /* The order of the above type is used in njs_is_null_or_undefined(). */
NJS_BOOLEAN = 0x02,
/*
- * The order of the above type is used in njs_is_null_or_void_or_boolean().
+ * The order of the above type is used in
+ * njs_is_null_or_undefined_or_boolean().
*/
NJS_NUMBER = 0x03,
/*
((value)->type == NJS_NULL)
-#define njs_is_void(value) \
- ((value)->type == NJS_VOID)
+#define njs_is_undefined(value) \
+ ((value)->type == NJS_UNDEFINED)
-#define njs_is_null_or_void(value) \
- ((value)->type <= NJS_VOID)
+#define njs_is_null_or_undefined(value) \
+ ((value)->type <= NJS_UNDEFINED)
#define njs_is_boolean(value) \
((value)->type == NJS_BOOLEAN)
-#define njs_is_null_or_void_or_boolean(value) \
+#define njs_is_null_or_undefined_or_boolean(value) \
((value)->type <= NJS_BOOLEAN)
void njs_lvlhsh_free(void *data, void *p, size_t size);
-extern const njs_value_t njs_value_void;
+extern const njs_value_t njs_value_undefined;
extern const njs_value_t njs_value_null;
extern const njs_value_t njs_value_false;
extern const njs_value_t njs_value_true;
extern const njs_value_t njs_string_empty;
extern const njs_value_t njs_string_comma;
-extern const njs_value_t njs_string_void;
+extern const njs_value_t njs_string_undefined;
extern const njs_value_t njs_string_null;
extern const njs_value_t njs_string_false;
extern const njs_value_t njs_string_true;
r->uri.length);
}
- vm->retval = njs_value_void;
+ vm->retval = njs_value_undefined;
return NJS_OK;
}