Introduces a new Dart analysis wrapper that works directly with the analyzer API (in favor of shelling out to a separate process).
Some consequences:
* we no longer need to fear parts (simplifying our dart file gathering)
* we can filter by error code (when needed), rather than by error strings
* no more IO scraping
* no need to generate `main()` or to run with `--package-warnings`
* we now specify an analyzer (and linter) version in the pubspec (we’ll want to make sure this doesn’t diverge too far from the analyzer shipped with the SDK but it does give us some room to play with experimental builds)
* no more (re)scanning of error source files (and so no more source cache)
* should generally be a bit simpler and easier to maintain
* runs a bit faster :)
This patch sizes the menu such that it is always on screen, but doesn't scroll
the menu to ensure that the currently selected item is always visible and on
top of the button. That will need to wait for a later patch.
Also, teach CustomPaint how to repaint animations more efficiently.
Fixes#3720
This test hangs occationally on the bots and the bots aren't smart enough to
recover, which means the whole project gets blocked.
Filed #3735 about the hang.
* First pass at a material-style copy/paste toolbar.
This mimics the toolbar you see when selecting text in an Android
material app. There's still more to do (like integration with the system
clipboard), but this seemed like a good stopping point.
BUG=https://github.com/flutter/flutter/issues/1567
As per the recent fix to the `always_specify_types` lint (https://github.com/dart-lang/linter/issues/199), literal maps and lists are now expected to be explicitly typed.
Running that lint on the repo identifies quite a few spots to update. This focuses on `flutter_driver` and `flutter_sprites` (somewhat arbitrarily) but the changes are fairly representative.
Note there are a number of places where I made a quick judgement on how specific to make the types. Feedback on those is welcome. (Especially as we move forward with more.)
Making progress towards document all public APIs in material.dart. We're still
missing a few odds and ends (as well as missing docs in tabs.dart,
tooltip.dart, and two_level_list.dart).
Fixes https://github.com/flutter/flutter/issues/3493
- rebuild stateless widgets that have dependencies when their ancestors change but they don't
Fixes https://github.com/flutter/flutter/issues/3120
- rebuild widgets that tried to inherit from a widget that didn't exist, when the widget is added
This adds a pointer and a bool to Element, which isn't great. It also adds a more or less complete tree walk when you add a new Inherited widget at the top of your tree, which isn't cheap.