)]}'
{
  "commit": "d0fc2947b00509f08e55bac83c2b4aa7e027cf8f",
  "tree": "f1a595111c043c8c8a2a4bef354fe17d3d35b75b",
  "parents": [
    "b836c581e3accb4e392962f7a601f164fa084d75"
  ],
  "author": {
    "name": "Rosica Dejanovska",
    "email": "rosica@google.com",
    "time": "Fri Jan 21 11:26:00 2022 +0000"
  },
  "committer": {
    "name": "Marcel Hlopko",
    "email": "hlopko@google.com",
    "time": "Fri Mar 25 22:14:50 2022 +0000"
  },
  "message": "Account for textual headers when determining the owning target of a decl\n\nBefore this cl, we did not generate bindings for decls coming from textual headers, as they didn\u0027t belong to any target/crate. Now, when we inspect a decl coming from a textual header, we go up the #include stack to locate the first header that has an owning target, and that target becomes the owner of the decl.\n\nPiperOrigin-RevId: 423281830\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7bcb74fc89a9cb1622d6455be347a5bc180219ed",
      "old_mode": 33188,
      "old_path": "rs_bindings_from_cc/ast_visitor.cc",
      "new_id": "10344bc014206e00b0883f55cd25a54983ddec12",
      "new_mode": 33188,
      "new_path": "rs_bindings_from_cc/ast_visitor.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "154c23f7431e807c453b4d6d2c0220a50bc679ec",
      "new_mode": 33188,
      "new_path": "rs_bindings_from_cc/test/textual_headers/includes_struct_through_layers_of_textual_headers.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "74a04392dce110471a6fcc6a5e58a1f3d52fe922",
      "new_mode": 33188,
      "new_path": "rs_bindings_from_cc/test/textual_headers/includes_textual_header.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a8194869e740ec88a73e165328995c50da273723",
      "new_mode": 33188,
      "new_path": "rs_bindings_from_cc/test/textual_headers/includes_textual_header.inc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c26caf6c8ba15eb9aaf4bbaee2f199c245161f0a",
      "new_mode": 33188,
      "new_path": "rs_bindings_from_cc/test/textual_headers/struct_in_textual_header.inc"
    },
    {
      "type": "modify",
      "old_id": "9c15f8db4a979368b71b42e86a92a2ba1446f387",
      "old_mode": 33188,
      "old_path": "rs_bindings_from_cc/test/textual_headers/textual.inc",
      "new_id": "6b67ec20d9d8e0994df52deb5191fd444efc26c0",
      "new_mode": 33188,
      "new_path": "rs_bindings_from_cc/test/textual_headers/textual.inc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "64f2384b1934f5c1788e3e2e821f179f0d1be3a8",
      "new_mode": 33188,
      "new_path": "rs_bindings_from_cc/test/textual_headers/uses_struct_from_layers_of_textual_headers.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9e16849a7953d423ede33db222046e2c2c4b3e78",
      "new_mode": 33188,
      "new_path": "rs_bindings_from_cc/test/textual_headers/uses_struct_from_textual_header.rs"
    }
  ]
}
