Index: pkg/dev_compiler/tool/input_sdk/lib/developer/extension.dart |
diff --git a/pkg/dev_compiler/tool/input_sdk/lib/developer/extension.dart b/pkg/dev_compiler/tool/input_sdk/lib/developer/extension.dart |
deleted file mode 100644 |
index 5883fb58a921938ecb7f37c09aa70b4f2637fdd5..0000000000000000000000000000000000000000 |
--- a/pkg/dev_compiler/tool/input_sdk/lib/developer/extension.dart |
+++ /dev/null |
@@ -1,177 +0,0 @@ |
-// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-part of dart.developer; |
- |
-/// A response to a service protocol extension RPC. |
-/// |
-/// If the RPC was successful, use [ServiceExtensionResponse.result], otherwise |
-/// use [ServiceExtensionResponse.error]. |
-class ServiceExtensionResponse { |
- final String _result; |
- final int _errorCode; |
- final String _errorDetail; |
- |
- /// Creates a successful response to a service protocol extension RPC. |
- /// |
- /// Requires [result] to be a JSON object encoded as a string. When forming |
- /// the JSON-RPC message [result] will be inlined directly. |
- ServiceExtensionResponse.result(String result) |
- : _result = result, |
- _errorCode = null, |
- _errorDetail = null { |
- if (_result is! String) { |
- throw new ArgumentError.value(_result, "result", "Must be a String"); |
- } |
- } |
- |
- /// Creates an error response to a service protocol extension RPC. |
- /// |
- /// Requires [errorCode] to be [invalidParams] or between [extensionErrorMin] |
- /// and [extensionErrorMax]. Requires [errorDetail] to be a JSON object |
- /// encoded as a string. When forming the JSON-RPC message [errorDetail] will |
- /// be inlined directly. |
- ServiceExtensionResponse.error(int errorCode, String errorDetail) |
- : _result = null, |
- _errorCode = errorCode, |
- _errorDetail = errorDetail { |
- _validateErrorCode(_errorCode); |
- if (_errorDetail is! String) { |
- throw new ArgumentError.value(_errorDetail, |
- "errorDetail", |
- "Must be a String"); |
- } |
- } |
- |
- /// Invalid method parameter(s) error code. |
- @deprecated static const kInvalidParams = invalidParams; |
- /// Generic extension error code. |
- @deprecated static const kExtensionError = extensionError; |
- /// Maximum extension provided error code. |
- @deprecated static const kExtensionErrorMax = extensionErrorMax; |
- /// Minimum extension provided error code. |
- @deprecated static const kExtensionErrorMin = extensionErrorMin; |
- |
- /// Invalid method parameter(s) error code. |
- static const invalidParams = -32602; |
- /// Generic extension error code. |
- static const extensionError = -32000; |
- /// Maximum extension provided error code. |
- static const extensionErrorMax = -32000; |
- /// Minimum extension provided error code. |
- static const extensionErrorMin = -32016; |
- |
- |
- static String _errorCodeMessage(int errorCode) { |
- _validateErrorCode(errorCode); |
- if (errorCode == kInvalidParams) { |
- return "Invalid params"; |
- } |
- return "Server error"; |
- } |
- |
- static _validateErrorCode(int errorCode) { |
- if (errorCode is! int) { |
- throw new ArgumentError.value(errorCode, "errorCode", "Must be an int"); |
- } |
- if (errorCode == invalidParams) { |
- return; |
- } |
- if ((errorCode >= extensionErrorMin) && |
- (errorCode <= extensionErrorMax)) { |
- return; |
- } |
- throw new ArgumentError.value(errorCode, "errorCode", "Out of range"); |
- } |
- |
- bool _isError() => (_errorCode != null) && (_errorDetail != null); |
- |
- String _toString() { |
- if (_result != null) { |
- return _result; |
- } else { |
- assert(_errorCode != null); |
- assert(_errorDetail != null); |
- return JSON.encode({ |
- 'code': _errorCode, |
- 'message': _errorCodeMessage(_errorCode), |
- 'data': { |
- 'details': _errorDetail |
- } |
- }); |
- } |
- } |
-} |
- |
-/// A service protocol extension handler. Registered with [registerExtension]. |
-/// |
-/// Must complete to a [ServiceExtensionResponse]. |
-/// |
-/// [method] - the method name of the service protocol request. |
-/// [parameters] - A map holding the parameters to the service protocol request. |
-/// |
-/// *NOTE*: All parameter names and values are **encoded as strings**. |
-typedef Future<ServiceExtensionResponse> |
- ServiceExtensionHandler(String method, Map<String, String> parameters); |
- |
-/// Register a [ServiceExtensionHandler] that will be invoked in this isolate |
-/// for [method]. *NOTE*: Service protocol extensions must be registered |
-/// in each isolate. |
-/// |
-/// *NOTE*: [method] must begin with 'ext.' and you should use the following |
-/// structure to avoid conflicts with other packages: 'ext.package.command'. |
-/// That is, immediately following the 'ext.' prefix, should be the registering |
-/// package name followed by another period ('.') and then the command name. |
-/// For example: 'ext.dart.io.getOpenFiles'. |
-/// |
-/// Because service extensions are isolate specific, clients using extensions |
-/// must always include an 'isolateId' parameter with each RPC. |
-void registerExtension(String method, ServiceExtensionHandler handler) { |
- if (method is! String) { |
- throw new ArgumentError.value(method, |
- 'method', |
- 'Must be a String'); |
- } |
- if (!method.startsWith('ext.')) { |
- throw new ArgumentError.value(method, |
- 'method', |
- 'Must begin with ext.'); |
- } |
- if (_lookupExtension(method) != null) { |
- throw new ArgumentError('Extension already registered: $method'); |
- } |
- if (handler is! ServiceExtensionHandler) { |
- throw new ArgumentError.value(handler, |
- 'handler', |
- 'Must be a ServiceExtensionHandler'); |
- } |
- _registerExtension(method, handler); |
-} |
- |
-/// Post an event of [eventKind] with payload of [eventData] to the `Extension` |
-/// event stream. |
-void postEvent(String eventKind, Map eventData) { |
- if (eventKind is! String) { |
- throw new ArgumentError.value(eventKind, |
- 'eventKind', |
- 'Must be a String'); |
- } |
- if (eventData is! Map) { |
- throw new ArgumentError.value(eventData, |
- 'eventData', |
- 'Must be a Map'); |
- } |
- String eventDataAsString = JSON.encode(eventData); |
- _postEvent(eventKind, eventDataAsString); |
-} |
- |
-external _postEvent(String eventKind, String eventData); |
- |
-// Both of these functions are written inside C++ to avoid updating the data |
-// structures in Dart, getting an OOB, and observing stale state. Do not move |
-// these into Dart code unless you can ensure that the operations will can be |
-// done atomically. Native code lives in vm/isolate.cc- |
-// LookupServiceExtensionHandler and RegisterServiceExtensionHandler. |
-external ServiceExtensionHandler _lookupExtension(String method); |
-external _registerExtension(String method, ServiceExtensionHandler handler); |