)]}'
{
  "commit": "cf7d46097bf7cd2462f2387e2958c22f391fa49b",
  "tree": "3d3dcf1a7ee1641502b228043693eccb5c975bdd",
  "parents": [
    "a666e5a2218c77dd3a06a7ae9cdb4d03e8c65348"
  ],
  "author": {
    "name": "Nicholas Shahan",
    "email": "nshahan@google.com",
    "time": "Mon Sep 20 21:28:29 2021 +0000"
  },
  "committer": {
    "name": "commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Mon Sep 20 21:28:29 2021 +0000"
  },
  "message": "[ddc] Refactor _isSubtype\n\nMove the method body out of one giant JS foreign function and into\nDart code with small JS foreign function calls inside.\n\n* Removes the confusion around what it actually means when we use\n  Dart String interpolation within the JS function template.\n* Highlights the operations that actually need the JS foreign\n  function.\n* Allows for syntax highlighting and automatic formatting of this\n  code.\n* Allows for IDE \"jump to definition\" for class members that were\n  previously inside the template.\n\nThese changes were developed by diffing the compiled output to\nensure the changes were as minimal and inconsequential as possible.\nThe only diffs that appeared beyond the intentional addition of\nthe `t1Bound` and `t2Bound` local variables were:\n\n* Using the top level variable for a type:\n  `dart.nullable(core.Object)` -\u003e `T$.ObjectN()`\n* Loop variable incrementing:\n  `i++` -\u003e `i \u003d i + 1`\n\nChange-Id: I55fa3fa94b984c67b18a744837843d458231c4d0\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/213525\nReviewed-by: Srujan Gaddam \u003csrujzs@google.com\u003e\nCommit-Queue: Nicholas Shahan \u003cnshahan@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3c0267db05426df0f01acc4c438d6ad53813d922",
      "old_mode": 33188,
      "old_path": "sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/types.dart",
      "new_id": "97b78c2efb40a0232a77c97f801ac15a5d75f889",
      "new_mode": 33188,
      "new_path": "sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/types.dart"
    }
  ]
}
