)]}'
{
  "commit": "88dc2a4895c324a266df98c6c2543723c35d5eb5",
  "tree": "ae606e3d97dba1ac2f0019b952eed39f441407f4",
  "parents": [
    "786bc92002dfcec10bd8bbba98fca971bec5ca40"
  ],
  "author": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Wed Nov 04 20:55:31 2020 +0000"
  },
  "committer": {
    "name": "Commit Bot service account",
    "email": "commit-bot@chromium.org",
    "time": "Wed Nov 04 20:55:31 2020 +0000"
  },
  "message": "wsgl parser: Unify logic for all decorations\n\nParse all decorations with the same function, and create a\n`ast::DecorationList`. Once the parser has progressed to the consumer of\nthe decorations, we attempt to downcast these to the required type,\nerroring if they\u0027re the wrong kind.\n\nWhile the error message could be improved further, this greatly reduces\nthe headscratching around crbug.com/tint/291.\n\nAlso knocks another 223 lines off parser_impl.cc.\n\nBug: tint:291\nBug: tint:282\nChange-Id: I7506faeb56d876e5446d900c7c134669a9db6409\nReviewed-on: https://dawn-review.googlesource.com/c/tint/+/31660\nCommit-Queue: Ben Clayton \u003cbclayton@google.com\u003e\nCommit-Queue: dan sinclair \u003cdsinclair@chromium.org\u003e\nReviewed-by: dan sinclair \u003cdsinclair@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ec4fc3943ed047731e2858f3b8c55febc15ad873",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl.cc",
      "new_id": "c53354896b358d0255b329f15dd9b819cb76f75d",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "e1de67fe447c59abf50b967562708d1334444e29",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl.h",
      "new_id": "dd4dd11503959163974fcba45787b53f890c6889",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl.h"
    },
    {
      "type": "modify",
      "old_id": "899a6afc8647829093e19d8e453ca4cfdc55c7fa",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_error_msg_test.cc",
      "new_id": "224f658c4bb641a0b18c591160737ef19d34b1cc",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_error_msg_test.cc"
    },
    {
      "type": "modify",
      "old_id": "549273aa0feaf136485c09d72b09088f61e3b73f",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_function_decl_test.cc",
      "new_id": "2de8075c850f1ad48c7663dc38441b0e03c21c74",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_function_decl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "77c1fbc108c6ab60a721f3fbb3108b90eba3bfed",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_function_decoration_list_test.cc",
      "new_id": "3010a46f829fa81e0a92f3db4d5eb25e07fd9e0d",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_function_decoration_list_test.cc"
    },
    {
      "type": "modify",
      "old_id": "0ab58b2ec75dbe65961ddbee7c474a38110cf9a8",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_function_decoration_test.cc",
      "new_id": "90c9344cdebd1966e624f0eacf8225d747c6bdce",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_function_decoration_test.cc"
    },
    {
      "type": "modify",
      "old_id": "34a7dbbe167b4ad0b1a33c11f164ecdad6eefd3e",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_global_decl_test.cc",
      "new_id": "e76b0b68735e5d7b07bddee28a85b27bc278bbfb",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_global_decl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "4339900d7545e8bf505e541c3d69f51a66203b50",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_global_variable_decl_test.cc",
      "new_id": "49494c125637f79fa9080cc67d59ac5aecb289f8",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_global_variable_decl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "ebf1c4ac705926413513d61ad6c4944e2ef82ba2",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_struct_decl_test.cc",
      "new_id": "78aafaad5ff9ddb10a6b5c485b25e95af916bd46",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_struct_decl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "3ff96742699394adfc7a14f265e7114a6bbfbb6b",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_struct_decoration_decl_test.cc",
      "new_id": "0549a2908c0ea366394dab88b422e5c82906c003",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_struct_decoration_decl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "a8da5b252ba24e38d19f4f4b38362a629eeafa3d",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_struct_decoration_test.cc",
      "new_id": "84c6e22a1def2c6c953b77331d46b4ae15ba4c5a",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_struct_decoration_test.cc"
    },
    {
      "type": "modify",
      "old_id": "f15b14a9e81e5ed60f963c0affae8c4c5094cb4d",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_struct_member_decoration_decl_test.cc",
      "new_id": "36cc93d23783eb30f068dd3370e99f46add31b6b",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_struct_member_decoration_decl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "da419e2358f020e6f2c604ea64fb90b5332f372d",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_struct_member_decoration_test.cc",
      "new_id": "ec257333a82a0a52c1cf4d497dfbbd95c1e13b86",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_struct_member_decoration_test.cc"
    },
    {
      "type": "modify",
      "old_id": "ad3ce9fd7bb7bc7f6a46650874071ef91ccf7ad4",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_struct_member_test.cc",
      "new_id": "188afb709f9dc56cf1e010e691899b9fe657052d",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_struct_member_test.cc"
    },
    {
      "type": "modify",
      "old_id": "a3c435b4b967bb051a8dc0299a5c3dd3f78b26b0",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_type_decl_test.cc",
      "new_id": "e9a6af83beb0b40f33ab16c5fa357958532591ae",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_type_decl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "215e202613579c9e45e78f5fea1d062a64d26442",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_variable_decoration_list_test.cc",
      "new_id": "dcbac856e9e491ea13c2e4fad0a921b55bc67b8e",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_variable_decoration_list_test.cc"
    },
    {
      "type": "modify",
      "old_id": "63af2bbeef36e20902acb7f18479e1ead6e89f59",
      "old_mode": 33188,
      "old_path": "src/reader/wgsl/parser_impl_variable_decoration_test.cc",
      "new_id": "5ada60c6612a000556cf4d07749810b212bd4b74",
      "new_mode": 33188,
      "new_path": "src/reader/wgsl/parser_impl_variable_decoration_test.cc"
    }
  ]
}
