tree 37c376c87c45bbb6a26072b755b0aee55bc7904a
parent 9989606910684486c50f7c520508dbb341285ec8
author Konstantin Scheglov <scheglov@google.com> 1682108155 -0700
committer GitHub <noreply@github.com> 1682108155 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJkQu77CRBK7hj4Ov3rIwAA7+QIAHIVjIDiF8XCnyxvnYYXTyxx
 xEasmmUxgTZ5WsrusH4O6Aqpc9flAEIH/oLLXA25DNyY3ffIFJLOK94es6Ow6Kxb
 n3UjFJdAIJZ1NyLR/VIg4cZYmAsDbVdnBB+PBYjFF/oajiUSi+hLQ9xBXFg9JF7x
 4xEbm1xdhh47RD82dFiC+ErPmnDli1VnrbECd563kP5l5IhvECuRxHnOUcVRDGgW
 bB66KMNGS5M0GzMpOGm2VsEnhyAd+aLSUN7lvfsX5RlkVooCxa6fWIK2PlcW9i1U
 9uq4iFkP8h+dcXLGWaZYMeqot9bZV+8DO2NLeZIm8rrLeJuQk4OMKpEXcvuXNXI=
 =IruL
 -----END PGP SIGNATURE-----
 

[pigeon] Update for compatibility with a future change to the analyzer. (#3789)

We would like to make a change to the Dart analyzer, but the code in
pigeon is written in a way that is not compatible with the future
change. https://dart-review.googlesource.com/c/sdk/+/294920

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [relevant style guides] and ran the
auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages
repo does use `dart format`.)
- [ ] I signed the [CLA].
- [ ] The title of the PR starts with the name of the package surrounded
by square brackets, e.g. `[shared_preferences]`
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated `pubspec.yaml` with an appropriate new version according
to the [pub versioning philosophy], or this PR is [exempt from version
changes].
- [ ] I updated `CHANGELOG.md` to add a description of the change,
[following repository CHANGELOG style].
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/packages/blob/main/CONTRIBUTING.md
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[relevant style guides]:
https://github.com/flutter/packages/blob/main/CONTRIBUTING.md#style
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
[pub versioning philosophy]: https://dart.dev/tools/pub/versioning
[exempt from version changes]:
https://github.com/flutter/flutter/wiki/Contributing-to-Plugins-and-Packages#version-and-changelog-updates
[following repository CHANGELOG style]:
https://github.com/flutter/flutter/wiki/Contributing-to-Plugins-and-Packages#changelog-style
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests