a7d5560ede
This updates the exhaustive checking algorithm to produce a list of witnesses instead of a single witness in case of a non-exhaustive error. This is used to create a witness for each missing subtype when checking "sealed static types", for instance enums and sealed classes. The current error reporting isn't changed and only reports the first witness. Use of the multiple witnesses in error messages and/or lints must be done in the CFE and analyzer. Change-Id: I950816f6a9eca16773f182d5d820929bdcb39684 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/357160 Reviewed-by: Chloe Stefantsova <cstefantsova@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Johnni Winther <johnniwinther@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.