)]}'
{
  "commit": "de857e1c581cfa9b7b2b511a44424713cbe47822",
  "tree": "e2508d549ff559c20a5b59c4ed808bc14b3b58d7",
  "parents": [
    "fa0d64b76d0a5a636fbdcf02e3aac7087af7acdd"
  ],
  "author": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Fri Feb 04 15:38:23 2022 +0000"
  },
  "committer": {
    "name": "Tint LUCI CQ",
    "email": "tint-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Feb 04 15:38:23 2022 +0000"
  },
  "message": "Add tint::Switch()\n\nA type dispatch helper with replaces chains of:\n\n  if (auto* a \u003d obj-\u003eAs\u003cA\u003e()) {\n    ...\n  } else if (auto* b \u003d obj-\u003eAs\u003cB\u003e()) {\n    ...\n  } else {\n    ...\n  }\n\nwith:\n\n  Switch(obj,\n    [\u0026](A* a) { ... },\n    [\u0026](B* b) { ... },\n    [\u0026](Default) { ... });\n\nThis new helper provides greater opportunities for optimizations, avoids\nscoping issues with if-else blocks, and is slightly cleaner (IMO).\n\nBug: tint:1383\nChange-Id: Ice469a03342ef57cbcf65f69753e4b528ac50137\nReviewed-on: https://dawn-review.googlesource.com/c/tint/+/78543\nKokoro: Kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: David Neto \u003cdneto@google.com\u003e\nCommit-Queue: Ben Clayton \u003cbclayton@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8c0f20a1fecc6a9bb5c2c9e14865735cd19a022c",
      "old_mode": 33188,
      "old_path": "src/CMakeLists.txt",
      "new_id": "600e91f7e26e96fe0a87574823600edd9fc6d9d8",
      "new_mode": 33188,
      "new_path": "src/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "24999d2f1df53784108f82100ba4e2f6d2d6fff1",
      "old_mode": 33188,
      "old_path": "src/ast/module.cc",
      "new_id": "3f06a318556dd39493c0fd150ec2955e5b2efb16",
      "new_mode": 33188,
      "new_path": "src/ast/module.cc"
    },
    {
      "type": "modify",
      "old_id": "88d3dfc24d8fb8b346bf64ed073e015e944666f6",
      "old_mode": 33188,
      "old_path": "src/ast/traverse_expressions.h",
      "new_id": "b5789410cdbf5ea87ca881068918874406f535b5",
      "new_mode": 33188,
      "new_path": "src/ast/traverse_expressions.h"
    },
    {
      "type": "modify",
      "old_id": "31044929653ed501986242d3e61b7b0e74ea1d0b",
      "old_mode": 33188,
      "old_path": "src/castable.h",
      "new_id": "04f2dcc78954103c5a5a8570c9fc63e5f33eb957",
      "new_mode": 33188,
      "new_path": "src/castable.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "839a932f5cfdb8d7a99044402ff641937bff8949",
      "new_mode": 33188,
      "new_path": "src/castable_bench.cc"
    },
    {
      "type": "modify",
      "old_id": "e44983ba8fd071f5e51bc89fde55f73885c60965",
      "old_mode": 33188,
      "old_path": "src/castable_test.cc",
      "new_id": "2a9a71a74243c903473f468e50dfbc2c46e3d1de",
      "new_mode": 33188,
      "new_path": "src/castable_test.cc"
    },
    {
      "type": "modify",
      "old_id": "b88916ecabf908b9b884701c53abce1f5e5c21c2",
      "old_mode": 33188,
      "old_path": "src/reader/spirv/function.cc",
      "new_id": "ed35ca4e0d6c5d762070aad25124f977dcec12e9",
      "new_mode": 33188,
      "new_path": "src/reader/spirv/function.cc"
    },
    {
      "type": "modify",
      "old_id": "6d20aceaa86a04e951bfa28d597e7e309a86d0e7",
      "old_mode": 33188,
      "old_path": "src/writer/hlsl/generator_impl.cc",
      "new_id": "8502427d76547c4a6fc3ed91f6eb5dc15b14195d",
      "new_mode": 33188,
      "new_path": "src/writer/hlsl/generator_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "ec2d748dbdbbe462e15941ba58169741c9350d43",
      "old_mode": 33188,
      "old_path": "src/writer/msl/generator_impl.cc",
      "new_id": "129e9692a46e62dedb0dd84906ac6dcc0105a342",
      "new_mode": 33188,
      "new_path": "src/writer/msl/generator_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "19707c0e3266106cde717a304aa86fef4ef2096d",
      "old_mode": 33188,
      "old_path": "src/writer/spirv/builder.cc",
      "new_id": "932ae8c093307b0b0cff0b667da90357bd9be1ee",
      "new_mode": 33188,
      "new_path": "src/writer/spirv/builder.cc"
    },
    {
      "type": "modify",
      "old_id": "094e88947b23c681641da0dcaad7dafcf6b4f3e3",
      "old_mode": 33188,
      "old_path": "src/writer/wgsl/generator_impl.cc",
      "new_id": "96a459ab96ff452107e98dfff910e8bbc5e1f3c9",
      "new_mode": 33188,
      "new_path": "src/writer/wgsl/generator_impl.cc"
    }
  ]
}
