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

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

Issue 444293002: Fixes for the 'pub' bot and 'analysis_server' on Windows. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 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
« no previous file with comments | « no previous file | pkg/analyzer/lib/file_system/memory_file_system.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 analysis.server; 5 library analysis.server;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:collection'; 8 import 'dart:collection';
9 9
10 import 'package:analyzer/file_system/file_system.dart'; 10 import 'package:analyzer/file_system/file_system.dart';
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 * [CommunicationChannel] for analysis requests and process them. 98 * [CommunicationChannel] for analysis requests and process them.
99 */ 99 */
100 class AnalysisServer { 100 class AnalysisServer {
101 /** 101 /**
102 * The channel from which requests are received and to which responses should 102 * The channel from which requests are received and to which responses should
103 * be sent. 103 * be sent.
104 */ 104 */
105 final ServerCommunicationChannel channel; 105 final ServerCommunicationChannel channel;
106 106
107 /** 107 /**
108 * The [ResourceProvider] using which paths are converted into [Resource]s.
109 */
110 final ResourceProvider resourceProvider;
111
112 /**
108 * The [Index] for this server. 113 * The [Index] for this server.
109 */ 114 */
110 final Index index; 115 final Index index;
111 116
112 /** 117 /**
113 * The [SearchEngine] for this server. 118 * The [SearchEngine] for this server.
114 */ 119 */
115 SearchEngine searchEngine; 120 SearchEngine searchEngine;
116 121
117 /** 122 /**
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 191
187 /** 192 /**
188 * Initialize a newly created server to receive requests from and send 193 * Initialize a newly created server to receive requests from and send
189 * responses to the given [channel]. 194 * responses to the given [channel].
190 * 195 *
191 * If [rethrowExceptions] is true, then any exceptions thrown by analysis are 196 * If [rethrowExceptions] is true, then any exceptions thrown by analysis are
192 * propagated up the call stack. The default is true to allow analysis 197 * propagated up the call stack. The default is true to allow analysis
193 * exceptions to show up in unit tests, but it should be set to false when 198 * exceptions to show up in unit tests, but it should be set to false when
194 * running a full analysis server. 199 * running a full analysis server.
195 */ 200 */
196 AnalysisServer(this.channel, ResourceProvider resourceProvider, 201 AnalysisServer(this.channel, this.resourceProvider,
197 PackageMapProvider packageMapProvider, this.index, this.defaultSdk, 202 PackageMapProvider packageMapProvider, this.index, this.defaultSdk,
198 {this.rethrowExceptions: true}) { 203 {this.rethrowExceptions: true}) {
199 searchEngine = createSearchEngine(index); 204 searchEngine = createSearchEngine(index);
200 operationQueue = new ServerOperationQueue(this); 205 operationQueue = new ServerOperationQueue(this);
201 contextDirectoryManager = new AnalysisServerContextDirectoryManager( 206 contextDirectoryManager = new AnalysisServerContextDirectoryManager(
202 this, resourceProvider, packageMapProvider); 207 this, resourceProvider, packageMapProvider);
Brian Wilkerson 2014/08/07 14:40:29 We no longer need to pass the resource provider in
203 AnalysisEngine.instance.logger = new AnalysisLogger(); 208 AnalysisEngine.instance.logger = new AnalysisLogger();
204 running = true; 209 running = true;
205 Notification notification = new Notification(SERVER_CONNECTED); 210 Notification notification = new Notification(SERVER_CONNECTED);
206 channel.sendNotification(notification); 211 channel.sendNotification(notification);
207 channel.listen(handleRequest, onDone: done, onError: error); 212 channel.listen(handleRequest, onDone: done, onError: error);
208 } 213 }
209 214
210 /** 215 /**
211 * Schedules execution of the given [ServerOperation]. 216 * Schedules execution of the given [ServerOperation].
212 */ 217 */
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 } 560 }
556 return null; 561 return null;
557 } 562 }
558 563
559 /** 564 /**
560 * Return the [Source] of the Dart file with the given [path]. 565 * Return the [Source] of the Dart file with the given [path].
561 */ 566 */
562 Source getSource(String path) { 567 Source getSource(String path) {
563 // try SDK 568 // try SDK
564 { 569 {
565 Uri uri = toUri(path); 570 Uri uri = resourceProvider.pathContext.toUri(path);
566 Source sdkSource = defaultSdk.fromFileUri(uri); 571 Source sdkSource = defaultSdk.fromFileUri(uri);
567 if (sdkSource != null) { 572 if (sdkSource != null) {
568 return sdkSource; 573 return sdkSource;
569 } 574 }
570 } 575 }
571 // file-based source 576 // file-based source
572 File file = contextDirectoryManager.resourceProvider.getResource(path); 577 File file = resourceProvider.getResource(path);
573 return file.createSource(); 578 return file.createSource();
574 } 579 }
575 580
576 /** 581 /**
577 * Returns the [CompilationUnit] of the Dart file with the given [path] that 582 * Returns the [CompilationUnit] of the Dart file with the given [path] that
578 * should be used to resend notifications for already resolved unit. 583 * should be used to resend notifications for already resolved unit.
579 * Returns `null` if the file is not a part of any context, library has not 584 * Returns `null` if the file is not a part of any context, library has not
580 * been yet resolved, or any problem happened. 585 * been yet resolved, or any problem happened.
581 */ 586 */
582 CompilationUnit getResolvedCompilationUnitToResendNotification(String path) { 587 CompilationUnit getResolvedCompilationUnitToResendNotification(String path) {
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
811 /** 816 /**
812 * An enumeration of the services provided by the server domain. 817 * An enumeration of the services provided by the server domain.
813 */ 818 */
814 class ServerService extends Enum2<ServerService> { 819 class ServerService extends Enum2<ServerService> {
815 static const ServerService STATUS = const ServerService('STATUS', 0); 820 static const ServerService STATUS = const ServerService('STATUS', 0);
816 821
817 static const List<ServerService> VALUES = const [STATUS]; 822 static const List<ServerService> VALUES = const [STATUS];
818 823
819 const ServerService(String name, int ordinal) : super(name, ordinal); 824 const ServerService(String name, int ordinal) : super(name, ordinal);
820 } 825 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer/lib/file_system/memory_file_system.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698