Skip to content
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

[web] enable prefer_final_locals lint #27420

Merged
merged 1 commit into from Jul 15, 2021
Merged

Conversation

yjbanov
Copy link
Contributor

@yjbanov yjbanov commented Jul 14, 2021

Specify final where possible and enable the lint.

@flutter-dashboard flutter-dashboard bot added the platform-web Code specifically for the web engine label Jul 14, 2021
@google-cla google-cla bot added the cla: yes label Jul 14, 2021
@yjbanov yjbanov marked this pull request as ready for review July 14, 2021 23:34
Copy link
Member

@ditman ditman left a comment

Choose a reason for hiding this comment

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

Looks good to me. There are a couple of instances that used to be nullable, but the ? went away when final came, l highlighted the ones I found just to make sure that's what we want to do.

Comment on lines 302 to 304
for (int saveStackIndex = 0;
saveStackIndex < len;
saveStackIndex++) {
Copy link
Member

Choose a reason for hiding this comment

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

Odd that this for hasn't collapsed a single line?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't use dartfmt :)
Done.

Comment on lines -1313 to +1314
for (int i = 0, len = pointCount * 2; i < len; i += 2) {
final int len = pointCount * 2;
for (int i = 0; i < len; i += 2) {
Copy link
Member

Choose a reason for hiding this comment

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

Ughh, this syntax again. Annoying.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Is there anything I can do to fix it? I'm not sure which part you are referring to.

Copy link
Member

Choose a reason for hiding this comment

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

Nope, I don't think there's anything that can be done to fix this.

I meant having to split the initialization of len outside of the for loop because it can't be defined as final inside it.

Object? positionAttributeLocation =
final Object positionAttributeLocation =
Copy link
Member

Choose a reason for hiding this comment

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

Used to be nullable, but not any longer? Is this intended?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not intended by me, but when I changed to final the analyzer realized that the value is initialized to a non-null value and because it's final it stays non-null forever. So making the type nullable no longer makes sense.

lib/web_ui/lib/src/engine/html/shaders/webgl_context.dart Outdated Show resolved Hide resolved
@yjbanov yjbanov merged commit 7a8969a into flutter:master Jul 15, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 15, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 15, 2021
flar pushed a commit to flutter/flutter that referenced this pull request Jul 15, 2021
* a7b5522 refactor and simplify CI dart analysis (flutter/engine#27370)

* 137009b Switch test_suites to yaml. (flutter/engine#27368)

* a22a3ca [web] fix a few analysis lints (flutter/engine#27375)

* a02c017 make it work on <API 24 (flutter/engine#27398)

* 0220256 Make FlutterFragment usable without requiring it to be attached to an Android Activity. (Attempt 2) (flutter/engine#27397)

* 51e07a5 [fuchsia] Use FFI to get System clockMonotonic (flutter/engine#27353)

* 4015d8b Roll Skia from 224e3e257d06 to 773a0b8c7e74 (44 revisions) (flutter/engine#27399)

* 7db1a96 [ci.yaml] Add Linux Android Scenarios postsubmit (flutter/engine#27400)

* a02f6bc remove the use of package:isolate (flutter/engine#27401)

* 3237f4f Roll Skia from 773a0b8c7e74 to 36c1804e8f5c (1 revision) (flutter/engine#27402)

* 75af7c8 Roll Dart SDK from ab009483f343 to 746879714c96 (5 revisions) (flutter/engine#27403)

* be21e40 [ci.yaml] Add linux benchmarks, add enabled branches (flutter/engine#27405)

* c8d7a97 Roll Fuchsia Mac SDK from wUg-tGGCL... to uhahzGJ6H... (flutter/engine#27408)

* 3649200 Roll Skia from 36c1804e8f5c to 947a2eb3c043 (7 revisions) (flutter/engine#27410)

* f04d941 [web] enable always_specify_types lint (flutter/engine#27406)

* bdaaa4f [fuchsia] fix race in DefaultSessionConnection (flutter/engine#27377)

* 84247f2 Update the Fuchsia runner to use fpromise instead of fit::promise (flutter/engine#27416)

* 39119d2 Roll Skia from 947a2eb3c043 to 9081276b2907 (6 revisions) (flutter/engine#27426)

* 9002bc7 Roll Skia from 9081276b2907 to 0547b914f691 (2 revisions) (flutter/engine#27430)

* 58e0688 Roll Fuchsia Linux SDK from hykYtaK7D... to s2vrjrfuS... (flutter/engine#27431)

* 1dca887 Roll Dart SDK from 746879714c96 to d53eb1066384 (2 revisions) (flutter/engine#27432)

* c9008f3 Use python to run firebase testlab, do not expect recipe to know location of APK (flutter/engine#27434)

* 8f7c529 Roll Skia from 0547b914f691 to 7d336c9557bd (3 revisions) (flutter/engine#27436)

* 534404e Roll Fuchsia Mac SDK from uhahzGJ6H... to TWPguQ-ow... (flutter/engine#27438)

* 9f13308 Roll Dart SDK from d53eb1066384 to fcbaa0a90b4b (1 revision) (flutter/engine#27439)

* e5e7b94 Roll Skia from 7d336c9557bd to 7dc26fadc90b (2 revisions) (flutter/engine#27440)

* bf3d265 Roll Skia from 7dc26fadc90b to dd561d021470 (1 revision) (flutter/engine#27442)

* 6e62915 [ci.yaml] Add xcode property to ci.yaml (flutter/engine#27415)

* 33c17a1 Roll Skia from dd561d021470 to 0e99fbe5da5c (1 revision) (flutter/engine#27443)

* 0bc2479 Adjust web_sdk rule deps (flutter/engine#27435)

* 7a8969a [web] enable prefer_final_locals lint (flutter/engine#27420)

* 590902b Roll Dart SDK from fcbaa0a90b4b to 207232b5abe0 (1 revision) (flutter/engine#27446)

* 283a42f fuchsia: Log vsync stats in inspect (flutter/engine#27433)

* 4af14b9 Deeplink URI fragment on Android and iOS (flutter/engine#26185)

* 47899db Remove unused generate_dart_ui target (flutter/engine#27445)

* fb265c2 Roll Skia from 0e99fbe5da5c to a2d22b2e085e (3 revisions) (flutter/engine#27447)

* 8bb5760 [ci.yaml] Mark Linux Android Scenarios as flaky (flutter/engine#27422)
moffatman pushed a commit to moffatman/engine that referenced this pull request Aug 5, 2021
naudzghebre pushed a commit to naudzghebre/engine that referenced this pull request Sep 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes platform-web Code specifically for the web engine
Projects
None yet
3 participants