)]}'
{
  "commit": "7d396a9cf32fef1d3a9e983a6607e21ae80c18bf",
  "tree": "383812aec48c7bec20c348daf431a9c8066fae08",
  "parents": [
    "7844833042e5d5e4461e4333ca2f191b564538ef"
  ],
  "author": {
    "name": "Brent Shaffer",
    "email": "betterbrent@google.com",
    "time": "Thu Jun 04 22:44:54 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Jun 04 22:46:38 2026 -0700"
  },
  "message": "fix(php): add missing reserved keywords (object, mixed, and never) (#27475)\n\nSee https://github.com/googleapis/google-cloud-php/issues/9193\n\nprotoc is generating the invalid class name `Object` when it should be prefixed with `PB` to prevent a conflict with PHP reserved words. I\u0027ve updated this library to generate files correctly, as well as updated the `GPBUtil` to look for the prefixed class. I\u0027ve also added the `never` and `mixed` keywords, which are also reserved and cannot be used as classnames.\n\nTo cleanup this code I\u0027ve also introduced https://github.com/protocolbuffers/protobuf/pull/27456, which introduces a script to keep all our code and tests in sync when updating/modifying keywords\n\nCloses #27475\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/27475 from bshaffer:php-add-missing-reserved-words 8938259b85990b2d0fc2b81a95685dcfcfba50e7\nPiperOrigin-RevId: 927083089\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5007b4ab441e22fa83ad5df61f8472b93036075e",
      "old_mode": 33188,
      "old_path": "php/ext/google/protobuf/names.c",
      "new_id": "87462e7f82e8d26a5186d1e3dadd361db9c854f9",
      "new_mode": 33188,
      "new_path": "php/ext/google/protobuf/names.c"
    },
    {
      "type": "modify",
      "old_id": "67e141b14ff7c7e3ac33bdcf2719335f172065e8",
      "old_mode": 33188,
      "old_path": "php/src/Google/Protobuf/Internal/GPBUtil.php",
      "new_id": "81b1805768024f7314054e9f6c36ef7686dede55",
      "new_mode": 33188,
      "new_path": "php/src/Google/Protobuf/Internal/GPBUtil.php"
    },
    {
      "type": "modify",
      "old_id": "273e30f27d7062d898484c42ffbde8eb48f398f1",
      "old_mode": 33188,
      "old_path": "php/tests/GeneratedClassTest.php",
      "new_id": "85c255ba068d454d35347f6fb44955b34c73e362",
      "new_mode": 33188,
      "new_path": "php/tests/GeneratedClassTest.php"
    },
    {
      "type": "modify",
      "old_id": "1f96ac6fe0206ad4670f897293d6de1ced144f4c",
      "old_mode": 33188,
      "old_path": "php/tests/proto/test_reserved_enum_lower.proto",
      "new_id": "2ce95dc1db83259379a0c403077271fef4908069",
      "new_mode": 33188,
      "new_path": "php/tests/proto/test_reserved_enum_lower.proto"
    },
    {
      "type": "modify",
      "old_id": "c5e7e99fd5ddf2f177043bfedce454481d7e2559",
      "old_mode": 33188,
      "old_path": "php/tests/proto/test_reserved_enum_upper.proto",
      "new_id": "58a3065bbb5c74f1e10508e984f6c2ad7079af9f",
      "new_mode": 33188,
      "new_path": "php/tests/proto/test_reserved_enum_upper.proto"
    },
    {
      "type": "modify",
      "old_id": "86c6877f7d889951c8fdf2f571ab21b23d0a7f1a",
      "old_mode": 33188,
      "old_path": "php/tests/proto/test_reserved_enum_value_lower.proto",
      "new_id": "ad19f87ceb8700ac04a5333cad69410c02d5dc70",
      "new_mode": 33188,
      "new_path": "php/tests/proto/test_reserved_enum_value_lower.proto"
    },
    {
      "type": "modify",
      "old_id": "ac0beda7d90367199b2f8dfead5f478dad5c3a6a",
      "old_mode": 33188,
      "old_path": "php/tests/proto/test_reserved_enum_value_upper.proto",
      "new_id": "75702e9abe1f7c1983b8fb246f22c83fd45b3961",
      "new_mode": 33188,
      "new_path": "php/tests/proto/test_reserved_enum_value_upper.proto"
    },
    {
      "type": "modify",
      "old_id": "551ed7a408d4b45e5da10f07353ed9da436be3d1",
      "old_mode": 33188,
      "old_path": "php/tests/proto/test_reserved_message_lower.proto",
      "new_id": "de0e7dc215d18fc546844e27cc41039f4354ddb3",
      "new_mode": 33188,
      "new_path": "php/tests/proto/test_reserved_message_lower.proto"
    },
    {
      "type": "modify",
      "old_id": "96995c99178afb2869fd013f993a882d982a5d46",
      "old_mode": 33188,
      "old_path": "php/tests/proto/test_reserved_message_upper.proto",
      "new_id": "f60e2ad9f81cda07e12565f5e7990b40862a7f51",
      "new_mode": 33188,
      "new_path": "php/tests/proto/test_reserved_message_upper.proto"
    },
    {
      "type": "modify",
      "old_id": "79371ab37b632d2c3770dc4db489309f54b2252b",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/php/names.cc",
      "new_id": "8b933ac63a8e1fbdc7a4594d31b44b0775b1e0b6",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/php/names.cc"
    },
    {
      "type": "modify",
      "old_id": "75beb116f7304389da2cb31002222f5418108e6d",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/php/php_generator.cc",
      "new_id": "a6cd8d4b5d760159cc13ed6ca50a55473ca9e4c5",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/php/php_generator.cc"
    }
  ]
}
