OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 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 | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library analysis_server.analysis.navigation.navigation_core; | 5 library analysis_server.analysis.navigation.navigation_core; |
6 | 6 |
7 import 'package:analysis_server/src/protocol.dart' | 7 import 'package:analysis_server/src/protocol.dart' |
8 show ElementKind, Location, NavigationRegion, NavigationTarget; | 8 show ElementKind, Location, NavigationRegion, NavigationTarget; |
9 import 'package:analyzer/src/generated/engine.dart' show AnalysisContext; | 9 import 'package:analyzer/src/generated/engine.dart' show AnalysisContext; |
10 import 'package:analyzer/src/generated/source.dart' show Source; | 10 import 'package:analyzer/src/generated/source.dart' show Source; |
11 | 11 |
12 /** | 12 /** |
13 * An object used to produce navigation regions. | 13 * An object used to produce navigation regions. |
14 * | 14 * |
15 * Clients are expected to subtype this class when implementing plugins. | 15 * Clients are expected to subtype this class when implementing plugins. |
16 */ | 16 */ |
17 abstract class NavigationContributor { | 17 abstract class NavigationContributor { |
18 /** | 18 /** |
19 * Contribute navigation regions for a part of the given [source] into the | 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]. | 20 * given [collector]. The part is specified by the [offset] and [length]. |
21 * The [context] can be used to get analysis results. | 21 * The [context] can be used to get analysis results. |
22 */ | 22 */ |
23 void computeNavigation(NavigationHolder holder, AnalysisContext context, | 23 void computeNavigation(NavigationCollector collector, AnalysisContext context, |
24 Source source, int offset, int length); | 24 Source source, int offset, int length); |
25 } | 25 } |
26 | 26 |
27 /** | 27 /** |
28 * An object that [NavigationContributor]s use to record navigation regions | 28 * An object that [NavigationContributor]s use to record navigation regions |
29 * into. | 29 * into. |
30 * | 30 * |
31 * Clients are not expected to subtype this class. | 31 * Clients are not expected to subtype this class. |
32 */ | 32 */ |
33 abstract class NavigationHolder { | 33 abstract class NavigationCollector { |
34 /** | 34 /** |
35 * Record a new navigation region with the given [offset] and [length] that | 35 * Record a new navigation region with the given [offset] and [length] that |
36 * should navigation to the given [targetLocation]. | 36 * should navigation to the given [targetLocation]. |
37 */ | 37 */ |
38 void addRegion( | 38 void addRegion( |
39 int offset, int length, ElementKind targetKind, Location targetLocation); | 39 int offset, int length, ElementKind targetKind, Location targetLocation); |
40 } | 40 } |
OLD | NEW |