-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Implementing control flow collections #146601
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
goderbauer
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Thank you!
Piinks
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
auto label is removed for flutter/flutter/146601, due to Pull request flutter/flutter/146601 is not in a mergeable state. |
justinmc
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍 Thanks for making the codebase more readable as always.
dev/bots/test.dart
Outdated
| final List<String> allExpectedFiles = binariesWithEntitlements(flutterRoot) + binariesWithoutEntitlements(flutterRoot); | ||
| final Set<String> foundFiles = <String>{ | ||
| for (final String binaryPath in binaryPaths) | ||
| if (allExpectedFiles.contains(binaryPath)) binaryPath |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had to double check the styleguide but looks like this is right. It should be on one line like this (as long as it fits in the line length). https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#prefer-single-line-for-short-collection-if-and-collection-for
| device.deviceId, | ||
| benchmarkPath, | ||
| ]; | ||
| options.add(benchmarkPath); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That was a weird one...
| return convertedActions; | ||
| return <AndroidSemanticsAction>[ | ||
| for (final int id in actions) | ||
| if (AndroidSemanticsAction.deserialize(id) case final AndroidSemanticsAction action) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't know about this case syntax.
| return <String?>[ | ||
| for (final List<String?> slice in _chain) ...slice, | ||
| ..._slice.sublist(0, _pointer), | ||
| ].cast<String>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Avoid .cast.
The result checks the value on every read and write, rather than once in constructing the list.
This kind of inefficiency should be avoided in the foundation.
Instead, nest a for-in in the control flow collection to make it equivalent to the original code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had no idea that .cast worked that way, thank you!
| return result; | ||
| return <String?>[ | ||
| for (final List<String?> slice in _chain) ...slice, | ||
| ..._slice.sublist(0, _pointer), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
..._slice.sublist(...) is creating an extra temporary list.
Presumably the original code avoided result.addAll(_slice.sublist(0, _pointer)) for some reason.
I would make this more like the original, i.e.
for (int i = 0; i < _pointer; i++) _slice[i]!,
|
Thank you all very much! It looks like a merge conflict popped up and |
Manual roll requested by [email protected] flutter/flutter@53cba24...2e748e8 2024-04-15 [email protected] Implementing control flow collections (flutter/flutter#146601) 2024-04-15 [email protected] Roll Packages from 78f684c to 6698b2d (3 revisions) (flutter/flutter#146761) 2024-04-15 [email protected] test: Fix memory leak in transitions test (flutter/flutter#146747) 2024-04-15 [email protected] Fix filled text field active indicator overflows container bounds (flutter/flutter#146637) 2024-04-14 [email protected] - Fixes _DropdownMenuState leaking text controller (flutter/flutter#146571) 2024-04-13 [email protected] Fix memory leaks in `FloatingActionButton` (flutter/flutter#146711) 2024-04-12 [email protected] Roll Flutter Engine from 0e56e3dffe43 to 1a13c7d1f40e (2 revisions) (flutter/flutter#146703) 2024-04-12 [email protected] Roll pub packages (flutter/flutter#146704) 2024-04-12 49699333+dependabot[bot]@users.noreply.github.com Bump peter-evans/create-pull-request from 6.0.2 to 6.0.3 (flutter/flutter#146702) 2024-04-12 [email protected] Avoid forwarding the data after socket is disconnected. (flutter/flutter#146665) 2024-04-12 [email protected] [flutter_tools] Fix conductor for package args roll (flutter/flutter#146646) 2024-04-12 [email protected] Roll Flutter Engine from 6b37b170998e to 0e56e3dffe43 (4 revisions) (flutter/flutter#146698) 2024-04-12 [email protected] Light sliver clean up before SliverTree (flutter/flutter#146696) 2024-04-12 [email protected] Fix label text color is wrong for a focused and hovered TextField (flutter/flutter#146572) 2024-04-12 [email protected] Fix `getOffsetForCaret` crash (flutter/flutter#146669) 2024-04-12 [email protected] Update gen_keycodes templates (flutter/flutter#146481) 2024-04-12 [email protected] Support `flutter run --wasm` and `flutter drive --wasm`. (flutter/flutter#146231) 2024-04-12 [email protected] Fix curved animation memory leak for scrollbar (flutter/flutter#146670) 2024-04-12 [email protected] Roll Packages from e98839a to 78f684c (6 revisions) (flutter/flutter#146691) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
This pull request aims for improved readability, based on issue flutter#146600. ```dart // before Set<Color> _distinctVisibleColors() { final Set<Color> distinctVisibleColors = <Color>{}; if (top.style != BorderStyle.none) { distinctVisibleColors.add(top.color); } if (right.style != BorderStyle.none) { distinctVisibleColors.add(right.color); } if (bottom.style != BorderStyle.none) { distinctVisibleColors.add(bottom.color); } if (left.style != BorderStyle.none) { distinctVisibleColors.add(left.color); } return distinctVisibleColors; } // after Set<Color> _distinctVisibleColors() { return <Color>{ if (top.style != BorderStyle.none) top.color, if (right.style != BorderStyle.none) right.color, if (bottom.style != BorderStyle.none) bottom.color, if (left.style != BorderStyle.none) left.color, }; } ``` Most of the repo should be covered in this PR (aside from `flutter_tools/`, since there was a lot going on in there).
) Manual roll requested by [email protected] flutter/flutter@53cba24...2e748e8 2024-04-15 [email protected] Implementing control flow collections (flutter/flutter#146601) 2024-04-15 [email protected] Roll Packages from 78f684c to 6698b2d (3 revisions) (flutter/flutter#146761) 2024-04-15 [email protected] test: Fix memory leak in transitions test (flutter/flutter#146747) 2024-04-15 [email protected] Fix filled text field active indicator overflows container bounds (flutter/flutter#146637) 2024-04-14 [email protected] - Fixes _DropdownMenuState leaking text controller (flutter/flutter#146571) 2024-04-13 [email protected] Fix memory leaks in `FloatingActionButton` (flutter/flutter#146711) 2024-04-12 [email protected] Roll Flutter Engine from 0e56e3dffe43 to 1a13c7d1f40e (2 revisions) (flutter/flutter#146703) 2024-04-12 [email protected] Roll pub packages (flutter/flutter#146704) 2024-04-12 49699333+dependabot[bot]@users.noreply.github.com Bump peter-evans/create-pull-request from 6.0.2 to 6.0.3 (flutter/flutter#146702) 2024-04-12 [email protected] Avoid forwarding the data after socket is disconnected. (flutter/flutter#146665) 2024-04-12 [email protected] [flutter_tools] Fix conductor for package args roll (flutter/flutter#146646) 2024-04-12 [email protected] Roll Flutter Engine from 6b37b170998e to 0e56e3dffe43 (4 revisions) (flutter/flutter#146698) 2024-04-12 [email protected] Light sliver clean up before SliverTree (flutter/flutter#146696) 2024-04-12 [email protected] Fix label text color is wrong for a focused and hovered TextField (flutter/flutter#146572) 2024-04-12 [email protected] Fix `getOffsetForCaret` crash (flutter/flutter#146669) 2024-04-12 [email protected] Update gen_keycodes templates (flutter/flutter#146481) 2024-04-12 [email protected] Support `flutter run --wasm` and `flutter drive --wasm`. (flutter/flutter#146231) 2024-04-12 [email protected] Fix curved animation memory leak for scrollbar (flutter/flutter#146670) 2024-04-12 [email protected] Roll Packages from e98839a to 78f684c (6 revisions) (flutter/flutter#146691) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

This pull request aims for improved readability, based on issue #146600.
Most of the repo should be covered in this PR (aside from
flutter_tools/, since there was a lot going on in there).Pre-launch Checklist
///).