The AST refactor for "UI as code" left behind a few things whose names ended in "2". This CL deprecates those things and creates replacements that don't end in "2", so that we keep the API clean. In a future breaking change release of the analyzer we'll remove the deprecated things. The following methods and classes are added: - ForStatement and ForStatementImpl - ListLiteral.elements - SetOrMapLiteral.elements - AstVisitor.visitForStatement - AstFactory.forStatement - NodeLintRegistry.addForStatement The following methods and classes are deprecated: - ForStatement2 and ForStatement2Impl - ListLiteral.elements2 - SetOrMapLiteral.elements2 - AstVisitor.visitForStatement2 - AstFactory.forStatement2 - NodeLintRegistry.addForStatement2 In a similar way to how we did the previous stage of AST migration, the existing visitors have been modified so that the default implementation of visitForStatement2 redirects to visitForStatement; this allows clients to change their overrides of visitForStatement2 to override visitForStatement instead. Once all clients have been migrated we will be able to delete the visitForStatement2 method. Change-Id: Ife5949071fe4cb50791cd4f2f4b99a1bfaad54c1 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97360 Commit-Queue: Paul Berry <paulberry@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
analyzer_plugin
A framework for building plugins for the analysis server.
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.