)]}'
{
  "commit": "3f145ee0b53997c470c5cc7182d60f176fe85516",
  "tree": "b14890c9fe83357b9fe80d1ce9f823f220fc7eaa",
  "parents": [
    "e12ebfa0d92151ea89fc8fb0abb064f1466abb25"
  ],
  "author": {
    "name": "Joshua Haberman",
    "email": "haberman@google.com",
    "time": "Thu Mar 20 15:54:23 2025 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Mar 20 15:57:41 2025 -0700"
  },
  "message": "Replace `Output` with `io::Printer` in upb\u0027s reflection code generator.\n\nNote that the code has grown a lot in terms of line count -- the original codegen was less than 200 lines, where this refactored version is more than 300 lines.  But hopefully it has also gotten more readable and easier to maintain.  Feedback welcome about whether it has achieved this goal.\n\nPiperOrigin-RevId: 738968810\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "192aad7b6e7eef660f7728e469403aa8cd0ec356",
      "old_mode": 33188,
      "old_path": "upb_generator/reflection/BUILD",
      "new_id": "e763176c7c195260dda1d57f776b01ae5c7f3cee",
      "new_mode": 33188,
      "new_path": "upb_generator/reflection/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "565737476762d5c4b2edd1cf7b0914a9d0440c2d",
      "new_mode": 33188,
      "new_path": "upb_generator/reflection/context.h"
    },
    {
      "type": "modify",
      "old_id": "a98eb0418ff53f574714e550ea650a3ee08cf5a9",
      "old_mode": 33188,
      "old_path": "upb_generator/reflection/generator.cc",
      "new_id": "dfa4cf049bebdbc637a21bca8c8455e72a89b4ea",
      "new_mode": 33188,
      "new_path": "upb_generator/reflection/generator.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ff3bc563f6e67c48fcdcef507dbefb40d4993506",
      "new_mode": 33188,
      "new_path": "upb_generator/reflection/header.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2310091ab7466872bca853d1ae30e4b449f10772",
      "new_mode": 33188,
      "new_path": "upb_generator/reflection/header.h"
    },
    {
      "type": "modify",
      "old_id": "70c06d1cf300649c2572cb617906675dc961ef7f",
      "old_mode": 33188,
      "old_path": "upb_generator/reflection/names.h",
      "new_id": "c6e2948914a1410a4f2d3101cf0b33f38d460544",
      "new_mode": 33188,
      "new_path": "upb_generator/reflection/names.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a573f1f57554ee5f857db33635824b12134c158f",
      "new_mode": 33188,
      "new_path": "upb_generator/reflection/source.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5c61f19f511dcb4f18fed6def1757a5fe5810c35",
      "new_mode": 33188,
      "new_path": "upb_generator/reflection/source.h"
    }
  ]
}
