)]}'
{
  "commit": "35298800a6089c3ceec83d092e237a8162251f92",
  "tree": "8b8ab08e3327dbe30074d6f18b24530a56eac21d",
  "parents": [
    "4735f01193b87951d66cbd3bda061f8c0106437b"
  ],
  "author": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Tue Nov 03 21:40:20 2020 +0000"
  },
  "committer": {
    "name": "Commit Bot service account",
    "email": "commit-bot@chromium.org",
    "time": "Tue Nov 03 21:40:20 2020 +0000"
  },
  "message": "ast: Have all decorations derive from base class\n\nThis is the first step in unifying the way decorations are parsed - i.e. instead of parsing decorations in different ways based on the predicted grammar that follows, we can parse decorations blocks in a unified way, then later verify what we have is as expected.\n\n`StructDecoration` has been transformed from an `enum class` to a proper class so it can derive from `Decoration`.\n\nBug: tint:282\nBug: tint:291\nChange-Id: Iaf12d266068d03edf695acdf2cd21e6cc3ea8eb3\nReviewed-on: https://dawn-review.googlesource.com/c/tint/+/31663\nReviewed-by: dan sinclair \u003cdsinclair@chromium.org\u003e\nCommit-Queue: Ben Clayton \u003cbclayton@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2165569747c6c9aec58abffd9ac455d6731b2d89",
      "old_mode": 33188,
      "old_path": "BUILD.gn",
      "new_id": "1a1aae1e055d457dd8ae0f1fd915c305db6c89e4",
      "new_mode": 33188,
      "new_path": "BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "0eff8bd059ecc06c8fec35b1d8c04826734280b0",
      "old_mode": 33188,
      "old_path": "src/CMakeLists.txt",
      "new_id": "f5e1945cd2c3ba94e934caa90def0d8e1d4c2167",
      "new_mode": 33188,
      "new_path": "src/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "8402439fbb31f6d7996ed0227c7bda1166bc4049",
      "old_mode": 33188,
      "old_path": "src/ast/array_decoration.cc",
      "new_id": "96da6866608bf369750f269955c6d38c9322b5b3",
      "new_mode": 33188,
      "new_path": "src/ast/array_decoration.cc"
    },
    {
      "type": "modify",
      "old_id": "579668b0c7f87987c398a604bd33f7e8a0c654e5",
      "old_mode": 33188,
      "old_path": "src/ast/array_decoration.h",
      "new_id": "a86a4df89e017e0534fdea99a238891c97308460",
      "new_mode": 33188,
      "new_path": "src/ast/array_decoration.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c4abc90ad2a4f89565547d9253197ba68f2949a2",
      "new_mode": 33188,
      "new_path": "src/ast/decoration.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9c58cca3755eb65e61246863cfaf722212ad205f",
      "new_mode": 33188,
      "new_path": "src/ast/decoration.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a8004941550cac42e4640032c0f3cb215b8f8049",
      "new_mode": 33188,
      "new_path": "src/ast/decoration_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d94c2c1ebc57e2317f7e90db98705b878b8d8597",
      "old_mode": 33188,
      "old_path": "src/ast/function_decoration.cc",
      "new_id": "15d7eaa5e8d67fdab61b012fa0402c525b3184e6",
      "new_mode": 33188,
      "new_path": "src/ast/function_decoration.cc"
    },
    {
      "type": "modify",
      "old_id": "d7671382c0290a29f53dd9d674a23c013929df9a",
      "old_mode": 33188,
      "old_path": "src/ast/function_decoration.h",
      "new_id": "101f3a95510738b465698ad6696f8d45a71738c6",
      "new_mode": 33188,
      "new_path": "src/ast/function_decoration.h"
    },
    {
      "type": "modify",
      "old_id": "cf3a02c4fd5d067630b3402555d33ccc42e06d13",
      "old_mode": 33188,
      "old_path": "src/ast/struct.cc",
      "new_id": "8f1e23b72ee57227f606b52d22d91b58e9ccdcb6",
      "new_mode": 33188,
      "new_path": "src/ast/struct.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "aac4c2113e5d33feec65e362681fee42d82d4055",
      "new_mode": 33188,
      "new_path": "src/ast/struct_block_decoration.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e5f4eafa3da4fd34a20190a76177d762361bbffa",
      "new_mode": 33188,
      "new_path": "src/ast/struct_block_decoration.h"
    },
    {
      "type": "modify",
      "old_id": "10ee4850f4c00da0ede2078cf5a894e5d2e496bb",
      "old_mode": 33188,
      "old_path": "src/ast/struct_decoration.cc",
      "new_id": "f75e16be0bd58c80829ce749c4378e6577f97d14",
      "new_mode": 33188,
      "new_path": "src/ast/struct_decoration.cc"
    },
    {
      "type": "modify",
      "old_id": "20139ac874548e2c8e1c3e41c0093ce538251ca6",
      "old_mode": 33188,
      "old_path": "src/ast/struct_decoration.h",
      "new_id": "9386e42f116a26de65b099f6f269c7d9c7b1217b",
      "new_mode": 33188,
      "new_path": "src/ast/struct_decoration.h"
    },
    {
      "type": "modify",
      "old_id": "1c4d15478e40f673c3ea3b654356d91a7b1b7cc8",
      "old_mode": 33188,
      "old_path": "src/ast/struct_member_decoration.cc",
      "new_id": "1e35fd4bce0e7efc540066f33d1f05c66b28a019",
      "new_mode": 33188,
      "new_path": "src/ast/struct_member_decoration.cc"
    },
    {
      "type": "modify",
      "old_id": "b54f3ebd606035724c3b079ba4c222d100145323",
      "old_mode": 33188,
      "old_path": "src/ast/struct_member_decoration.h",
      "new_id": "b8cbb8ab3c1e70784809ed76c3a99938fd75977e",
      "new_mode": 33188,
      "new_path": "src/ast/struct_member_decoration.h"
    },
    {
      "type": "modify",
      "old_id": "55abf23d110afa3d3c31dec444e1bfa3a2b47b9e",
      "old_mode": 33188,
      "old_path": "src/ast/struct_test.cc",
      "new_id": "95f8adb938d1beda8eb9f51d9a443597b10519e9",
      "new_mode": 33188,
      "new_path": "src/ast/struct_test.cc"
    },
    {
      "type": "modify",
      "old_id": "cfb3eb0d62ede12217aa03aeedf790927c56b155",
      "old_mode": 33188,
      "old_path": "src/ast/type/access_control_type_test.cc",
      "new_id": "6dc716e37dea4347d591459f7d27605732f165fd",
      "new_mode": 33188,
      "new_path": "src/ast/type/access_control_type_test.cc"
    },
    {
      "type": "modify",
      "old_id": "1b5dbc0a94442c371c01da3279ecb6c62c99f9d6",
      "old_mode": 33188,
      "old_path": "src/ast/type/alias_type_test.cc",
      "new_id": "6266cfb3aae0cbe1d5a544bccfc8914bb8df639c",
      "new_mode": 33188,
      "new_path": "src/ast/type/alias_type_test.cc"
    },
    {
      "type": "modify",
      "old_id": "fff88bee38b1d1f5a4a8962f84d110603403b8e9",
      "old_mode": 33188,
      "old_path": "src/ast/variable_decoration.cc",
      "new_id": "2087e68efdc1f4d3d0a368d42de3e0c2b57e48d0",
      "new_mode": 33188,
      "new_path": "src/ast/variable_decoration.cc"
    },
    {
      "type": "modify",
      "old_id": "8cc5f70dc36149abb1f384b0caa47820f44a3938",
      "old_mode": 33188,
      "old_path": "src/ast/variable_decoration.h",
      "new_id": "3a13b68ccc2da3553e0968506c05ba1617d85d6c",
      "new_mode": 33188,
      "new_path": "src/ast/variable_decoration.h"
    },
    {
      "type": "modify",
      "old_id": "f3665e7798bb027a228c4dc93e43823f4ca27193",
      "old_mode": 33188,
      "old_path": "src/inspector/inspector_test.cc",
      "new_id": "97d04f7b4305d0f74ae22d66527b4ec800f48136",
      "new_mode": 33188,
      "new_path": "src/inspector/inspector_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d38e96caab185417ed4f945d265813c84d8da17d",
      "old_mode": 33188,
      "old_path": "src/reader/spirv/parser_impl.cc",
      "new_id": "ab77baf68c1d9ee482b57cf6e7fa2014bc4c1dc8",
      "new_mode": 33188,
      "new_path": "src/reader/spirv/parser_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "eb4322194a7d127eb492e8c445d57ed6fbd2e7b7",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl.cc",
      "new_id": "a938eca57dd77ed9d95e8fafbcc05b24262046b2",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "467b6ee209034792aa4d5b34a592ae1fad907f1b",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl.h",
      "new_id": "4133f4b150240ed0b082d553979b182454855a69",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl.h"
    },
    {
      "type": "modify",
      "old_id": "3222117ddebcd14376b8045f0b5d5ebfe8bab763",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_struct_decl_test.cc",
      "new_id": "c2173412396ed6f012dc4440cc16da936d4312b8",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_struct_decl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "5c0ef8eba34db6464a3d658775b9e8aa560151e9",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_struct_decoration_decl_test.cc",
      "new_id": "3ff96742699394adfc7a14f265e7114a6bbfbb6b",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_struct_decoration_decl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "4d07af480e9597cbec17509e3d9a6a43aa0a3116",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_struct_decoration_test.cc",
      "new_id": "a8da5b252ba24e38d19f4f4b38362a629eeafa3d",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_struct_decoration_test.cc"
    },
    {
      "type": "modify",
      "old_id": "3ab074d362682bf7575815bf1b06fac1a2b147ab",
      "old_mode": 33188,
      "old_path": "src/transform/vertex_pulling_transform.cc",
      "new_id": "e8390d793bf4556d6db23827d64498200d4ec2b7",
      "new_mode": 33188,
      "new_path": "src/transform/vertex_pulling_transform.cc"
    },
    {
      "type": "modify",
      "old_id": "62c7bae7188450aad4ec308293df55f613b52fb5",
      "old_mode": 33188,
      "old_path": "src/writer/hlsl/generator_impl_type_test.cc",
      "new_id": "274a6bea079f671cbd89b9cdb908f4686a949c40",
      "new_mode": 33188,
      "new_path": "src/writer/hlsl/generator_impl_type_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d49714e5a8542e2ac26ee80a096e7d08bbb246b5",
      "old_mode": 33188,
      "old_path": "src/writer/msl/generator_impl_type_test.cc",
      "new_id": "c3a12056a83c081dd99ce32eacb06b13b804b6fc",
      "new_mode": 33188,
      "new_path": "src/writer/msl/generator_impl_type_test.cc"
    },
    {
      "type": "modify",
      "old_id": "fe8710e7a4006e348c357e8f034fed452b119528",
      "old_mode": 33188,
      "old_path": "src/writer/spirv/builder_type_test.cc",
      "new_id": "aef87ed385cf9965f1fdf4bde66a44e236bd846b",
      "new_mode": 33188,
      "new_path": "src/writer/spirv/builder_type_test.cc"
    },
    {
      "type": "modify",
      "old_id": "205df743406ed898a6795ffab8dc285e4329293e",
      "old_mode": 33188,
      "old_path": "src/writer/wgsl/generator_impl.cc",
      "new_id": "50c378b3c3d36eff9d4d330d3d5e86922167276f",
      "new_mode": 33188,
      "new_path": "src/writer/wgsl/generator_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "a8b507046eb95e03bbea250660107f0d65497a96",
      "old_mode": 33188,
      "old_path": "src/writer/wgsl/generator_impl_type_test.cc",
      "new_id": "2fc654246600f79dbc63d900c148db8435c3076f",
      "new_mode": 33188,
      "new_path": "src/writer/wgsl/generator_impl_type_test.cc"
    }
  ]
}
