Chromium Code Reviews| Index: pkg/analysis_server/lib/analysis/occurrences_core.dart |
| diff --git a/pkg/analysis_server/lib/analysis/occurrences_core.dart b/pkg/analysis_server/lib/analysis/occurrences_core.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..2e24a9b3c798093dc63cfd4e520c89f8ee211572 |
| --- /dev/null |
| +++ b/pkg/analysis_server/lib/analysis/occurrences_core.dart |
| @@ -0,0 +1,35 @@ |
| +// 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. |
| + |
| +library analysis_server.analysis.occurrences_core; |
|
Brian Wilkerson
2015/09/11 20:26:24
I would prefer to have this in a sub-directory nam
|
| + |
| +import 'package:analysis_server/src/protocol.dart' show Element, Occurrences; |
| +import 'package:analyzer/src/generated/engine.dart' show AnalysisContext; |
| +import 'package:analyzer/src/generated/source.dart' show Source; |
| + |
| +/** |
| + * An object used to produce occurrences. |
| + * |
| + * Clients are expected to subtype this class when implementing plugins. |
| + */ |
| +abstract class OccurrencesContributor { |
| + /** |
| + * Contribute occurrences into the given [collector]. |
| + * The [context] can be used to get analysis results. |
| + */ |
| + void computeOccurrences( |
| + OccurrencesCollector collector, AnalysisContext context, Source source); |
| +} |
| + |
| +/** |
| + * An object that [OccurrencesContributor]s use to record occurrences into. |
| + * |
| + * Clients are not expected to subtype this class. |
| + */ |
| +abstract class OccurrencesCollector { |
| + /** |
| + * Record a new element occurrences. |
| + */ |
| + void addOccurrences(Occurrences occurrences); |
| +} |