4aa6466ccb
R=brianwilkerson@google.com BUG= Review URL: https://codereview.chromium.org//1359113002 .
44 lines
1.8 KiB
Dart
44 lines
1.8 KiB
Dart
// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
/**
|
|
* Support for client code that extends the analysis server by adding new index
|
|
* contributors.
|
|
*
|
|
* Plugins can register index contributors. The registered contributors will be
|
|
* used to contribute relationships to the index when the analysis of a file has
|
|
* been completed.
|
|
*
|
|
* Typical relationships include things like "this variable is referenced here"
|
|
* or "this method is invoked here". The index is used to improve the
|
|
* performance of operations such as search or building a type hierarchy by
|
|
* pre-computing some of the information needed by those operations.
|
|
*
|
|
* If a plugin wants to contribute information to the index, it should implement
|
|
* the class [IndexContributor] and then register the contributor by including
|
|
* code like the following in the plugin's registerExtensions method:
|
|
*
|
|
* @override
|
|
* void registerExtensions(RegisterExtension registerExtension) {
|
|
* ...
|
|
* registerExtension(
|
|
* INDEX_CONTRIBUTOR_EXTENSION_POINT_ID,
|
|
* new MyIndexContributor());
|
|
* ...
|
|
* }
|
|
*/
|
|
library analysis_server.plugin.index;
|
|
|
|
import 'package:analysis_server/analysis/index_core.dart';
|
|
import 'package:analysis_server/src/plugin/server_plugin.dart';
|
|
import 'package:plugin/plugin.dart';
|
|
|
|
/**
|
|
* The identifier of the extension point that allows plugins to register index
|
|
* contributors. The object used as an extension must be an [IndexContributor].
|
|
*/
|
|
final String INDEX_CONTRIBUTOR_EXTENSION_POINT_ID = Plugin.join(
|
|
ServerPlugin.UNIQUE_IDENTIFIER,
|
|
ServerPlugin.INDEX_CONTRIBUTOR_EXTENSION_POINT);
|