)]}'
{
  "commit": "758cb462f591f87c5512ef5b9a1a9285e615afab",
  "tree": "5b5fa924894478acae75b7bb407dd6b3356bb915",
  "parents": [
    "17b2e3a893141180710dacc7a395cf13e61974d4"
  ],
  "author": {
    "name": "Srujan Gaddam",
    "email": "srujzs@google.com",
    "time": "Fri Dec 10 18:36:00 2021 +0000"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Fri Dec 10 18:36:00 2021 +0000"
  },
  "message": "[pkg:js] Erase static interop types\n\nCloses https://github.com/dart-lang/sdk/issues/47324\n\nErases static interop class types in favor of `BaseJavaScriptObject`.\nTypes are erased everywhere except for constructors, whose invocations\nare instead wrapped with a cast. Constructor type erasure is avoided\nto ensure the AST is still type-valid. Factories with bodies have\nstatic stubs added instead, and tests are added for this change.\n\nChange-Id: I7231aaaf32d22bc6261adb672a602e8a9e6c86a9\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/215948\nReviewed-by: Sigmund Cherem \u003csigmund@google.com\u003e\nReviewed-by: Riley Porter \u003crileyporter@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f1caddb8580bd1a5a9bd2e678ed870947edea031",
      "new_mode": 33188,
      "new_path": "pkg/_js_interop_checks/lib/src/transformations/static_interop_class_eraser.dart"
    },
    {
      "type": "modify",
      "old_id": "d8985b78655ed59349ca6a644b886ce908f00af4",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/kernel/dart2js_target.dart",
      "new_id": "01f42be21c961abbdef941cc8926867b75476b96",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/kernel/dart2js_target.dart"
    },
    {
      "type": "modify",
      "old_id": "7985eb637beaac9bb5dd3750a14577cecf3169a0",
      "old_mode": 33188,
      "old_path": "pkg/dev_compiler/lib/src/kernel/target.dart",
      "new_id": "bb79eb83e9666c352795a2612800bd55de55d4b2",
      "new_mode": 33188,
      "new_path": "pkg/dev_compiler/lib/src/kernel/target.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fce126f821d0e55a0848433221fd257f6972f1fe",
      "new_mode": 33188,
      "new_path": "tests/modular/static_interop_erasure/.packages"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "80ccc3b7c7ff84165a3715377a788aacf57bf0ca",
      "new_mode": 33188,
      "new_path": "tests/modular/static_interop_erasure/main.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6d1a98874a2849010874ff030239b395cb7c5cbb",
      "new_mode": 33188,
      "new_path": "tests/modular/static_interop_erasure/modules.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a5c93c43bbcc0319c10da02b10aab13b8c661409",
      "new_mode": 33188,
      "new_path": "tests/modular/static_interop_erasure/static_interop.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "71fe51681dcca7b284e5546ddb78693daf47033a",
      "new_mode": 33188,
      "new_path": "tests/web/native/static_interop_erasure/factory_stub_test.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8aba8f4890896fd8190aec5a505be98e92b72a0e",
      "new_mode": 33188,
      "new_path": "tests/web_2/native/static_interop_erasure/factory_stub_test.dart"
    }
  ]
}
