Skip to content

Conversation

@nate-thegrate
Copy link
Contributor

Originally, my aim was just to refactor (as per usual), but while messing around with the TableBorder.symmetric constructor, I realized that borderRadius was missing!

This pull request makes a few class constructors more efficient, and it fixes #144277 by adding the missing parameter.


Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@github-actions github-actions bot added a: tests "flutter test", flutter_test, or one of our tests a: text input Entering text in a text field or keyboard related problems tool Affects the "flutter" command-line tool. See also t: labels. framework flutter/packages/flutter repository. See also f: labels. f: material design flutter/packages/flutter/material repository. f: routes Navigator, Router, and related APIs. f: gestures flutter/packages/flutter/gestures repository. labels Feb 28, 2024
Comment on lines -425 to -435
BlinkTraceEvent._({
required this.args,
required this.cat,
required this.name,
required this.ph,
this.pid,
this.tid,
this.ts,
this.tts,
this.tdur,
});
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This constructor was only used in BlinkTraceEvent.fromJson, so it's no longer needed.

Comment on lines -324 to -328
/// Returns a [BorderSide] that's to be used when a Material component is
/// in the specified state. Return null to defer to the default value of the
/// widget or theme.
@override
BorderSide? resolve(Set<MaterialState> states);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Some methods needed to be moved down due to the "constructors should come before other stuff" rule.

// prevents instantiation and extension.
AutofillHints._();

abstract final class AutofillHints {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Most of these private constructors were removed once the final class modifier was added; I finished the rest in this PR.

@nate-thegrate nate-thegrate marked this pull request as ready for review February 28, 2024 01:21
Copy link
Member

@goderbauer goderbauer left a comment

Choose a reason for hiding this comment

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

LGTM

'This constructor was deprecated in preparation for the upcoming multi-window support. '
'This feature was deprecated after v3.7.0-32.0.pre.'
)
factory MediaQueryData.fromWindow(ui.FlutterView window) => MediaQueryData.fromView(window);
Copy link
Member

Choose a reason for hiding this comment

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

Maybe there should be a lint for this given how often we forgot that "assigning" a factory constructor is a thing. You could file a request for that on the linter repo and see if others would find that useful as well: https://github.com/dart-lang/linter

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 went down a "class constructor rabbit hole" today—apparently the act of assigning a factory constructor is barely documented at all!

I proposed a linter rule over at https://github.com/dart-lang/linter/issues/4909, and I also made #144501, so hopefully information on factory constructors will be more easily accessible moving forward.

Copy link
Contributor

@christopherfujino christopherfujino left a comment

Choose a reason for hiding this comment

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

some questions

classPrefix = '',
pluginClass = yaml[kPluginClass] as String?,
dartPluginClass = yaml[kDartPluginClass] as String?,
ffiPlugin = yaml[kFfiPlugin] as bool? ?? false,
Copy link
Contributor

Choose a reason for hiding this comment

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

why did you add a fallback to false here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Originally, IOSPlugin.fromYaml was a factory constructor that created an object using the default constructor. I added the fallback here (and in other places further down) to match the default constructor's fallback:

  }) : ffiPlugin = ffiPlugin ?? false,

Copy link
Contributor

Choose a reason for hiding this comment

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

ok, makes sense.

Copy link
Contributor

@christopherfujino christopherfujino left a comment

Choose a reason for hiding this comment

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

LGTM

classPrefix = '',
pluginClass = yaml[kPluginClass] as String?,
dartPluginClass = yaml[kDartPluginClass] as String?,
ffiPlugin = yaml[kFfiPlugin] as bool? ?? false,
Copy link
Contributor

Choose a reason for hiding this comment

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

ok, makes sense.

@christopherfujino christopherfujino added the autosubmit Merge PR when tree becomes green via auto submit App label Mar 4, 2024
@auto-submit auto-submit bot merged commit 1a0dc8f into flutter:master Mar 4, 2024
@nate-thegrate nate-thegrate deleted the class-constructors branch March 4, 2024 20:20
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 5, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 5, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 5, 2024
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Mar 5, 2024
flutter/flutter@65cd84b...3b5a2ec

