)]}'
{
  "commit": "1637967ee783613c792e37891318a601a5d7153f",
  "tree": "e64a2f04ee5f1ffdec492fd4e60a54e5cd214944",
  "parents": [
    "575c1d08174a7cfd4db03d7359efe49a812e0ecb"
  ],
  "author": {
    "name": "Paul Berry",
    "email": "stereotype441@gmail.com",
    "time": "Mon Sep 14 10:07:56 2020 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Sep 14 10:07:56 2020 -0700"
  },
  "message": "Work around flow analysis bug (dart-lang/source_span#59)\n\nFlow analysis currently has a bug preventing for-each loop variables\r\nfrom being properly promoted in the presence of closures\r\n(https://github.com/dart-lang/sdk/issues/43136); as a result of this\r\nbug the source_span package had two non-null assertions that ought to\r\nhave been unnecessary.\r\n\r\nI\u0027m preparing a fix for that bug, however if I land it as is, it will\r\ncause the front end to emit errors saying \"Operand of null-aware\r\noperation \u0027!\u0027 has type \u0027_Highlight\u0027 which excludes null\"; this in turn\r\nwill cause SDK bot breakages (since source_span is imported into the\r\nSDK repo).\r\n\r\nSo, in order to land the fix, we need to first update the source_span\r\npackage to work around the bug; this change does that by allocating a\r\ntemporary variable (which *is* promoted correctly).\r\n\r\nOnce the fix for https://github.com/dart-lang/sdk/issues/43136 lands,\r\nI will make a follow-up change that deletes the temporary variable.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d61ff9f614f63f92e6e878d6c50aaf44ceb4e029",
      "old_mode": 33188,
      "old_path": "pkgs/source_span/lib/src/highlighter.dart",
      "new_id": "1c39185a4996a81c6dcf7728e3b633fd1d36a572",
      "new_mode": 33188,
      "new_path": "pkgs/source_span/lib/src/highlighter.dart"
    }
  ]
}
