Index: pkg/analysis_server/lib/src/services/search/search_engine_internal2.dart |
diff --git a/pkg/analysis_server/lib/src/services/search/search_engine_internal2.dart b/pkg/analysis_server/lib/src/services/search/search_engine_internal2.dart |
index d9088a9d9d3c2aa98ca52cdd8facd8c42f0c6ebe..6f1336fd2b5c93a5422935875c8dc0bb2f20fd1e 100644 |
--- a/pkg/analysis_server/lib/src/services/search/search_engine_internal2.dart |
+++ b/pkg/analysis_server/lib/src/services/search/search_engine_internal2.dart |
@@ -39,7 +39,8 @@ class SearchEngineImpl2 implements SearchEngine { |
@override |
Future<List<SearchMatch>> searchMemberDeclarations(String name) async { |
List<SearchMatch> allDeclarations = []; |
- for (AnalysisDriver driver in _drivers) { |
+ List<AnalysisDriver> drivers = _drivers.toList(); |
+ for (AnalysisDriver driver in drivers) { |
List<Element> elements = await driver.search.classMembers(name); |
allDeclarations.addAll(elements.map(_SearchMatch.forElement)); |
} |
@@ -49,7 +50,8 @@ class SearchEngineImpl2 implements SearchEngine { |
@override |
Future<List<SearchMatch>> searchMemberReferences(String name) async { |
List<SearchResult> allResults = []; |
- for (AnalysisDriver driver in _drivers) { |
+ List<AnalysisDriver> drivers = _drivers.toList(); |
+ for (AnalysisDriver driver in drivers) { |
List<SearchResult> results = |
await driver.search.unresolvedMemberReferences(name); |
allResults.addAll(results); |
@@ -60,7 +62,8 @@ class SearchEngineImpl2 implements SearchEngine { |
@override |
Future<List<SearchMatch>> searchReferences(Element element) async { |
List<SearchResult> allResults = []; |
- for (AnalysisDriver driver in _drivers) { |
+ List<AnalysisDriver> drivers = _drivers.toList(); |
+ for (AnalysisDriver driver in drivers) { |
List<SearchResult> results = await driver.search.references(element); |
allResults.addAll(results); |
} |
@@ -77,7 +80,8 @@ class SearchEngineImpl2 implements SearchEngine { |
Future<List<SearchMatch>> searchTopLevelDeclarations(String pattern) async { |
List<SearchMatch> allDeclarations = []; |
RegExp regExp = new RegExp(pattern); |
- for (AnalysisDriver driver in _drivers) { |
+ List<AnalysisDriver> drivers = _drivers.toList(); |
+ for (AnalysisDriver driver in drivers) { |
List<Element> elements = await driver.search.topLevelElements(regExp); |
allDeclarations.addAll(elements.map(_SearchMatch.forElement)); |
} |
@@ -86,7 +90,8 @@ class SearchEngineImpl2 implements SearchEngine { |
Future<List<SearchResult>> _searchDirectSubtypes(ClassElement type) async { |
List<SearchResult> allResults = []; |
- for (AnalysisDriver driver in _drivers) { |
+ List<AnalysisDriver> drivers = _drivers.toList(); |
+ for (AnalysisDriver driver in drivers) { |
List<SearchResult> results = await driver.search.subTypes(type); |
allResults.addAll(results); |
} |