)]}'
{
  "commit": "feed66b874176c67ae55a6cc3e9203694bc9ef2d",
  "tree": "412fb5f344c4bc3419fa03e681857da572630daf",
  "parents": [
    "dc3bfc6d371e842e860c4d5b9c847f6f119049d5"
  ],
  "author": {
    "name": "Paul Berry",
    "email": "paulberry@google.com",
    "time": "Thu Sep 15 09:53:28 2022 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Sep 15 09:53:28 2022 -0700"
  },
  "message": "[plugin_platform_interface] Switch `PlatformInterface._instanceToken` to an expando. (#6411)\n\nThis change replaces `PlatformInterface._instanceToken` (an instance\r\nfield that points from a `PlatformInterface` to its corresponding\r\ntoken) with an expando that maps from `PlatformInterface` to `Object`.\r\nThere is no change to the public API, and no change to the behavior of\r\nusers\u0027 production code.\r\n\r\nThis change ensures that if a customer tries to implement\r\n`PlatformInterface` using `implements` rather than `extends`, the code\r\nin `PlatformInterface._verify` won\u0027t try to access the private\r\n`_instanceToken` field in `PlatformInterface`.  This is important\r\nbecause an upcoming change to the dart language is going to cause such\r\naccesses to throw exceptions rather than deferring to `noSuchMethod`\r\n(see https://github.com/dart-lang/language/issues/2020 for details).\r\n\r\nFixes https://github.com/flutter/flutter/issues/109339.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0e9b701444fd1cf8154b67222118c4809a9815ad",
      "old_mode": 33188,
      "old_path": "packages/plugin_platform_interface/CHANGELOG.md",
      "new_id": "0b5a6b63a52f28bef89d1bf599e961ad31fe5b49",
      "new_mode": 33188,
      "new_path": "packages/plugin_platform_interface/CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "a03c9ce2d36796db8cb10fa501c896e4482256b0",
      "old_mode": 33188,
      "old_path": "packages/plugin_platform_interface/lib/plugin_platform_interface.dart",
      "new_id": "6733b29953b0110c4afb16c6475731cd5cca206b",
      "new_mode": 33188,
      "new_path": "packages/plugin_platform_interface/lib/plugin_platform_interface.dart"
    },
    {
      "type": "modify",
      "old_id": "f4800d444e66e42b67cc50c21929db0ad726d98e",
      "old_mode": 33188,
      "old_path": "packages/plugin_platform_interface/pubspec.yaml",
      "new_id": "6a4bc488693b5f611e047a45963ce4816cf89d26",
      "new_mode": 33188,
      "new_path": "packages/plugin_platform_interface/pubspec.yaml"
    },
    {
      "type": "modify",
      "old_id": "329cecb160915f26c04a5309f00cace7b0334467",
      "old_mode": 33188,
      "old_path": "packages/plugin_platform_interface/test/plugin_platform_interface_test.dart",
      "new_id": "869017cd4f23b691ad3890b7ce2c4de3debe425f",
      "new_mode": 33188,
      "new_path": "packages/plugin_platform_interface/test/plugin_platform_interface_test.dart"
    }
  ]
}
