Allow enums, extensions, and mixins to use `;` as their body and represent that form explicitly in the AST. The parser now produces `EmptyEnumBody` or `EmptyClassBody` for the empty form. Also replace `LibraryIdentifier` with token-based `DottedName` and store the full token sequence for dotted names. This preserves periods and source offsets directly in the AST, which keeps printing, selection, and directive name handling working with the new shape. See https://github.com/dart-lang/sdk/issues/62819 See https://github.com/dart-lang/language/issues/4645 Google3 presubmit looks green: https://fusion2.corp.google.com/presubmit/884063020/OCL:884063020:BASE:884079610:1773618867493:b2110d76 Change-Id: I2d023cd03b6423da634c3e14742e02a61dc3b403 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/486080 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>
A framework for building plugins for the analysis server.
Warning
This package is for legacy support and is not recommended for new plugin development.
For modern plugin implementations, use the
analysis_server_pluginpackage instead.See its documentation for the latest architecture and examples.
Usage
Note: The plugin support is not currently available for general use.
Plugins are written in Dart and are run in the same VM as the analysis server. The analysis server runs each plugin in a separate isolate and communicates with the plugin using a plugin API. This API is similar to the API used by the analysis server to communicate with clients.
Plugins are automatically discovered and run by the analysis server.
This package contains support code to make it easier to write a plugin. There is a tutorial describing how to use the support in this package.
Support
Post issues and feature requests on the issue tracker.
Questions and discussions are welcome at the Dart Analyzer Discussion Group.
License
See the LICENSE file.