1. 20 Sep, 2023 1 commit
    • Greg Spencer's avatar
      Remove 'must be non-null' and 'must not be null' comments in widgets library (#134992) · 6e5134b0
      Greg Spencer authored
      ## Description
      
      This removes all of the comments that are of the form "so-and-so (must not be null|can ?not be null|must be non-null)" from the cases where those values are defines as non-nullable values.
      
      This PR removes them from the widgets library.
      
      This was done by hand, since it really didn't lend itself to scripting, so it needs to be more than just spot-checked, I think. I was careful to leave any comment that referred to parameters that were nullable, but I may have missed some.
      
      In addition to being no longer relevant after null safety has been made the default, these comments were largely fragile, in that it was easy for them to get out of date, and not be accurate anymore anyhow.
      
      This did create a number of constructor comments which basically say "Creates a [Foo].", but I don't really know how to avoid that in a large scale change, since there's not much you can really say in a lot of cases.  I think we might consider some leniency for constructors to the "Comment must be meaningful" style guidance (which we de facto have already, since there are a bunch of these).
      
      ## Related PRs
      - https://github.com/flutter/flutter/pull/134984
      - https://github.com/flutter/flutter/pull/134991
      - https://github.com/flutter/flutter/pull/134993
      - https://github.com/flutter/flutter/pull/134994
      
      ## Tests
       - Documentation only change.
      6e5134b0
  2. 12 Apr, 2023 1 commit
  3. 10 Apr, 2023 1 commit
  4. 22 Mar, 2023 1 commit
  5. 10 Mar, 2023 1 commit
  6. 08 Mar, 2023 1 commit
  7. 16 Feb, 2023 1 commit
    • Greg Price's avatar
      Document ScrollPhysics invariant requiring ballistic motion (#120400) · 09ad9f3c
      Greg Price authored
      Fixes #120341.
      
      The scroll protocol makes an important assumption about the behavior
      of ScrollPhysics implementations, and this requirement hasn't been
      clearly documented.  Add documentation for it.
      
      Parts of the text are modelled on similar language at
      StatelessWidget.build and StatefulWidget.build.
      
      It does feel a bit uncomfortable to juxtapose this description of a
      required invariant with three issues where the framework doesn't
      satisfy it.  Fortunately two of them apply by default only in
      uncommon cases: #120340 macOS touchpad flinging, and #109675 never.
      
      The third is #120338, affecting default scrolling on Android and
      other non-Apple platforms.  I'll send a PR to fix that shortly,
      and another for #109675.
      
      As discussed at #120338, it's quite possible we'll remove this
      invariant in the future.  But that's been attempted before, and is
      complicated: the invariant is a useful one.  Removing it would almost
      certainly involve a breaking change for ScrollPhysics subclasses.  So
      I think even if we had an immediate plan to remove it, we'd need some
      kind of documentation for it, if only to explain the breaking change.
      09ad9f3c
  8. 25 Jan, 2023 1 commit
  9. 24 Jan, 2023 1 commit
  10. 03 Jan, 2023 1 commit
  11. 27 Dec, 2022 1 commit
  12. 22 Dec, 2022 3 commits
  13. 21 Dec, 2022 1 commit
  14. 11 Dec, 2022 1 commit
  15. 22 Nov, 2022 1 commit
  16. 19 Sep, 2022 1 commit
  17. 12 Sep, 2022 1 commit
  18. 10 Aug, 2022 1 commit
  19. 18 Jul, 2022 1 commit
  20. 26 May, 2022 1 commit
  21. 18 May, 2022 1 commit
  22. 17 May, 2022 1 commit
  23. 14 Apr, 2022 1 commit
  24. 03 Feb, 2022 1 commit
  25. 24 Jan, 2022 1 commit
  26. 22 Jan, 2022 1 commit
  27. 11 Nov, 2021 1 commit
  28. 15 Jul, 2021 1 commit
  29. 14 Jul, 2021 3 commits
  30. 13 Jul, 2021 2 commits
  31. 02 Jun, 2021 1 commit
  32. 31 Mar, 2021 1 commit
  33. 17 Mar, 2021 1 commit
  34. 12 Mar, 2021 1 commit
  35. 16 Dec, 2020 1 commit