Version 1.17.0-dev.6.3
Cherry-pick 'd3579131c80434941855ce9cf1ebaee85767a4aa' to dev
diff --git a/sdk/lib/convert/ascii.dart b/sdk/lib/convert/ascii.dart
index a076210..c954e64 100644
--- a/sdk/lib/convert/ascii.dart
+++ b/sdk/lib/convert/ascii.dart
@@ -69,7 +69,9 @@
// Superclass for [AsciiEncoder] and [Latin1Encoder].
// Generalizes common operations that only differ by a mask;
-class _UnicodeSubsetEncoder extends Converter<String, List<int>> {
+class _UnicodeSubsetEncoder extends Converter<String, List<int>>
+ implements ChunkedConverter<String, List<int>, String, List<int>> {
+
final int _subsetMask;
const _UnicodeSubsetEncoder(this._subsetMask);
@@ -154,7 +156,9 @@
* This class converts Latin-1 bytes (lists of unsigned 8-bit integers)
* to a string.
*/
-abstract class _UnicodeSubsetDecoder extends Converter<List<int>, String> {
+abstract class _UnicodeSubsetDecoder extends Converter<List<int>, String>
+ implements ChunkedConverter<List<int>, String, List<int>, String> {
+
final bool _allowInvalid;
final int _subsetMask;
diff --git a/sdk/lib/convert/base64.dart b/sdk/lib/convert/base64.dart
index 3fe1357..0254f85 100644
--- a/sdk/lib/convert/base64.dart
+++ b/sdk/lib/convert/base64.dart
@@ -70,7 +70,9 @@
*
* The results are ASCII strings using a restricted alphabet.
*/
-class Base64Encoder extends Converter<List<int>, String> {
+class Base64Encoder extends Converter<List<int>, String>
+ implements ChunkedConverter<List<int>, String, List<int>, String> {
+
final bool _urlSafe;
const Base64Encoder() : _urlSafe = false;
@@ -340,7 +342,8 @@
*
* The encoding is required to be properly padded.
*/
-class Base64Decoder extends Converter<String, List<int>> {
+class Base64Decoder extends Converter<String, List<int>>
+ implements ChunkedConverter<String, List<int>, String, List<int>> {
const Base64Decoder();
diff --git a/sdk/lib/convert/converter.dart b/sdk/lib/convert/converter.dart
index dfcfcdf..75d4cf0 100644
--- a/sdk/lib/convert/converter.dart
+++ b/sdk/lib/convert/converter.dart
@@ -52,7 +52,8 @@
*
* For a non-chunked conversion converts the input in sequence.
*/
-class _FusedConverter<S, M, T> extends Converter<S, T> {
+class _FusedConverter<S, M, T> extends Converter<S, T>
+ implements ChunkedConverter<S, T, S, T> {
final Converter<S, M> _first;
final Converter<M, T> _second;
diff --git a/sdk/lib/convert/html_escape.dart b/sdk/lib/convert/html_escape.dart
index ff74442..3a516bb 100644
--- a/sdk/lib/convert/html_escape.dart
+++ b/sdk/lib/convert/html_escape.dart
@@ -152,7 +152,8 @@
* found to be easier to read if greater-than is also escaped whenever
* less-than is.
*/
-class HtmlEscape extends Converter<String, String> {
+class HtmlEscape extends Converter<String, String>
+ implements ChunkedConverter<String, String, String, String> {
/** The [HtmlEscapeMode] used by the converter. */
final HtmlEscapeMode mode;
diff --git a/sdk/lib/convert/json.dart b/sdk/lib/convert/json.dart
index 24931df..3d5ee82 100644
--- a/sdk/lib/convert/json.dart
+++ b/sdk/lib/convert/json.dart
@@ -159,7 +159,8 @@
/**
* This class converts JSON objects to strings.
*/
-class JsonEncoder extends Converter<Object, String> {
+class JsonEncoder extends Converter<Object, String>
+ implements ChunkedConverter<Object, String, Object, String> {
/**
* The string used for indention.
*
@@ -284,7 +285,9 @@
* a JSON string, and then UTF-8 encoding the string, but without
* creating an intermediate string.
*/
-class JsonUtf8Encoder extends Converter<Object, List<int>> {
+class JsonUtf8Encoder extends Converter<Object, List<int>>
+ implements ChunkedConverter<Object, List<int>, Object, List<int>> {
+
/** Default buffer size used by the JSON-to-UTF-8 encoder. */
static const int DEFAULT_BUFFER_SIZE = 256;
/** Indentation used in pretty-print mode, `null` if not pretty. */
@@ -470,7 +473,8 @@
/**
* This class parses JSON strings and builds the corresponding objects.
*/
-class JsonDecoder extends Converter<String, Object> {
+class JsonDecoder extends Converter<String, Object>
+ implements ChunkedConverter<String, Object, String, Object> {
final _Reviver _reviver;
/**
* Constructs a new JsonDecoder.
diff --git a/sdk/lib/convert/line_splitter.dart b/sdk/lib/convert/line_splitter.dart
index b728d8f..331527e 100644
--- a/sdk/lib/convert/line_splitter.dart
+++ b/sdk/lib/convert/line_splitter.dart
@@ -19,7 +19,8 @@
*/
class LineSplitter
extends Converter<String, List<String>>/*=Object*/
- implements Object/*=StreamTransformer<String, String>*/ {
+ implements ChunkedConverter<String, List<String>, String, String>
+ /*=StreamTransformer<String, String>*/ {
const LineSplitter();
diff --git a/sdk/lib/convert/utf.dart b/sdk/lib/convert/utf.dart
index 69bb72c..aeee9ef 100644
--- a/sdk/lib/convert/utf.dart
+++ b/sdk/lib/convert/utf.dart
@@ -76,7 +76,8 @@
* This class converts strings to their UTF-8 code units (a list of
* unsigned 8-bit integers).
*/
-class Utf8Encoder extends Converter<String, List<int>> {
+class Utf8Encoder extends Converter<String, List<int>>
+ implements ChunkedConverter<String, List<int>, String, List<int>> {
const Utf8Encoder();
@@ -304,7 +305,9 @@
* This class converts UTF-8 code units (lists of unsigned 8-bit integers)
* to a string.
*/
-class Utf8Decoder extends Converter<List<int>, String> {
+class Utf8Decoder extends Converter<List<int>, String>
+ implements ChunkedConverter<List<int>, String, List<int>, String> {
+
final bool _allowMalformed;
/**
diff --git a/sdk/lib/io/data_transformer.dart b/sdk/lib/io/data_transformer.dart
index 6a50af4..d908e67 100644
--- a/sdk/lib/io/data_transformer.dart
+++ b/sdk/lib/io/data_transformer.dart
@@ -275,7 +275,9 @@
* The [ZLibEncoder] encoder is used by [ZLibCodec] and [GZipCodec] to compress
* data.
*/
-class ZLibEncoder extends Converter<List<int>, List<int>> {
+class ZLibEncoder extends Converter<List<int>, List<int>>
+ implements ChunkedConverter<List<int>, List<int>, List<int>, List<int>> {
+
/**
* When true, `GZip` frames will be added to the compressed data.
*/
diff --git a/sdk/lib/io/string_transformer.dart b/sdk/lib/io/string_transformer.dart
index ab17eaf..1e540c3 100644
--- a/sdk/lib/io/string_transformer.dart
+++ b/sdk/lib/io/string_transformer.dart
@@ -42,7 +42,8 @@
}
}
-class _WindowsCodePageEncoder extends Converter<String, List<int>> {
+class _WindowsCodePageEncoder extends Converter<String, List<int>>
+ implements ChunkedConverter<String, List<int>, String, List<int>> {
const _WindowsCodePageEncoder();
@@ -94,7 +95,8 @@
}
-class _WindowsCodePageDecoder extends Converter<List<int>, String> {
+class _WindowsCodePageDecoder extends Converter<List<int>, String>
+ implements ChunkedConverter<List<int>, String, List<int>, String> {
const _WindowsCodePageDecoder();
diff --git a/tools/VERSION b/tools/VERSION
index f0eb17c..868ff3c 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -28,4 +28,4 @@
MINOR 17
PATCH 0
PRERELEASE 6
-PRERELEASE_PATCH 2
+PRERELEASE_PATCH 3