Skip to content

Use an if-element in a collection literal instead of a conditional expression#184830

Merged
srawlins merged 1 commit into
flutter:masterfrom
srawlins:if-element
Apr 15, 2026
Merged

Use an if-element in a collection literal instead of a conditional expression#184830
srawlins merged 1 commit into
flutter:masterfrom
srawlins:if-element

Conversation

@srawlins

@srawlins srawlins commented Apr 9, 2026

Copy link
Copy Markdown
Contributor

This is necessary to land an improvement to the lint rule: https://dart-review.googlesource.com/c/sdk/+/493961

@srawlins srawlins added the CICD Run CI/CD label Apr 9, 2026
@flutter-dashboard

Copy link
Copy Markdown

It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging.

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group.

@github-actions github-actions Bot added a: tests "flutter test", flutter_test, or one of our tests framework flutter/packages/flutter repository. See also f: labels. labels Apr 9, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request modifies the toString method in _FunctionPaintPredicate to utilize a collection if-else statement. Feedback suggests refactoring the C-style for loop to a for-in loop to align with idiomatic Dart style and improve readability.

Comment on lines 2129 to +2130
for (int index = 0; index < arguments.length; index += 1)
arguments[index] != null ? _valueName(arguments[index]) : '...',
if (arguments[index] != null) _valueName(arguments[index]) else '...',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For improved readability and to adhere to Dart best practices, consider refactoring this C-style for loop to a for-in loop. Since the index is not used for anything other than accessing the element, a for-in loop is more idiomatic and concise.

This is in line with the 'Effective Dart: Style' guide, which is part of this repository's style guidelines.

      for (final arg in arguments)
        if (arg != null) _valueName(arg) else '...',

@Piinks Piinks self-requested a review April 14, 2026 22:15

@Piinks Piinks left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@srawlins srawlins added this pull request to the merge queue Apr 14, 2026
Merged via the queue into flutter:master with commit 07a071f Apr 15, 2026
80 checks passed
@srawlins srawlins deleted the if-element branch April 15, 2026 01:51
master-wayne7 pushed a commit to master-wayne7/flutter that referenced this pull request Apr 15, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 15, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 15, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 15, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 16, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Apr 16, 2026
Roll Flutter from c1b14e92dcfb to 31f1802cb859 (46 revisions)

flutter/flutter@c1b14e9...31f1802

