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

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

Issue 300643002: Use type annotations everywhere in analysis_server/lib. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rollback using 'dynamic' type Created 6 years, 7 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 | « pkg/analysis_server/bin/dartdeps.dart ('k') | pkg/analysis_server/lib/src/protocol.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 import 'dart:async'; 5 import 'dart:async';
6 import 'dart:convert'; 6 import 'dart:convert';
7 import 'dart:io'; 7 import 'dart:io';
8 8
9 import 'package:analysis_server/src/channel.dart'; 9 import 'package:analysis_server/src/channel.dart';
10 import 'package:analysis_server/src/domain_server.dart'; 10 import 'package:analysis_server/src/domain_server.dart';
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 */ 43 */
44 static Future<AnalysisManager> connect(String serverUrl) { 44 static Future<AnalysisManager> connect(String serverUrl) {
45 return new AnalysisManager()._openConnection(serverUrl); 45 return new AnalysisManager()._openConnection(serverUrl);
46 } 46 }
47 47
48 /** 48 /**
49 * Launch an analysis server and open a connection to that server. 49 * Launch an analysis server and open a connection to that server.
50 */ 50 */
51 Future<AnalysisManager> _launchServer(String pathToServer) { 51 Future<AnalysisManager> _launchServer(String pathToServer) {
52 // TODO dynamically allocate port and/or allow client to specify port 52 // TODO dynamically allocate port and/or allow client to specify port
53 var serverArgs = [pathToServer, '--port', PORT.toString()]; 53 List<String> serverArgs = [pathToServer, '--port', PORT.toString()];
54 return Process.start(Platform.executable, serverArgs) 54 return Process.start(Platform.executable, serverArgs)
55 .catchError((error) { 55 .catchError((error) {
56 exitCode = 1; 56 exitCode = 1;
57 throw 'Failed to launch analysis server: $error'; 57 throw 'Failed to launch analysis server: $error';
58 }) 58 })
59 .then(_listenForPort); 59 .then(_listenForPort);
60 } 60 }
61 61
62 /** 62 /**
63 * Listen for a port from the given analysis server process. 63 * Listen for a port from the given analysis server process.
(...skipping 10 matching lines...) Expand all
74 const String pattern = 'Listening on port '; 74 const String pattern = 'Listening on port ';
75 return out.firstWhere((String line) => line.startsWith(pattern)) 75 return out.firstWhere((String line) => line.startsWith(pattern))
76 .timeout(new Duration(seconds: 10)) 76 .timeout(new Duration(seconds: 10))
77 .catchError((error) { 77 .catchError((error) {
78 exitCode = 1; 78 exitCode = 1;
79 process.kill(); 79 process.kill();
80 throw 'Expected port from analysis server'; 80 throw 'Expected port from analysis server';
81 }) 81 })
82 .then((String line) { 82 .then((String line) {
83 String port = line.substring(pattern.length).trim(); 83 String port = line.substring(pattern.length).trim();
84 var url = 'ws://${InternetAddress.LOOPBACK_IP_V4.address}:$port/'; 84 String url = 'ws://${InternetAddress.LOOPBACK_IP_V4.address}:$port/';
85 return _openConnection(url); 85 return _openConnection(url);
86 }); 86 });
87 } 87 }
88 88
89 /** 89 /**
90 * Open a connection to the analysis server using the given URL. 90 * Open a connection to the analysis server using the given URL.
91 */ 91 */
92 Future<AnalysisManager> _openConnection(String serverUrl) { 92 Future<AnalysisManager> _openConnection(String serverUrl) {
93 var onError = (error) { 93 Function onError = (error) {
94 exitCode = 1; 94 exitCode = 1;
95 if (process != null) { 95 if (process != null) {
96 process.kill(); 96 process.kill();
97 } 97 }
98 throw 'Failed to connect to analysis server at $serverUrl\n $error'; 98 throw 'Failed to connect to analysis server at $serverUrl\n $error';
99 }; 99 };
100 try { 100 try {
101 return WebSocket.connect(serverUrl) 101 return WebSocket.connect(serverUrl)
102 .catchError(onError) 102 .catchError(onError)
103 .then((WebSocket socket) { 103 .then((WebSocket socket) {
(...skipping 29 matching lines...) Expand all
133 process.kill(); 133 process.kill();
134 }) 134 })
135 .then((int result) { 135 .then((int result) {
136 if (result != null && result != 0) { 136 if (result != null && result != 0) {
137 exitCode = result; 137 exitCode = result;
138 } 138 }
139 return true; 139 return true;
140 }); 140 });
141 } 141 }
142 } 142 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/bin/dartdeps.dart ('k') | pkg/analysis_server/lib/src/protocol.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698