fix(generate): avoid mutating inherited reserved sets

Copy the base grammar's reserved set map before adding or replacing sets
in a derived grammar.
This commit is contained in:
Will Lillis 2026-08-23 16:41:15 -04:00
parent 1cb91662a5
commit c6c137a329

View file

@ -340,7 +340,7 @@ function grammar(baseGrammar, options) {
}
}
let reserved = baseGrammar.reserved;
let reserved = { ...baseGrammar.reserved };
if (options.reserved) {
if (typeof options.reserved !== "object") {
throw new Error("Grammar's 'reserved' property must be an object.");