588fadcd49
This CL adds support for the following scenarios to the analyzer: - Attempt to use a non-promoted nullable expression as the iterable of a for-in loop - Attempt to use a non-promoted nullable expression as the argument of a `yield *` statement - Attempt to implicitly invoke `.call` on a non-promoted nullable expression - Attempt to use a non-promoted nullable expression as the argument of a spread operator (`...`) that is not null-aware Some of these cases are already handled by the CFE. Others will be addressed in a follow-up CL. Change-Id: I3cf31b1496e1bd92fdd3f8192f04c98dff15077c Bug: https://github.com/dart-lang/sdk/issues/44898 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186320 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Paul Berry <paulberry@google.com>
FE/analyzer shared code
This package contains logic that is shared between the front_end and analyzer packages. It is intended solely to facilitate development of the Dart SDK, and is not intended for use by end users. In particular, this package has no public API, so no guarantee is made of compatibility between one version of the package and the next.
End users should consider using the analyzer package to analyze Dart source code.