Files
sdk/pkg/_fe_analyzer_shared
Johnni Winther 24dd06901d [parser] Push listener implementation to subtypes
This pushes the implementation of various listener methods to subtypes.

Originally endMethod, endFactoryMethod and endFields were called for all members inside class, mixin, enum, extension and extension type. In particular endMethod was used for ending constructors. At some point the listener was changed so that all member kinds (methods, fields, constructors, factories) for each enclosing declaration (class, mixin, enum, extension and extension type) had their own endX listener method. The initial implementation didn't push this change into subtypes but instead redirect the calls to the endClassX methods which held the original implementation. This left the handling of these events in an inconsistent state between analyzer and CFE, and made it harder for the implementation to customize and take advantage of the new listener methods.

Change-Id: I959e920725ba616cb2e398904411dbfe84964f89
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/460360
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2025-11-10 01:16:42 -08:00
..
2025-02-19 09:33:31 -08:00

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.