]> git.kaiwu.me - njs.git/commit
Parser: isolate optional preserve wrapper details.
authorDmitry Volyntsev <xeioex@nginx.com>
Wed, 4 Mar 2026 04:40:57 +0000 (20:40 -0800)
committerDmitry Volyntsev <xeioexception@gmail.com>
Thu, 12 Mar 2026 22:26:01 +0000 (15:26 -0700)
commitf569076f9783c789f8eae7ca0e6e9d73c845ccca
tree1422aad47bf9b619df4151b29ac23bcb3b5fc00a
parentc015c830940b1b935bcacb7292043aa41c0e7066
Parser: isolate optional preserve wrapper details.

Introduce NJS_TOKEN_OPTIONAL_PRESERVE for optional-chain preserve nodes
instead of reusing OBJECT_VALUE, so OBJECT_VALUE remains strictly an
object/array literal structure token.

Route optional-preserve, object-value, and optional method-preserve
access through dedicated helper functions with narrow assertions,
removing direct u.object/left/right access from general parser and
generator paths.

No behavior change.
src/njs_generator.c
src/njs_lexer.h
src/njs_parser.c