Turn support for sync-async on in Flutter. (#16543) * Turn support for sync-async on in Flutter. With this feature execution of async functions starts immediately instead of it being delayed by one microtask tick. * Address review comments. * Adjust some stack trace expectations which are slightly different with --sync-async turned on.
diff --git a/dev/automated_tests/flutter_test/exception_handling_expectation.txt b/dev/automated_tests/flutter_test/exception_handling_expectation.txt index 4c0fb6e..9e1affd 100644 --- a/dev/automated_tests/flutter_test/exception_handling_expectation.txt +++ b/dev/automated_tests/flutter_test/exception_handling_expectation.txt
@@ -43,7 +43,7 @@ When the exception was thrown, this was the stack: #[0-9]+ +main.<anonymous closure> \(.+[/\\]dev[/\\]automated_tests[/\\]flutter_test[/\\]exception_handling_test\.dart:16:9\) -#[0-9]+ +main.<anonymous closure> \(.+[/\\]dev[/\\]automated_tests[/\\]flutter_test[/\\]exception_handling_test\.dart:15:77\) +<<skip until matching line>> #[0-9]+ +.+ \(package:flutter_test[/\\]src[/\\]widget_tester\.dart:[0-9]+:[0-9]+\) <<skip until matching line>> ^\(elided [0-9]+ .+\)$
diff --git a/dev/automated_tests/flutter_test/test_async_utils_guarded_expectation.txt b/dev/automated_tests/flutter_test/test_async_utils_guarded_expectation.txt index 6cb6a93..6c8afe8 100644 --- a/dev/automated_tests/flutter_test/test_async_utils_guarded_expectation.txt +++ b/dev/automated_tests/flutter_test/test_async_utils_guarded_expectation.txt
@@ -18,6 +18,10 @@ The test description was: TestAsyncUtils - custom guarded sections ════════════════════════════════════════════════════════════════════════════════════════════════════ +══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════ +The following message was thrown: +Multiple exceptions \(2\) were detected during the running of the current test, and at least one was unexpected. +════════════════════════════════════════════════════════════════════════════════════════════════════ .*(this line has more of the test framework's output)? Test failed\. See exception logs above\. The test description was: TestAsyncUtils - custom guarded sections
diff --git a/packages/flutter_tools/lib/src/compile.dart b/packages/flutter_tools/lib/src/compile.dart index 4e3d3ba..658cf78 100644 --- a/packages/flutter_tools/lib/src/compile.dart +++ b/packages/flutter_tools/lib/src/compile.dart
@@ -90,6 +90,7 @@ '--sdk-root', sdkRoot, '--strong', + '--sync-async', '--target=flutter', ]; if (trackWidgetCreation) @@ -215,6 +216,7 @@ _sdkRoot, '--incremental', '--strong', + '--sync-async', '--target=flutter', ]; if (outputPath != null) {