Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Side by Side Diff: pkg/analysis_server/lib/analysis/navigation/navigation_core.dart

Issue 1303033010: Navigation extension point. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: tweaks Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | pkg/analysis_server/lib/plugin/navigation.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 library analysis_server.analysis.navigation.navigation_core;
6
7 import 'package:analysis_server/src/protocol.dart'
8 show ElementKind, Location, NavigationRegion, NavigationTarget;
9 import 'package:analyzer/src/generated/engine.dart' show AnalysisContext;
10 import 'package:analyzer/src/generated/source.dart' show Source;
11
12 /**
13 * An object used to produce navigation regions.
14 *
15 * Clients are expected to subtype this class when implementing plugins.
16 */
17 abstract class NavigationContributor {
18 /**
19 * Contribute navigation regions for a part of the given [source] into the
20 * given [holder]. The part is specified by the [offset] and [length].
21 * The [context] can be used to get analysis results.
22 */
23 void computeNavigation(NavigationHolder holder, AnalysisContext context,
24 Source source, int offset, int length);
25 }
26
27 /**
28 * An object that [NavigationContributor]s use to record navigation regions
29 * into.
30 *
31 * Clients are not expected to subtype this class.
32 */
33 abstract class NavigationHolder {
34 /**
35 * Record a new navigation region with the given [offset] and [length] that
36 * should navigation to the given [targetLocation].
37 */
38 void addRegion(
39 int offset, int length, ElementKind targetKind, Location targetLocation);
40 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analysis_server/lib/plugin/navigation.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698