)]}'
{
  "commit": "18b98a8ec158f93d7d95cc39c15982e60a174c1b",
  "tree": "fba2a6474c8568889523b077ecf9b8c01575b034",
  "parents": [
    "1123c8a4ebb7ac3eb2ce4ad2456e58ccf94930de"
  ],
  "author": {
    "name": "Joshua Haberman",
    "email": "haberman@google.com",
    "time": "Wed May 03 08:40:35 2023 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed May 03 08:41:06 2023 -0700"
  },
  "message": "Give sub-messages and sub-enums distinct initialization code paths.\n\nPrior to this change, all sub-messages and sub-enums were initialized to NULL.  Going forward, sub-messages will need to be initialized differently than sub-enums.\n\nTo facilitate this, we change the order of subs, so that sub-messages always come before sub-enums.  Then when we allocate the subs, we can initialize them in two separate loops.\n\nThis unfortunately requires one extra iteration over the fields if any closed enums are present, to adjust the `submsg_index` according to how many sub-messages were seen.\n\nThis CL is the first step towards changing how we handle unlinked sub-messages.\n\nPiperOrigin-RevId: 529100966\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "10988f956829e41ad8d65f8df60f1e9c8777b8c4",
      "old_mode": 33188,
      "old_path": "upb/mini_table/decode.c",
      "new_id": "cc020abbabeee04e08cb20563dd4d1ed38fa985e",
      "new_mode": 33188,
      "new_path": "upb/mini_table/decode.c"
    },
    {
      "type": "modify",
      "old_id": "25f9827b8a963443947394528bc0cdf33c2fb778",
      "old_mode": 33188,
      "old_path": "upbc/protoc-gen-upb.cc",
      "new_id": "3c2072dc4781e0f0ea06f768aee66f28c9aac935",
      "new_mode": 33188,
      "new_path": "upbc/protoc-gen-upb.cc"
    }
  ]
}
