flutter/examples/layers
Greg Spencer 4ce7fdd92b
Remove 'must be non-null' and 'must not be null' comments from non-framework libraries (#134994)
## Description

This removes all of the comments that are of the form "so-and-so must not be null" or "so-and-so must be non-null" from the cases where those values are defines as non-nullable values.

This PR removes them from the library in the repo that don't have anything to do with the framework.

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/134992
- https://github.com/flutter/flutter/pull/134993

## Tests
 - Documentation only change.
2023-09-19 17:26:07 +00:00
..
android Bump gradle heap size limit in *everywhere* (#134665) 2023-09-13 10:36:24 -07:00
ios iOS info.plist template: make UIViewControllerBasedStatusBar to be true (#128970) 2023-06-20 18:11:18 +00:00
lib License update (#45373) 2019-11-27 15:04:02 -08:00
linux Add Windows and Linux support to the 'layers' example (#126105) 2023-05-06 00:45:19 +00:00
macos Refactor tests (#128371) 2023-06-07 03:02:55 +00:00
raw Fix typo in canvas example (#129879) 2023-07-05 23:20:54 +00:00
rendering Remove 'must be non-null' and 'must not be null' comments from non-framework libraries (#134994) 2023-09-19 17:26:07 +00:00
services Remove unnecessary null checks in examples/ (#118848) 2023-01-20 04:06:04 +00:00
test Remove uses of deprecated test_api imports (#124732) 2023-04-20 20:55:28 +00:00
widgets Stand-alone widget tree with multiple render trees to enable multi-view rendering (#125003) 2023-07-17 16:14:08 +00:00
windows [Windows] Add target architecture to build path (#131843) 2023-08-31 09:09:02 -07:00
.metadata Add Windows and Linux support to the 'layers' example (#126105) 2023-05-06 00:45:19 +00:00
analysis_options.yaml Add Windows and Linux support to the 'layers' example (#126105) 2023-05-06 00:45:19 +00:00
pubspec.yaml Enable private field promotion for examples (#134478) 2023-09-12 18:42:01 +00:00
README.md ✒ Spell Check All .md Files Related to Flutter 💙 (#61564) 2020-07-22 18:23:47 -07:00

Examples of Flutter's layered architecture

This directory contains several self-contained examples that illustrate Flutter's layered architecture.

  • raw/ These examples show how to program against the lowest layer of the system. They manually receive input packets and construct composited scenes.

  • rendering/ These examples use Flutter's render tree to structure your app using a retained tree of visual objects. These objects coordinate to determine their size and position on screen and to handle events.

  • widgets/ These examples use Flutter's widgets to build more elaborate apps using a reactive framework.

  • services/ These examples use services available in Flutter to interact with the host platform.

To run each example, specify the demo file on the flutter run command line, for example:

flutter run raw/spinning_square.dart
flutter run rendering/spinning_square.dart
flutter run widgets/spinning_square.dart