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

Side by Side Diff: pkg/analysis_server/lib/src/domain_analysis.dart

Issue 861893003: Library Dependencies Analysis service API. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 domain.analysis; 5 library domain.analysis;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/src/analysis_server.dart'; 9 import 'package:analysis_server/src/analysis_server.dart';
10 import 'package:analysis_server/src/computer/computer_hover.dart'; 10 import 'package:analysis_server/src/computer/computer_hover.dart';
11 import 'package:analysis_server/src/constants.dart'; 11 import 'package:analysis_server/src/constants.dart';
12 import 'package:analysis_server/src/protocol_server.dart'; 12 import 'package:analysis_server/src/protocol_server.dart';
13 import 'package:analysis_server/src/services/dependencies/library_dependencies.d art';
13 import 'package:analyzer/src/generated/ast.dart'; 14 import 'package:analyzer/src/generated/ast.dart';
14 import 'package:analyzer/src/generated/engine.dart' as engine; 15 import 'package:analyzer/src/generated/engine.dart' as engine;
15 16
16 17
17 /** 18 /**
18 * Instances of the class [AnalysisDomainHandler] implement a [RequestHandler] 19 * Instances of the class [AnalysisDomainHandler] implement a [RequestHandler]
19 * that handles requests in the `analysis` domain. 20 * that handles requests in the `analysis` domain.
20 */ 21 */
21 class AnalysisDomainHandler implements RequestHandler { 22 class AnalysisDomainHandler implements RequestHandler {
22 /** 23 /**
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 HoverInformation hoverInformation = 81 HoverInformation hoverInformation =
81 new DartUnitHoverComputer(unit, params.offset).compute(); 82 new DartUnitHoverComputer(unit, params.offset).compute();
82 if (hoverInformation != null) { 83 if (hoverInformation != null) {
83 hovers.add(hoverInformation); 84 hovers.add(hoverInformation);
84 } 85 }
85 } 86 }
86 // send response 87 // send response
87 return new AnalysisGetHoverResult(hovers).toResponse(request.id); 88 return new AnalysisGetHoverResult(hovers).toResponse(request.id);
88 } 89 }
89 90
91 /// Implement the `analysis.getLibraryDependencies` request.
92 Response getLibraryDependencies(Request request) {
93 Set<String> directories = new LibraryDependencyCollector(
94 server.getAnalysisContexts()).collectFolderDependencies();
95 new AnalysisGetLibraryDependenciesResult(
96 directories.toList(growable: false)).toResponse(request.id);
97 }
98
90 @override 99 @override
91 Response handleRequest(Request request) { 100 Response handleRequest(Request request) {
92 try { 101 try {
93 String requestName = request.method; 102 String requestName = request.method;
94 if (requestName == ANALYSIS_GET_ERRORS) { 103 if (requestName == ANALYSIS_GET_ERRORS) {
95 return getErrors(request); 104 return getErrors(request);
96 } else if (requestName == ANALYSIS_GET_HOVER) { 105 } else if (requestName == ANALYSIS_GET_HOVER) {
97 return getHover(request); 106 return getHover(request);
107 } else if (requestName == ANALYSIS_GET_LIBRARY_DEPENDENCIES) {
108 return getLibraryDependencies(request);
98 } else if (requestName == ANALYSIS_REANALYZE) { 109 } else if (requestName == ANALYSIS_REANALYZE) {
99 return reanalyze(request); 110 return reanalyze(request);
100 } else if (requestName == ANALYSIS_SET_ANALYSIS_ROOTS) { 111 } else if (requestName == ANALYSIS_SET_ANALYSIS_ROOTS) {
101 return setAnalysisRoots(request); 112 return setAnalysisRoots(request);
102 } else if (requestName == ANALYSIS_SET_PRIORITY_FILES) { 113 } else if (requestName == ANALYSIS_SET_PRIORITY_FILES) {
103 return setPriorityFiles(request); 114 return setPriorityFiles(request);
104 } else if (requestName == ANALYSIS_SET_SUBSCRIPTIONS) { 115 } else if (requestName == ANALYSIS_SET_SUBSCRIPTIONS) {
105 return setSubscriptions(request); 116 return setSubscriptions(request);
106 } else if (requestName == ANALYSIS_UPDATE_CONTENT) { 117 } else if (requestName == ANALYSIS_UPDATE_CONTENT) {
107 return updateContent(request); 118 return updateContent(request);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 } 193 }
183 if (newOptions.generateHints != null) { 194 if (newOptions.generateHints != null) {
184 updaters.add((engine.AnalysisOptionsImpl options) { 195 updaters.add((engine.AnalysisOptionsImpl options) {
185 options.hint = newOptions.generateHints; 196 options.hint = newOptions.generateHints;
186 }); 197 });
187 } 198 }
188 server.updateOptions(updaters); 199 server.updateOptions(updaters);
189 return new AnalysisUpdateOptionsResult().toResponse(request.id); 200 return new AnalysisUpdateOptionsResult().toResponse(request.id);
190 } 201 }
191 } 202 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698