| Index: pkg/analysis_server/lib/src/operation/operation_analysis.dart | 
| diff --git a/pkg/analysis_server/lib/src/operation/operation_analysis.dart b/pkg/analysis_server/lib/src/operation/operation_analysis.dart | 
| index c17f399bd20198447817e9b514335cecb85f8194..198955c4e705d20b767f1b620fa00f6e8834b2b9 100644 | 
| --- a/pkg/analysis_server/lib/src/operation/operation_analysis.dart | 
| +++ b/pkg/analysis_server/lib/src/operation/operation_analysis.dart | 
| @@ -9,13 +9,16 @@ import 'package:analysis_server/src/computer/computer_highlights.dart'; | 
| import 'package:analysis_server/src/computer/computer_highlights2.dart'; | 
| import 'package:analysis_server/src/computer/computer_outline.dart'; | 
| import 'package:analysis_server/src/computer/computer_overrides.dart'; | 
| +import 'package:analysis_server/src/domains/analysis/implemented_dart.dart'; | 
| import 'package:analysis_server/src/domains/analysis/navigation.dart'; | 
| import 'package:analysis_server/src/domains/analysis/occurrences.dart'; | 
| import 'package:analysis_server/src/operation/operation.dart'; | 
| import 'package:analysis_server/src/protocol_server.dart' as protocol; | 
| import 'package:analysis_server/src/services/dependencies/library_dependencies.dart'; | 
| import 'package:analysis_server/src/services/index/index.dart'; | 
| +import 'package:analysis_server/src/services/search/search_engine.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/error.dart'; | 
| import 'package:analyzer/src/generated/html.dart'; | 
| @@ -39,6 +42,25 @@ runWithWorkingCacheSize(AnalysisContext context, f()) { | 
| } | 
| } | 
|  | 
| +scheduleImplementedNotification( | 
| +    AnalysisServer server, Iterable<String> files) async { | 
| +  SearchEngine searchEngine = server.searchEngine; | 
| +  if (searchEngine == null) { | 
| +    return; | 
| +  } | 
| +  for (String file in files) { | 
| +    CompilationUnitElement unitElement = server.getCompilationUnitElement(file); | 
| +    if (unitElement != null) { | 
| +      ImplementedComputer computer = | 
| +          new ImplementedComputer(searchEngine, unitElement); | 
| +      await computer.compute(); | 
| +      var params = new protocol.AnalysisImplementedParams( | 
| +          file, computer.classes, computer.members); | 
| +      server.sendNotification(params.toNotification()); | 
| +    } | 
| +  } | 
| +} | 
| + | 
| /** | 
| * Schedules indexing of the given [file] using the resolved [dartUnit]. | 
| */ | 
|  |