commit | feed66b874176c67ae55a6cc3e9203694bc9ef2d | [log] [tgz] |
---|---|---|
author | Paul Berry <paulberry@google.com> | Thu Sep 15 09:53:28 2022 -0700 |
committer | GitHub <noreply@github.com> | Thu Sep 15 09:53:28 2022 -0700 |
tree | 412fb5f344c4bc3419fa03e681857da572630daf | |
parent | dc3bfc6d371e842e860c4d5b9c847f6f119049d5 [diff] |
[plugin_platform_interface] Switch `PlatformInterface._instanceToken` to an expando. (#6411) This change replaces `PlatformInterface._instanceToken` (an instance field that points from a `PlatformInterface` to its corresponding token) with an expando that maps from `PlatformInterface` to `Object`. There is no change to the public API, and no change to the behavior of users' production code. This change ensures that if a customer tries to implement `PlatformInterface` using `implements` rather than `extends`, the code in `PlatformInterface._verify` won't try to access the private `_instanceToken` field in `PlatformInterface`. This is important because an upcoming change to the dart language is going to cause such accesses to throw exceptions rather than deferring to `noSuchMethod` (see https://github.com/dart-lang/language/issues/2020 for details). Fixes https://github.com/flutter/flutter/issues/109339.
This repo is a companion repo to the main flutter repo. It contains the source code for Flutter first-party plugins (i.e., plugins developed by the core Flutter team). Check the packages
directory for all plugins.
Flutter plugins enable access to platform-specific APIs. For more information about plugins, and how to use them, see https://flutter.dev/platform-plugins/.
These plugins are also available on pub.
Please file any issues, bugs, or feature requests in the main flutter repo.
Issues pertaining to this repository are labeled “plugin”.
If you wish to contribute a new plugin to the Flutter ecosystem, please see the documentation for developing packages and platform channels. You can store your plugin source code in any GitHub repository (the present repo is only intended for plugins developed by the core Flutter team). Once your plugin is ready, you can publish it to the pub repository.
If you wish to contribute a change to any of the existing plugins in this repo, please review our contribution guide, and send a pull request.
These are the available plugins in this repository.