• Jonah Williams's avatar
    [flutter_tools] Add plumbing for widget cache (#61766) · 07caa0fb
    Jonah Williams authored
    To support #61407 , the tool needs to check if a single widget reload is feasible, and then conditionally perform a fast reassemble.
    
    To accomplish this, the FlutterDevice class will have a WidgetCache injected. This will eventually contain the logic for parsing the invalidated dart script. Concurrent with the devFS update, the widget cache will be updated/checked if a single widget reload is feasible. If so, an expression evaluation with the target type is performed and the success is communicated through the devFS result. An integration test which demonstrates that this works is already present in https://github.com/flutter/flutter/blob/master/packages/flutter_tools/test/integration.shard/hot_reload_test.dart#L86
    
    Finally, when actually performing the reassemble the tool simply checks if this flag has been set and calls the alternative reassemble method.
    
    Cleanups:
    
    Remove modules, as this is unused now.
    07caa0fb
Name
Last commit
Last update
..
android Loading commit data...
base Loading commit data...
build_runner Loading commit data...
build_system Loading commit data...
commands Loading commit data...
dart Loading commit data...
fuchsia Loading commit data...
intellij Loading commit data...
ios Loading commit data...
linux Loading commit data...
macos Loading commit data...
reporting Loading commit data...
runner Loading commit data...
test Loading commit data...
tester Loading commit data...
vscode Loading commit data...
web Loading commit data...
windows Loading commit data...
aot.dart Loading commit data...
application_package.dart Loading commit data...
artifacts.dart Loading commit data...
asset.dart Loading commit data...
build_info.dart Loading commit data...
bundle.dart Loading commit data...
cache.dart Loading commit data...
cmake.dart Loading commit data...
compile.dart Loading commit data...
context_runner.dart Loading commit data...
convert.dart Loading commit data...
desktop_device.dart Loading commit data...
devfs.dart Loading commit data...
device.dart Loading commit data...
doctor.dart Loading commit data...
emulator.dart Loading commit data...
features.dart Loading commit data...
flutter_manifest.dart Loading commit data...
flutter_project_metadata.dart Loading commit data...
globals.dart Loading commit data...
mdns_discovery.dart Loading commit data...
persistent_tool_state.dart Loading commit data...
platform_plugins.dart Loading commit data...
plugins.dart Loading commit data...
project.dart Loading commit data...
protocol_discovery.dart Loading commit data...
proxy_validator.dart Loading commit data...
resident_runner.dart Loading commit data...
run_cold.dart Loading commit data...
run_hot.dart Loading commit data...
template.dart Loading commit data...
tracing.dart Loading commit data...
version.dart Loading commit data...
vmservice.dart Loading commit data...
widget_cache.dart Loading commit data...