tree f899779a8a8590b54bafdffb335b48b102b95dca
parent 0c412977d4987c4dcd560947c9dc9974a809d62b
author Aaron Webster <awebster@gmail.com> 1769733665 -0800
committer Aaron Webster <awebster@gmail.com> 1769733665 -0800

Address review feedback for JSON output support

- Restore license header in generated_code_templates
- Re-enable standard C++ includes that were incorrectly commented out
- Revert include path to internal format (Copybara adjusts at import)
- Add JsonLargeIntegerHandling option to serialize 64-bit integers as
  quoted strings to avoid precision loss in JSON parsers
- Remove space between colon and value in JSON compact output
- Make comments(), digit_grouping(), and numeric_base() accessors
  automatically return appropriate values when JSON mode is enabled,
  eliminating scattered json checks throughout the code
- Simplify WriteIntegerViewToTextStream, WriteEnumViewToTextStream,
  and WriteArrayToTextStream by leveraging the new accessor behavior
- Update tests to reflect compact JSON format (no spaces after colons)
- Update golden files for template changes
