Files
sdk/pkg/_fe_analyzer_shared
Konstantin Shcheglov 8d1a8ada6b Macro. Code optimizer, 0-th version.
I don't try to be even close to be correct here, but this is the base
on top of which I'd like to build the full implementation.

The idea is that we scan, and implement parser listener that builds
prefixed name in scopes. We fill scope with declarations as we find them. Using these scopes we can decide which import prefixes can be removed.

As usually for shared code, clients will implement abstract methods in the client specific way.

We might get a hierarchy of `Edit` objects, such as `RemoveImportPrefix` and `RemoveImportDirective` because at least in the analyzer we might need to apply some changes to the element models (metadata, constants).

Change-Id: I153259d87a09ab070f37192ae64ccd8da36e2d41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350260
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2024-02-05 18:50:10 +00:00
..
2024-02-05 18:50:10 +00:00
2022-02-14 14:06:34 +00: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.