if (njs_slow_path(njs_is_symbol(name))) {
return ((njs_symbol_key(name) == lhq->key_hash)
- && lhq->key.length == 0) ? NJS_OK : NJS_DECLINED;
+ && lhq->key.start == NULL) ? NJS_OK : NJS_DECLINED;
}
/* string. */
if (njs_is_symbol(key)) {
lhq->key.length = 0;
+ lhq->key.start = NULL;
lhq->key_hash = njs_symbol_key(key);
} else {
#define njs_property_query_init(pq, _query, _own) \
do { \
(pq)->lhq.key.length = 0; \
+ (pq)->lhq.key.start = NULL; \
(pq)->lhq.value = NULL; \
(pq)->own_whiteout = NULL; \
(pq)->query = _query; \
"Object.getOwnPropertyDescriptor(o, Symbol.isConcatSpreadable).value"),
njs_str("true") },
+ { njs_str("var o = {}, n = 5381 /* NJS_DJB_HASH_INIT */;"
+ "while(n--) o[Symbol()] = 'test'; o[''];"),
+ njs_str("undefined") },
+
/* String */
{ njs_str("String()"),