Skip to content

Commit 9b421eb

Browse files
author
John Messerly
committed
fixes #627, update DDC Future.then signature
[email protected] Review URL: https://codereview.chromium.org/2259433002 .
1 parent 90a8667 commit 9b421eb

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

pkg/dev_compiler/lib/runtime/dart_sdk.js

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
311311
let SplayTreeSet = () => (SplayTreeSet = dart.constFn(collection.SplayTreeSet$()))();
312312
let dynamicAnddynamicTodynamic = () => (dynamicAnddynamicTodynamic = dart.constFn(dart.functionType(dart.dynamic, [dart.dynamic, dart.dynamic])))();
313313
let MappedIterableOfString$dynamic = () => (MappedIterableOfString$dynamic = dart.constFn(_internal.MappedIterable$(core.String, dart.dynamic)))();
314+
let FutureOfString = () => (FutureOfString = dart.constFn(async.Future$(core.String)))();
314315
let Codec = () => (Codec = dart.constFn(convert.Codec$()))();
315316
let ComparableOfString = () => (ComparableOfString = dart.constFn(core.Comparable$(core.String)))();
316317
let List = () => (List = dart.constFn(core.List$()))();
@@ -9345,7 +9346,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
93459346
}
93469347
pipe(streamConsumer) {
93479348
StreamConsumerOfT()._check(streamConsumer);
9348-
return streamConsumer.addStream(this).then(async.Future)(dart.fn(_ => streamConsumer.close(), dynamicToFuture()));
9349+
return streamConsumer.addStream(this).then(dart.dynamic)(dart.fn(_ => streamConsumer.close(), dynamicToFuture()));
93499350
}
93509351
transform(S) {
93519352
return streamTransformer => {
@@ -16572,7 +16573,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
1657216573
let iterator = input[dartx.iterator];
1657316574
return async.Future.doWhile(dart.fn(() => {
1657416575
if (!dart.test(iterator.moveNext())) return false;
16575-
return async.Future.sync(dart.fn(() => dart.dcall(f, iterator.current), VoidTodynamic$())).then(core.bool)(dart.fn(_ => true, dynamicTobool$()));
16576+
return async.Future.sync(dart.fn(() => dart.dcall(f, iterator.current), VoidTodynamic$())).then(dart.dynamic)(dart.fn(_ => true, dynamicTobool$()));
1657616577
}, VoidToObject$()));
1657716578
}
1657816579
static doWhile(f) {
@@ -17233,7 +17234,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
1723317234
return;
1723417235
}
1723517236
let originalSource = source;
17236-
listenerValueOrError = completeResult.then(async._Future)(dart.fn(_ => originalSource, dynamicTo_Future()));
17237+
listenerValueOrError = completeResult.then(dart.dynamic)(dart.fn(_ => originalSource, dynamicTo_Future()));
1723717238
listenerHasError = false;
1723817239
}
1723917240
}
@@ -26395,10 +26396,10 @@ dart_library.library('dart_sdk', null, /* Imports */[
2639526396
super.new();
2639626397
}
2639726398
decodeStream(byteStream) {
26398-
return byteStream.transform(core.String)(this.decoder).fold(dart.dynamic)(new core.StringBuffer(), dart.fn((buffer, string) => ((() => {
26399+
return FutureOfString()._check(byteStream.transform(core.String)(this.decoder).fold(dart.dynamic)(new core.StringBuffer(), dart.fn((buffer, string) => ((() => {
2639926400
dart.dsend(buffer, 'write', string);
2640026401
return buffer;
26401-
})()), dynamicAndStringTodynamic())).then(core.String)(dart.fn(buffer => dart.toString(buffer), dynamicToString()));
26402+
})()), dynamicAndStringTodynamic())).then(dart.dynamic)(dart.fn(buffer => dart.toString(buffer), dynamicToString())));
2640226403
}
2640326404
static getByName(name) {
2640426405
if (name == null) return null;
@@ -33145,7 +33146,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
3314533146
static spawn(entryPoint, message, opts) {
3314633147
let paused = opts && 'paused' in opts ? opts.paused : false;
3314733148
try {
33148-
return _isolate_helper.IsolateNatives.spawnFunction(entryPoint, message, paused).then(isolate.Isolate)(dart.fn(msg => new isolate.Isolate(isolate.SendPort._check(msg[dartx.get](1)), {pauseCapability: isolate.Capability._check(msg[dartx.get](2)), terminateCapability: isolate.Capability._check(msg[dartx.get](3))}), ListToIsolate()));
33149+
return FutureOfIsolate()._check(_isolate_helper.IsolateNatives.spawnFunction(entryPoint, message, paused).then(dart.dynamic)(dart.fn(msg => new isolate.Isolate(isolate.SendPort._check(msg[dartx.get](1)), {pauseCapability: isolate.Capability._check(msg[dartx.get](2)), terminateCapability: isolate.Capability._check(msg[dartx.get](3))}), ListToIsolate())));
3314933150
} catch (e) {
3315033151
let st = dart.stackTrace(e);
3315133152
return FutureOfIsolate().error(e, st);
@@ -33166,7 +33167,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
3316633167
} else if (args != null) {
3316733168
dart.throw(new core.ArgumentError(dart.str`Args must be a list of Strings ${args}`));
3316833169
}
33169-
return _isolate_helper.IsolateNatives.spawnUri(uri, args, message, paused).then(isolate.Isolate)(dart.fn(msg => new isolate.Isolate(isolate.SendPort._check(msg[dartx.get](1)), {pauseCapability: isolate.Capability._check(msg[dartx.get](2)), terminateCapability: isolate.Capability._check(msg[dartx.get](3))}), ListToIsolate()));
33170+
return FutureOfIsolate()._check(_isolate_helper.IsolateNatives.spawnUri(uri, args, message, paused).then(dart.dynamic)(dart.fn(msg => new isolate.Isolate(isolate.SendPort._check(msg[dartx.get](1)), {pauseCapability: isolate.Capability._check(msg[dartx.get](2)), terminateCapability: isolate.Capability._check(msg[dartx.get](3))}), ListToIsolate())));
3317033171
} catch (e) {
3317133172
let st = dart.stackTrace(e);
3317233173
return FutureOfIsolate().error(e, st);
@@ -54095,7 +54096,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
5409554096
static getString(url, opts) {
5409654097
let withCredentials = opts && 'withCredentials' in opts ? opts.withCredentials : null;
5409754098
let onProgress = opts && 'onProgress' in opts ? opts.onProgress : null;
54098-
return html$.HttpRequest.request(url, {withCredentials: withCredentials, onProgress: onProgress}).then(core.String)(dart.fn(xhr => xhr[dartx.responseText], HttpRequestToString()));
54099+
return FutureOfString()._check(html$.HttpRequest.request(url, {withCredentials: withCredentials, onProgress: onProgress}).then(dart.dynamic)(dart.fn(xhr => xhr[dartx.responseText], HttpRequestToString())));
5409954100
}
5410054101
static postFormData(url, data, opts) {
5410154102
let withCredentials = opts && 'withCredentials' in opts ? opts.withCredentials : null;
@@ -54183,7 +54184,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
5418354184
let method = opts && 'method' in opts ? opts.method : null;
5418454185
let sendData = opts && 'sendData' in opts ? opts.sendData : null;
5418554186
if (dart.test(html$.HttpRequest.supportsCrossOrigin)) {
54186-
return html$.HttpRequest.request(url, {method: method, sendData: sendData}).then(core.String)(dart.fn(xhr => xhr[dartx.responseText], HttpRequestToString()));
54187+
return FutureOfString()._check(html$.HttpRequest.request(url, {method: method, sendData: sendData}).then(dart.dynamic)(dart.fn(xhr => xhr[dartx.responseText], HttpRequestToString())));
5418754188
}
5418854189
let completer = CompleterOfString().new();
5418954190
if (method == null) {

pkg/dev_compiler/tool/input_sdk/lib/async/future.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,7 @@ abstract class Future<T> {
432432
* with a `test` parameter, instead of handling both value and error in a
433433
* single [then] call.
434434
*/
435-
Future/*<S>*/ then/*<S>*/(/*=S*/ onValue(T value), { Function onError });
435+
Future/*<S>*/ then/*<S>*/(onValue(T value), { Function onError });
436436

437437
/**
438438
* Handles errors emitted by this [Future].

pkg/dev_compiler/tool/sdk_expected_errors.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@
9797
[warning] Unsound implicit cast from dynamic to Stream<S> (dart:convert/chunked_conversion.dart, line 14, col 45)
9898
[warning] Unsound implicit cast from dynamic to Sink<T> (dart:convert/chunked_conversion.dart, line 16, col 36)
9999
[warning] Unsound implicit cast from dynamic to List<String> (dart:convert, line 311, col 12)
100+
[warning] Unsound implicit cast from Future<dynamic> to Future<String> (dart:convert/encoding.dart, line 17, col 12)
100101
[warning] Unsound implicit cast from dynamic to T (dart:core/expando.dart, line 55, col 12)
101102
[warning] Unsound implicit cast from dynamic to E (dart:core/list.dart, line 126, col 16)
102103
[warning] The final variable 'origin' must be initialized (dart:html, line 177, col 3)
@@ -109,6 +110,8 @@
109110
[warning] The final variables '_attributes', '_childElementCount' and '16' more must be initialized (dart:html, line 13009, col 3)
110111
[warning] The final variables 'elements', 'form' and '4' more must be initialized (dart:html, line 16625, col 3)
111112
[warning] The final variable 'length' must be initialized (dart:html, line 17555, col 3)
113+
[warning] Unsound implicit cast from Future<dynamic> to Future<String> (dart:html, line 19315, col 12)
114+
[warning] Unsound implicit cast from Future<dynamic> to Future<String> (dart:html, line 19532, col 14)
112115
[warning] The final variables '_get_contentWindow' and 'sandbox' must be initialized (dart:html, line 20113, col 3)
113116
[warning] The final variables 'complete', 'currentSrc' and '2' more must be initialized (dart:html, line 20246, col 3)
114117
[warning] The final variables '_get_valueAsDate', 'entries' and '6' more must be initialized (dart:html, line 20400, col 3)
@@ -139,6 +142,8 @@
139142
[warning] Unsound implicit cast from dynamic to Rectangle<num> (dart:html, line 37634, col 14)
140143
[warning] Unsound implicit cast from (T) → void to (Event) → dynamic (dart:html, line 40090, col 67)
141144
[warning] Unsound implicit cast from (T) → void to (Event) → dynamic (dart:html, line 40112, col 45)
145+
[warning] Unsound implicit cast from Future<dynamic> to Future<Isolate> (dart:isolate, line 168, col 14)
146+
[warning] Unsound implicit cast from Future<dynamic> to Future<Isolate> (dart:isolate, line 234, col 14)
142147
[warning] Unsound implicit cast from num to T (dart:math/rectangle.dart, line 151, col 22)
143148
[warning] Unsound implicit cast from num to T (dart:math/rectangle.dart, line 152, col 23)
144149
[warning] Unsound implicit cast from num to T (dart:math/rectangle.dart, line 275, col 10)

0 commit comments

Comments
 (0)