dc0d3e82e9
The customization mechanism provides the following pieces of functionality: - Allows access to the package name, the analysis context, the list of public API libraries, and the set of top level public API elements. - Allows customizing the logic for deciding which top level elements to show details about. - Provides hooks to allow additional code to be executed after setup and after the initial scan. This customization mechanism is used when generating `pkg/analyzer/api.txt` to recognize that any element annotated with `@AnalyzerPublicApi` should have details shown, even if it is not exported in any analyzer public library. The class used to perform customization, `ApiSummaryCustomizer`, is marked `base` so that we can add additional hooks in the future without breaking clients. With this change, the API summary tool no longer has any hard-coded analyzer-specific functionality. Change-Id: I6a6a6964fcc626db8e8e387c306fc1ff03fbc0a9 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/482442 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Paul Berry <paulberry@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>