)]}'
{
  "commit": "7b7d69854d8d33c97b48795ec350d783dd09dd6a",
  "tree": "fcab6f040f0a4c902ce747e5a5ecad799a3f1ae7",
  "parents": [
    "81302443f7c4401517c978ebdd40f69bf649ca3e"
  ],
  "author": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Tue Feb 09 17:38:05 2021 +0000"
  },
  "committer": {
    "name": "Commit Bot service account",
    "email": "commit-bot@chromium.org",
    "time": "Tue Feb 09 17:38:05 2021 +0000"
  },
  "message": "TypeResolver: Fix TypeOf() for CallExpression\n\nWhile traversing and resolving the AST, TypeOf() was called to look up\nthe semantic node for the given AST expression in order to fetch the\nresolved type. However, for CallExpression semantic nodes are\nconstructed at the end of the AST traversal, and GetType() for these\nwould unexpectedly return nullptr, causing a crash.\n\nTo fix, have TypeDeterminer maintain an internal map of ast::Expression\nto resolved type. Always populate this internal map whenever SetType() is\ncalled. At the end of the AST traversal, have CreateSemanticNodes()\nconstruct the semantic nodes for any ast::Expression nodes that do not\nalready have a semantic node assigned.\n\nWith this, GetType() will always return the type set with SetType().\n\nFixes tint -\u003e dawn autoroller.\n\nFixed: tint:488\nChange-Id: I2830c496d9b2e4807ec01ed69aeafb3912f4a890\nReviewed-on: https://dawn-review.googlesource.com/c/tint/+/40606\nReviewed-by: dan sinclair \u003cdsinclair@chromium.org\u003e\nCommit-Queue: Ben Clayton \u003cbclayton@google.com\u003e\nAuto-Submit: Ben Clayton \u003cbclayton@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9a6fd7f1f7fdb8471f8d94b076a12f52a3226f4e",
      "old_mode": 33188,
      "old_path": "src/type_determiner.cc",
      "new_id": "18f52f66f80b5a0573ea85db4176e479ab5cd720",
      "new_mode": 33188,
      "new_path": "src/type_determiner.cc"
    },
    {
      "type": "modify",
      "old_id": "2a8b28e55b611ab251792b0c1893bc147499004b",
      "old_mode": 33188,
      "old_path": "src/type_determiner.h",
      "new_id": "bd30a91aa48708a6e86781cb9305fcdf6407f9f5",
      "new_mode": 33188,
      "new_path": "src/type_determiner.h"
    },
    {
      "type": "modify",
      "old_id": "66904d4122d9c21c69a9394e58e923dfae67fad0",
      "old_mode": 33188,
      "old_path": "src/type_determiner_test.cc",
      "new_id": "71e03715c58b59a06888e40d1ee80d7cb24ae550",
      "new_mode": 33188,
      "new_path": "src/type_determiner_test.cc"
    }
  ]
}