2024-03-05 [email protected] Roll Flutter Engine from 17a4b66e0729 to 8916bb32b7b8 (1 revision) (flutter/flutter#144615)
2024-03-05 [email protected] Roll Flutter Engine from d514a302cdff to 17a4b66e0729 (8 revisions) (flutter/flutter#144607)
2024-03-05 [email protected] Do not shorten native assets framework names (flutter/flutter#144568)
2024-03-05 [email protected] Restorable CupertinoTextFormFieldRow (flutter/flutter#144541)
2024-03-05 [email protected] Updated the TextButton image button example artwork (flutter/flutter#144583)
2024-03-05 [email protected] Roll Flutter Engine from 728aa4ef05d4 to d514a302cdff (2 revisions) (flutter/flutter#144581)
2024-03-05 [email protected] Roll Flutter Engine from 62cf93be60b2 to 728aa4ef05d4 (3 revisions) (flutter/flutter#144578)
2024-03-05 [email protected] Disable super flakey impeller test. (flutter/flutter#144573)
2024-03-04 [email protected] Roll Flutter Engine from 40018811ec0e to 62cf93be60b2 (1 revision) (flutter/flutter#144572)
2024-03-04 [email protected] Roll Flutter Engine from 0d8588b1de7a to 40018811ec0e (6 revisions) (flutter/flutter#144570)
2024-03-04 [email protected] Print warning and exit when iOS device is unpaired (flutter/flutter#144551)
2024-03-04 [email protected] Roll Flutter Engine from a31209171949 to 0d8588b1de7a (1 revision) (flutter/flutter#144558)
2024-03-04 [email protected] Remove unnecessary (and the only) `RenderObject.markParentNeedsLayout` override (flutter/flutter#144466)
2024-03-04 [email protected] Fix text color for default CupertinoContextMenuAction (flutter/flutter#144542)
2024-03-04 [email protected] Add missing parameter to `TableBorder.symmetric`, and improve class constructors (flutter/flutter#144279)
2024-03-04 [email protected] Fix build mode not propagated in android native asset build (flutter/flutter#144550)
2024-03-04 [email protected] Roll Packages from a9c68b8 to 0625827 (3 revisions) (flutter/flutter#144556)
2024-03-04 [email protected] Roll Flutter Engine from afd2d9f9421d to a31209171949 (1 revision) (flutter/flutter#144554)
2024-03-04 [email protected] Doc fix for `DropdownButtonFormField.value` (flutter/flutter#144427)
2024-03-04 [email protected] Fix Small Typo in Skia_Client Doc Comment (flutter/flutter#144490)
2024-03-04 [email protected] Roll Flutter Engine from 2338a557e018 to afd2d9f9421d (1 revision) (flutter/flutter#144549)
2024-03-04 [email protected] [Windows] Update keyboard modifiers link (flutter/flutter#144426)
2024-03-04 [email protected] Roll Flutter Engine from 9cbca80e2196 to 2338a557e018 (2 revisions) (flutter/flutter#144545)
2024-03-04 [email protected] Roll Flutter Engine from c52b3033eca6 to 9cbca80e2196 (1 revision) (flutter/flutter#144523)
2024-03-04 [email protected] Roll Flutter Engine from 024ea680ceed to c52b3033eca6 (1 revision) (flutter/flutter#144522)
2024-03-03 [email protected] Roll Flutter Engine from 2706c732b22a to 024ea680ceed (1 revision) (flutter/flutter#144519)

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] 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
LouiseHsu pushed a commit to LouiseHsu/packages that referenced this pull request Mar 7, 2024
flutter/flutter@65cd84b...3b5a2ec

2024-03-05 [email protected] Roll Flutter Engine from 17a4b66e0729 to 8916bb32b7b8 (1 revision) (flutter/flutter#144615)
2024-03-05 [email protected] Roll Flutter Engine from d514a302cdff to 17a4b66e0729 (8 revisions) (flutter/flutter#144607)
2024-03-05 [email protected] Do not shorten native assets framework names (flutter/flutter#144568)
2024-03-05 [email protected] Restorable CupertinoTextFormFieldRow (flutter/flutter#144541)
2024-03-05 [email protected] Updated the TextButton image button example artwork (flutter/flutter#144583)
2024-03-05 [email protected] Roll Flutter Engine from 728aa4ef05d4 to d514a302cdff (2 revisions) (flutter/flutter#144581)
2024-03-05 [email protected] Roll Flutter Engine from 62cf93be60b2 to 728aa4ef05d4 (3 revisions) (flutter/flutter#144578)
2024-03-05 [email protected] Disable super flakey impeller test. (flutter/flutter#144573)
2024-03-04 [email protected] Roll Flutter Engine from 40018811ec0e to 62cf93be60b2 (1 revision) (flutter/flutter#144572)
2024-03-04 [email protected] Roll Flutter Engine from 0d8588b1de7a to 40018811ec0e (6 revisions) (flutter/flutter#144570)
2024-03-04 [email protected] Print warning and exit when iOS device is unpaired (flutter/flutter#144551)
2024-03-04 [email protected] Roll Flutter Engine from a31209171949 to 0d8588b1de7a (1 revision) (flutter/flutter#144558)
2024-03-04 [email protected] Remove unnecessary (and the only) `RenderObject.markParentNeedsLayout` override (flutter/flutter#144466)
2024-03-04 [email protected] Fix text color for default CupertinoContextMenuAction (flutter/flutter#144542)
2024-03-04 [email protected] Add missing parameter to `TableBorder.symmetric`, and improve class constructors (flutter/flutter#144279)
2024-03-04 [email protected] Fix build mode not propagated in android native asset build (flutter/flutter#144550)
2024-03-04 [email protected] Roll Packages from a9c68b8 to 0625827 (3 revisions) (flutter/flutter#144556)
2024-03-04 [email protected] Roll Flutter Engine from afd2d9f9421d to a31209171949 (1 revision) (flutter/flutter#144554)
2024-03-04 [email protected] Doc fix for `DropdownButtonFormField.value` (flutter/flutter#144427)
2024-03-04 [email protected] Fix Small Typo in Skia_Client Doc Comment (flutter/flutter#144490)
2024-03-04 [email protected] Roll Flutter Engine from 2338a557e018 to afd2d9f9421d (1 revision) (flutter/flutter#144549)
2024-03-04 [email protected] [Windows] Update keyboard modifiers link (flutter/flutter#144426)
2024-03-04 [email protected] Roll Flutter Engine from 9cbca80e2196 to 2338a557e018 (2 revisions) (flutter/flutter#144545)
2024-03-04 [email protected] Roll Flutter Engine from c52b3033eca6 to 9cbca80e2196 (1 revision) (flutter/flutter#144523)
2024-03-04 [email protected] Roll Flutter Engine from 024ea680ceed to c52b3033eca6 (1 revision) (flutter/flutter#144522)
2024-03-03 [email protected] Roll Flutter Engine from 2706c732b22a to 024ea680ceed (1 revision) (flutter/flutter#144519)

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] 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
auto-submit bot pushed a commit that referenced this pull request Apr 16, 2024
[A previous PR](#144279) implemented `const` constructors in the `Remote` class, so I wanted to follow up and use those constructors in the appropriate places.
gilnobrega pushed a commit to gilnobrega/flutter that referenced this pull request Apr 22, 2024
[A previous PR](flutter#144279) implemented `const` constructors in the `Remote` class, so I wanted to follow up and use those constructors in the appropriate places.
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 14, 2024
@nate-thegrate nate-thegrate added the refactor Improving readability/efficiency without behavioral changes label Jul 12, 2024
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 a: text input Entering text in a text field or keyboard related problems autosubmit Merge PR when tree becomes green via auto submit App f: gestures flutter/packages/flutter/gestures repository. f: material design flutter/packages/flutter/material repository. f: routes Navigator, Router, and related APIs. framework flutter/packages/flutter repository. See also f: labels. refactor Improving readability/efficiency without behavioral changes tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TableBorder.symmetric is missing the borderRadius parameter

3 participants