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

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

Issue 1881553002: Revert "Steps towards making the convert library strong-mode compliant." (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 8 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
« no previous file with comments | « CHANGELOG.md ('k') | runtime/lib/convert_patch.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 channel; 5 library channel;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:convert'; 8 import 'dart:convert';
9 9
10 import 'package:analysis_server/plugin/protocol/protocol.dart'; 10 import 'package:analysis_server/plugin/protocol/protocol.dart';
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 * Send the given [request] to the server 78 * Send the given [request] to the server
79 * and return a future with the associated [Response]. 79 * and return a future with the associated [Response].
80 */ 80 */
81 Future<Response> sendRequest(Request request); 81 Future<Response> sendRequest(Request request);
82 } 82 }
83 83
84 /** 84 /**
85 * Instances of the class [JsonStreamDecoder] convert JSON strings to JSON 85 * Instances of the class [JsonStreamDecoder] convert JSON strings to JSON
86 * maps. 86 * maps.
87 */ 87 */
88 class JsonStreamDecoder extends 88 class JsonStreamDecoder extends Converter<String, Map> {
89 ChunkedConverter<String, Map, String, Map> {
90 @override 89 @override
91 Map convert(String text) => JSON.decode(text); 90 Map convert(String text) => JSON.decode(text);
92 91
93 @override 92 @override
94 ChunkedConversionSink<String> startChunkedConversion(Sink<Map> sink) => 93 ChunkedConversionSink startChunkedConversion(Sink sink) =>
95 new ChannelChunkSink<String, Map>(this, sink); 94 new ChannelChunkSink<String, Map>(this, sink);
96 } 95 }
97 96
98 /** 97 /**
99 * Instances of the class [NotificationConverter] convert JSON maps to 98 * Instances of the class [NotificationConverter] convert JSON maps to
100 * [Notification]s. 99 * [Notification]s.
101 */ 100 */
102 class NotificationConverter extends 101 class NotificationConverter extends Converter<Map, Notification> {
103 ChunkedConverter<Map, Notification, Map, Notification> {
104 @override 102 @override
105 Notification convert(Map json) => new Notification.fromJson(json); 103 Notification convert(Map json) => new Notification.fromJson(json);
106 104
107 @override 105 @override
108 ChunkedConversionSink<Map> startChunkedConversion(Sink<Notification> sink) => 106 ChunkedConversionSink startChunkedConversion(Sink sink) =>
109 new ChannelChunkSink<Map, Notification>(this, sink); 107 new ChannelChunkSink<Map, Notification>(this, sink);
110 } 108 }
111 109
112 /** 110 /**
113 * Instances of the class [ResponseConverter] convert JSON maps to [Response]s. 111 * Instances of the class [ResponseConverter] convert JSON maps to [Response]s.
114 */ 112 */
115 class ResponseConverter extends 113 class ResponseConverter extends Converter<Map, Response> {
116 ChunkedConverter<Map, Response, Map, Response> {
117 @override 114 @override
118 Response convert(Map json) => new Response.fromJson(json); 115 Response convert(Map json) => new Response.fromJson(json);
119 116
120 @override 117 @override
121 ChunkedConversionSink<Map> startChunkedConversion(Sink<Response> sink) => 118 ChunkedConversionSink startChunkedConversion(Sink sink) =>
122 new ChannelChunkSink<Map, Response>(this, sink); 119 new ChannelChunkSink<Map, Response>(this, sink);
123 } 120 }
124 121
125 /** 122 /**
126 * The abstract class [ServerCommunicationChannel] defines the behavior of 123 * The abstract class [ServerCommunicationChannel] defines the behavior of
127 * objects that allow an [AnalysisServer] to receive [Request]s and to return 124 * objects that allow an [AnalysisServer] to receive [Request]s and to return
128 * both [Response]s and [Notification]s. 125 * both [Response]s and [Notification]s.
129 */ 126 */
130 abstract class ServerCommunicationChannel { 127 abstract class ServerCommunicationChannel {
131 /** 128 /**
(...skipping 14 matching lines...) Expand all
146 /** 143 /**
147 * Send the given [notification] to the client. 144 * Send the given [notification] to the client.
148 */ 145 */
149 void sendNotification(Notification notification); 146 void sendNotification(Notification notification);
150 147
151 /** 148 /**
152 * Send the given [response] to the client. 149 * Send the given [response] to the client.
153 */ 150 */
154 void sendResponse(Response response); 151 void sendResponse(Response response);
155 } 152 }
OLDNEW
« no previous file with comments | « CHANGELOG.md ('k') | runtime/lib/convert_patch.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698