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

Unified Diff: pkg/analyzer/lib/src/index/local_index.dart

Issue 365193004: Move Index and IndexStore implementations into Engine. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: pkg/analyzer/lib/src/index/local_index.dart
diff --git a/pkg/analysis_server/lib/src/index/index.dart b/pkg/analyzer/lib/src/index/local_index.dart
similarity index 67%
rename from pkg/analysis_server/lib/src/index/index.dart
rename to pkg/analyzer/lib/src/index/local_index.dart
index 023cfc9c2f4ea9d913be0110770e31a77c9b22d9..08e035d59fc1908c56daa4930283acff878690d4 100644
--- a/pkg/analysis_server/lib/src/index/index.dart
+++ b/pkg/analyzer/lib/src/index/local_index.dart
@@ -2,20 +2,22 @@
// 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 index;
+library engine.src.index.local_index;
import 'dart:async';
import 'dart:io';
-import 'package:analysis_server/src/index/store/codec.dart';
-import 'package:analysis_server/src/index/store/separate_file_manager.dart';
-import 'package:analysis_server/src/index/store/split_store.dart';
+import 'package:analyzer/index/index.dart';
import 'package:analyzer/src/generated/ast.dart';
import 'package:analyzer/src/generated/element.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/html.dart';
-import 'package:analyzer/src/generated/index.dart';
import 'package:analyzer/src/generated/source.dart';
+import 'package:analyzer/src/index/index_contributor.dart' as contributors;
+import 'package:analyzer/src/index/store/codec.dart';
+import 'package:analyzer/src/index/store/memory_node_manager.dart';
+import 'package:analyzer/src/index/store/separate_file_manager.dart';
+import 'package:analyzer/src/index/store/split_store.dart';
Index createLocalFileSplitIndex(Directory directory) {
@@ -28,6 +30,11 @@ Index createLocalFileSplitIndex(Directory directory) {
}
+Index createLocalMemorySplitIndex() {
+ return new LocalIndex(new MemoryNodeManager());
+}
+
+
/**
* A local implementation of [Index].
*/
@@ -46,13 +53,6 @@ class LocalIndex extends Index {
_store.clear();
}
- @override
- void getRelationships(Element element, Relationship relationship,
- RelationshipCallback callback) {
- // TODO(scheglov) update Index API to use asynchronous interface
- callback.hasRelationships(element, relationship, Location.EMPTY_ARRAY);
- }
-
/**
* Returns a `Future<List<Location>>` that completes with the list of
* [Location]s of the given [relationship] with the given [element].
@@ -61,31 +61,20 @@ class LocalIndex extends Index {
* is the `is-invoked-by` relationship, then the locations will be all of the
* places where the function is invoked.
*/
- Future<List<Location>> getRelationshipsAsync(Element element,
+ @override
+ Future<List<Location>> getRelationships(Element element,
Relationship relationship) {
- return _store.getRelationshipsAsync(element, relationship);
+ return _store.getRelationships(element, relationship);
}
@override
void indexHtmlUnit(AnalysisContext context, HtmlUnit unit) {
- if (unit == null) {
- return;
- }
- if (unit.element == null) {
- return;
- }
- new IndexHtmlUnitOperation(_store, context, unit).performOperation();
+ contributors.indexHtmlUnit(_store, context, unit);
}
@override
void indexUnit(AnalysisContext context, CompilationUnit unit) {
- if (unit == null) {
- return;
- }
- if (unit.element == null) {
- return;
- }
- new IndexUnitOperation(_store, context, unit).performOperation();
+ contributors.indexDartUnit(_store, context, unit);
}
@override
@@ -105,11 +94,11 @@ class LocalIndex extends Index {
@override
void run() {
- // NO-OP if in the same isolate
+ // NO-OP for the local index
}
@override
void stop() {
- // NO-OP if in the same isolate
+ // NO-OP for the local index
}
}

Powered by Google App Engine
This is Rietveld 408576698