2026-04-16 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (#185083)" (flutter/flutter#185145)
2026-04-16 evanwall@buffalo.edu Add oval drawing support to the SDF uber shader (flutter/flutter#184903)
2026-04-16 okorohelijah@google.com Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (flutter/flutter#185083)
2026-04-16 engine-flutter-autoroll@skia.org Roll Skia from 2c49b3f9c3c2 to 391cdbe3ffe9 (2 revisions) (flutter/flutter#185138)
2026-04-16 engine-flutter-autoroll@skia.org Roll Dart SDK from 4ee990654146 to fbddcbe0cd96 (1 revision) (flutter/flutter#185137)
2026-04-16 engine-flutter-autoroll@skia.org Roll Skia from f4e3cd2c2159 to 2c49b3f9c3c2 (14 revisions) (flutter/flutter#185131)
2026-04-16 engine-flutter-autoroll@skia.org Roll Dart SDK from 87b7c87e7207 to 4ee990654146 (5 revisions) (flutter/flutter#185108)
2026-04-15 jacksongardner@google.com Use the `flutteractionsbot` token to push the release branch. (flutter/flutter#184833)
2026-04-15 63195100+tjoengCRC@users.noreply.github.com Allow period characters in iOS and macOS framework names (flutter/flutter#184335)
2026-04-15 zemanux@users.noreply.github.com Fix SliverResizingHeader semantic focus (flutter/flutter#179690)
2026-04-15 srawlins@google.com ignore avoid_type_to_string lint rule in flutter_tools (flutter/flutter#184766)
2026-04-15 engine-flutter-autoroll@skia.org Roll Skia from bda7232e6772 to f4e3cd2c2159 (4 revisions) (flutter/flutter#185063)
2026-04-15 stuartmorgan@google.com Add initial AI guidance for issues (flutter/flutter#184885)
2026-04-15 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from rB8LAuZL_DwHMssTU... to IdBT8fSMYrYSip65j... (flutter/flutter#185064)
2026-04-15 jason-simmons@users.noreply.github.com Fix an ordering dependency in the services/system_chrome_test.dart test suite (flutter/flutter#185086)
2026-04-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[ios][platform_view]Reland hitTest approach (with a few 2026 update) (#183484)" (flutter/flutter#185082)
2026-04-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (#179810)" (flutter/flutter#185067)
2026-04-15 dacoharkes@google.com Agent rule: Dart editing (flutter/flutter#185045)
2026-04-15 41930132+hellohuanlin@users.noreply.github.com [ios][platform_view]Reland hitTest approach (with a few 2026 update) (flutter/flutter#183484)
2026-04-15 okorohelijah@google.com Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (flutter/flutter#179810)
2026-04-15 engine-flutter-autoroll@skia.org Roll Dart SDK from ee5afcef0596 to 87b7c87e7207 (4 revisions) (flutter/flutter#185060)
2026-04-15 engine-flutter-autoroll@skia.org Roll Skia from 4c382df6a25a to bda7232e6772 (7 revisions) (flutter/flutter#185057)
2026-04-15 brackenavaron@gmail.com Remove material import from toggleable_test.dart + draggable_test.dart + obscured_animated_image_test.dart + sliver_constraints_test.dart (flutter/flutter#181774)
2026-04-15 120367427+master-wayne7@users.noreply.github.com refactor: Remove material imports from Widget tests  (flutter/flutter#184877)
2026-04-14 52160996+FMorschel@users.noreply.github.com Adds missing `await`s on forgotten cases (flutter/flutter#183466)
2026-04-14 srawlins@google.com Use an if-element in a collection literal instead of a conditional expression (flutter/flutter#184830)
2026-04-14 50643541+Mairramer@users.noreply.github.com update popular issues documentation (flutter/flutter#183196)
2026-04-14 43054281+camsim99@users.noreply.github.com [Android] Add integration test for setting engine flags via the manifest (flutter/flutter#182241)
2026-04-14 rmacnak@google.com [fuchsia] Ask for both ambient-replace and VMEX to allow for a softer transition. (flutter/flutter#185042)
2026-04-14 goderbauer@google.com Make `multiple_windows` follow repo analyzer rules (flutter/flutter#184753)
2026-04-14 58529443+srujzs@users.noreply.github.com Ignore incoming deprecated_web_configuration lint (flutter/flutter#184130)
2026-04-14 jesswon@google.com [AGP 9] Update AGP Error (flutter/flutter#185043)
2026-04-14 magder@google.com Move widget_preview_scaffold into pub workspace (flutter/flutter#182627)
2026-04-14 planetmarshall@users.noreply.github.com Fix gles interactive tests (flutter/flutter#181389)
2026-04-14 katelovett@google.com Update customer tests.version (flutter/flutter#185044)
2026-04-14 mdebbar@google.com [SKILL] upgrade-browser (flutter/flutter#184894)
2026-04-14 dacoharkes@google.com [ci] Split up integration.shard dart_data_asset_test.dart (flutter/flutter#185021)
2026-04-14 mr-peipei@web.de Hold startup lock until after `pub get` to prevent races (flutter/flutter#184294)
2026-04-14 6226493+andeart@users.noreply.github.com Add `--include-example` flag to `flutter clean` for package example projects (flutter/flutter#183455)
2026-04-14 15619084+vashworth@users.noreply.github.com Disable multi-pack-index when calling flutter from Xcode (flutter/flutter#184998)
2026-04-14 42123156+nvi9@users.noreply.github.com Fix icon tree shaking when building for desktop (flutter/flutter#184249)
2026-04-14 15619084+vashworth@users.noreply.github.com Fix killing wrong xcrun command (flutter/flutter#184831)
2026-04-14 alex.medinsh@gmail.com Allow Xcode build configuration to not contain flavor name (flutter/flutter#183398)
2026-04-14 mdebbar@google.com [web] Async rendering for benchmarks (flutter/flutter#184677)
2026-04-14 dacoharkes@google.com [ci] Split up integration.shard native_assets_test.dart (flutter/flutter#185020)
2026-04-14 737941+loic-sharma@users.noreply.github.com Skip flutter widget-preview test that times out frequently (flutter/flutter#184988)
...
creatorpiyush pushed a commit to creatorpiyush/packages that referenced this pull request Jun 10, 2026
…r#11518)

Roll Flutter from c1b14e92dcfb to 31f1802cb859 (46 revisions)

flutter/flutter@c1b14e9...31f1802

2026-04-16 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (#185083)" (flutter/flutter#185145)
2026-04-16 evanwall@buffalo.edu Add oval drawing support to the SDF uber shader (flutter/flutter#184903)
2026-04-16 okorohelijah@google.com Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (flutter/flutter#185083)
2026-04-16 engine-flutter-autoroll@skia.org Roll Skia from 2c49b3f9c3c2 to 391cdbe3ffe9 (2 revisions) (flutter/flutter#185138)
2026-04-16 engine-flutter-autoroll@skia.org Roll Dart SDK from 4ee990654146 to fbddcbe0cd96 (1 revision) (flutter/flutter#185137)
2026-04-16 engine-flutter-autoroll@skia.org Roll Skia from f4e3cd2c2159 to 2c49b3f9c3c2 (14 revisions) (flutter/flutter#185131)
2026-04-16 engine-flutter-autoroll@skia.org Roll Dart SDK from 87b7c87e7207 to 4ee990654146 (5 revisions) (flutter/flutter#185108)
2026-04-15 jacksongardner@google.com Use the `flutteractionsbot` token to push the release branch. (flutter/flutter#184833)
2026-04-15 63195100+tjoengCRC@users.noreply.github.com Allow period characters in iOS and macOS framework names (flutter/flutter#184335)
2026-04-15 zemanux@users.noreply.github.com Fix SliverResizingHeader semantic focus (flutter/flutter#179690)
2026-04-15 srawlins@google.com ignore avoid_type_to_string lint rule in flutter_tools (flutter/flutter#184766)
2026-04-15 engine-flutter-autoroll@skia.org Roll Skia from bda7232e6772 to f4e3cd2c2159 (4 revisions) (flutter/flutter#185063)
2026-04-15 stuartmorgan@google.com Add initial AI guidance for issues (flutter/flutter#184885)
2026-04-15 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from rB8LAuZL_DwHMssTU... to IdBT8fSMYrYSip65j... (flutter/flutter#185064)
2026-04-15 jason-simmons@users.noreply.github.com Fix an ordering dependency in the services/system_chrome_test.dart test suite (flutter/flutter#185086)
2026-04-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[ios][platform_view]Reland hitTest approach (with a few 2026 update) (#183484)" (flutter/flutter#185082)
2026-04-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (#179810)" (flutter/flutter#185067)
2026-04-15 dacoharkes@google.com Agent rule: Dart editing (flutter/flutter#185045)
2026-04-15 41930132+hellohuanlin@users.noreply.github.com [ios][platform_view]Reland hitTest approach (with a few 2026 update) (flutter/flutter#183484)
2026-04-15 okorohelijah@google.com Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (flutter/flutter#179810)
2026-04-15 engine-flutter-autoroll@skia.org Roll Dart SDK from ee5afcef0596 to 87b7c87e7207 (4 revisions) (flutter/flutter#185060)
2026-04-15 engine-flutter-autoroll@skia.org Roll Skia from 4c382df6a25a to bda7232e6772 (7 revisions) (flutter/flutter#185057)
2026-04-15 brackenavaron@gmail.com Remove material import from toggleable_test.dart + draggable_test.dart + obscured_animated_image_test.dart + sliver_constraints_test.dart (flutter/flutter#181774)
2026-04-15 120367427+master-wayne7@users.noreply.github.com refactor: Remove material imports from Widget tests  (flutter/flutter#184877)
2026-04-14 52160996+FMorschel@users.noreply.github.com Adds missing `await`s on forgotten cases (flutter/flutter#183466)
2026-04-14 srawlins@google.com Use an if-element in a collection literal instead of a conditional expression (flutter/flutter#184830)
2026-04-14 50643541+Mairramer@users.noreply.github.com update popular issues documentation (flutter/flutter#183196)
2026-04-14 43054281+camsim99@users.noreply.github.com [Android] Add integration test for setting engine flags via the manifest (flutter/flutter#182241)
2026-04-14 rmacnak@google.com [fuchsia] Ask for both ambient-replace and VMEX to allow for a softer transition. (flutter/flutter#185042)
2026-04-14 goderbauer@google.com Make `multiple_windows` follow repo analyzer rules (flutter/flutter#184753)
2026-04-14 58529443+srujzs@users.noreply.github.com Ignore incoming deprecated_web_configuration lint (flutter/flutter#184130)
2026-04-14 jesswon@google.com [AGP 9] Update AGP Error (flutter/flutter#185043)
2026-04-14 magder@google.com Move widget_preview_scaffold into pub workspace (flutter/flutter#182627)
2026-04-14 planetmarshall@users.noreply.github.com Fix gles interactive tests (flutter/flutter#181389)
2026-04-14 katelovett@google.com Update customer tests.version (flutter/flutter#185044)
2026-04-14 mdebbar@google.com [SKILL] upgrade-browser (flutter/flutter#184894)
2026-04-14 dacoharkes@google.com [ci] Split up integration.shard dart_data_asset_test.dart (flutter/flutter#185021)
2026-04-14 mr-peipei@web.de Hold startup lock until after `pub get` to prevent races (flutter/flutter#184294)
2026-04-14 6226493+andeart@users.noreply.github.com Add `--include-example` flag to `flutter clean` for package example projects (flutter/flutter#183455)
2026-04-14 15619084+vashworth@users.noreply.github.com Disable multi-pack-index when calling flutter from Xcode (flutter/flutter#184998)
2026-04-14 42123156+nvi9@users.noreply.github.com Fix icon tree shaking when building for desktop (flutter/flutter#184249)
2026-04-14 15619084+vashworth@users.noreply.github.com Fix killing wrong xcrun command (flutter/flutter#184831)
2026-04-14 alex.medinsh@gmail.com Allow Xcode build configuration to not contain flavor name (flutter/flutter#183398)
2026-04-14 mdebbar@google.com [web] Async rendering for benchmarks (flutter/flutter#184677)
2026-04-14 dacoharkes@google.com [ci] Split up integration.shard native_assets_test.dart (flutter/flutter#185020)
2026-04-14 737941+loic-sharma@users.noreply.github.com Skip flutter widget-preview test that times out frequently (flutter/flutter#184988)
...
Istiak-Ahmed78 pushed a commit to Istiak-Ahmed78/packages that referenced this pull request Jun 19, 2026
…r#11518)

Roll Flutter from c1b14e92dcfb to 31f1802cb859 (46 revisions)

flutter/flutter@c1b14e9...31f1802

2026-04-16 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (#185083)" (flutter/flutter#185145)
2026-04-16 evanwall@buffalo.edu Add oval drawing support to the SDF uber shader (flutter/flutter#184903)
2026-04-16 okorohelijah@google.com Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (flutter/flutter#185083)
2026-04-16 engine-flutter-autoroll@skia.org Roll Skia from 2c49b3f9c3c2 to 391cdbe3ffe9 (2 revisions) (flutter/flutter#185138)
2026-04-16 engine-flutter-autoroll@skia.org Roll Dart SDK from 4ee990654146 to fbddcbe0cd96 (1 revision) (flutter/flutter#185137)
2026-04-16 engine-flutter-autoroll@skia.org Roll Skia from f4e3cd2c2159 to 2c49b3f9c3c2 (14 revisions) (flutter/flutter#185131)
2026-04-16 engine-flutter-autoroll@skia.org Roll Dart SDK from 87b7c87e7207 to 4ee990654146 (5 revisions) (flutter/flutter#185108)
2026-04-15 jacksongardner@google.com Use the `flutteractionsbot` token to push the release branch. (flutter/flutter#184833)
2026-04-15 63195100+tjoengCRC@users.noreply.github.com Allow period characters in iOS and macOS framework names (flutter/flutter#184335)
2026-04-15 zemanux@users.noreply.github.com Fix SliverResizingHeader semantic focus (flutter/flutter#179690)
2026-04-15 srawlins@google.com ignore avoid_type_to_string lint rule in flutter_tools (flutter/flutter#184766)
2026-04-15 engine-flutter-autoroll@skia.org Roll Skia from bda7232e6772 to f4e3cd2c2159 (4 revisions) (flutter/flutter#185063)
2026-04-15 stuartmorgan@google.com Add initial AI guidance for issues (flutter/flutter#184885)
2026-04-15 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from rB8LAuZL_DwHMssTU... to IdBT8fSMYrYSip65j... (flutter/flutter#185064)
2026-04-15 jason-simmons@users.noreply.github.com Fix an ordering dependency in the services/system_chrome_test.dart test suite (flutter/flutter#185086)
2026-04-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[ios][platform_view]Reland hitTest approach (with a few 2026 update) (#183484)" (flutter/flutter#185082)
2026-04-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (#179810)" (flutter/flutter#185067)
2026-04-15 dacoharkes@google.com Agent rule: Dart editing (flutter/flutter#185045)
2026-04-15 41930132+hellohuanlin@users.noreply.github.com [ios][platform_view]Reland hitTest approach (with a few 2026 update) (flutter/flutter#183484)
2026-04-15 okorohelijah@google.com Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (flutter/flutter#179810)
2026-04-15 engine-flutter-autoroll@skia.org Roll Dart SDK from ee5afcef0596 to 87b7c87e7207 (4 revisions) (flutter/flutter#185060)
2026-04-15 engine-flutter-autoroll@skia.org Roll Skia from 4c382df6a25a to bda7232e6772 (7 revisions) (flutter/flutter#185057)
2026-04-15 brackenavaron@gmail.com Remove material import from toggleable_test.dart + draggable_test.dart + obscured_animated_image_test.dart + sliver_constraints_test.dart (flutter/flutter#181774)
2026-04-15 120367427+master-wayne7@users.noreply.github.com refactor: Remove material imports from Widget tests  (flutter/flutter#184877)
2026-04-14 52160996+FMorschel@users.noreply.github.com Adds missing `await`s on forgotten cases (flutter/flutter#183466)
2026-04-14 srawlins@google.com Use an if-element in a collection literal instead of a conditional expression (flutter/flutter#184830)
2026-04-14 50643541+Mairramer@users.noreply.github.com update popular issues documentation (flutter/flutter#183196)
2026-04-14 43054281+camsim99@users.noreply.github.com [Android] Add integration test for setting engine flags via the manifest (flutter/flutter#182241)
2026-04-14 rmacnak@google.com [fuchsia] Ask for both ambient-replace and VMEX to allow for a softer transition. (flutter/flutter#185042)
2026-04-14 goderbauer@google.com Make `multiple_windows` follow repo analyzer rules (flutter/flutter#184753)
2026-04-14 58529443+srujzs@users.noreply.github.com Ignore incoming deprecated_web_configuration lint (flutter/flutter#184130)
2026-04-14 jesswon@google.com [AGP 9] Update AGP Error (flutter/flutter#185043)
2026-04-14 magder@google.com Move widget_preview_scaffold into pub workspace (flutter/flutter#182627)
2026-04-14 planetmarshall@users.noreply.github.com Fix gles interactive tests (flutter/flutter#181389)
2026-04-14 katelovett@google.com Update customer tests.version (flutter/flutter#185044)
2026-04-14 mdebbar@google.com [SKILL] upgrade-browser (flutter/flutter#184894)
2026-04-14 dacoharkes@google.com [ci] Split up integration.shard dart_data_asset_test.dart (flutter/flutter#185021)
2026-04-14 mr-peipei@web.de Hold startup lock until after `pub get` to prevent races (flutter/flutter#184294)
2026-04-14 6226493+andeart@users.noreply.github.com Add `--include-example` flag to `flutter clean` for package example projects (flutter/flutter#183455)
2026-04-14 15619084+vashworth@users.noreply.github.com Disable multi-pack-index when calling flutter from Xcode (flutter/flutter#184998)
2026-04-14 42123156+nvi9@users.noreply.github.com Fix icon tree shaking when building for desktop (flutter/flutter#184249)
2026-04-14 15619084+vashworth@users.noreply.github.com Fix killing wrong xcrun command (flutter/flutter#184831)
2026-04-14 alex.medinsh@gmail.com Allow Xcode build configuration to not contain flavor name (flutter/flutter#183398)
2026-04-14 mdebbar@google.com [web] Async rendering for benchmarks (flutter/flutter#184677)
2026-04-14 dacoharkes@google.com [ci] Split up integration.shard native_assets_test.dart (flutter/flutter#185020)
2026-04-14 737941+loic-sharma@users.noreply.github.com Skip flutter widget-preview test that times out frequently (flutter/flutter#184988)
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: tests "flutter test", flutter_test, or one of our tests CICD Run CI/CD framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants