| Index: pkg/dev_compiler/lib/js/common/dart_sdk.js
|
| diff --git a/pkg/dev_compiler/lib/js/common/dart_sdk.js b/pkg/dev_compiler/lib/js/common/dart_sdk.js
|
| index 0237cf334dbd513518750ccf04567b94b8db6e2c..b895ceec7a28e5e053f6bbac9a5e212fd9abf843 100644
|
| --- a/pkg/dev_compiler/lib/js/common/dart_sdk.js
|
| +++ b/pkg/dev_compiler/lib/js/common/dart_sdk.js
|
| @@ -110,6 +110,7 @@ let SetOfSendPort = () => (SetOfSendPort = dart.constFn(core.Set$(isolate$.SendP
|
| let ListOf_IsolateEvent = () => (ListOf_IsolateEvent = dart.constFn(core.List$(_isolate_helper._IsolateEvent)))();
|
| let QueueOf_IsolateEvent = () => (QueueOf_IsolateEvent = dart.constFn(collection.Queue$(_isolate_helper._IsolateEvent)))();
|
| let CompleterOfList = () => (CompleterOfList = dart.constFn(async.Completer$(core.List)))();
|
| +let FutureOrOfList = () => (FutureOrOfList = dart.constFn(async.FutureOr$(core.List)))();
|
| let dynamicTovoid = () => (dynamicTovoid = dart.constFn(dart.functionType(dart.void, [dart.dynamic])))();
|
| let StringTovoid = () => (StringTovoid = dart.constFn(dart.functionType(dart.void, [core.String])))();
|
| let ExpandoOfint = () => (ExpandoOfint = dart.constFn(core.Expando$(core.int)))();
|
| @@ -9838,7 +9839,7 @@ _isolate_helper.IsolateNatives = class IsolateNatives extends core.Object {
|
| let completer = CompleterOfList().new();
|
| port.first.then(dart.dynamic)(dart.fn(msg => {
|
| if (dart.equals(dart.dindex(msg, 0), _isolate_helper._SPAWNED_SIGNAL)) {
|
| - completer.complete(msg);
|
| + completer.complete(FutureOrOfList()._check(msg));
|
| } else {
|
| dart.assert(dart.equals(dart.dindex(msg, 0), _isolate_helper._SPAWN_FAILED_SIGNAL));
|
| completer.completeError(dart.dindex(msg, 1));
|
| @@ -18309,12 +18310,14 @@ async._Completer$ = dart.generic(T => {
|
| async._Completer = _Completer();
|
| const _asyncCompleteError = Symbol('_asyncCompleteError');
|
| async._AsyncCompleter$ = dart.generic(T => {
|
| + let FutureOrOfT = () => (FutureOrOfT = dart.constFn(async.FutureOr$(T)))();
|
| class _AsyncCompleter extends async._Completer$(T) {
|
| new() {
|
| super.new();
|
| }
|
| complete(value) {
|
| if (value === void 0) value = null;
|
| + FutureOrOfT()._check(value);
|
| if (!dart.test(this.future[_mayComplete])) dart.throw(new core.StateError("Future already completed"));
|
| this.future[_asyncComplete](value);
|
| }
|
| @@ -18324,7 +18327,7 @@ async._AsyncCompleter$ = dart.generic(T => {
|
| }
|
| dart.setSignature(_AsyncCompleter, {
|
| methods: () => ({
|
| - complete: dart.definiteFunctionType(dart.void, [], [dart.dynamic]),
|
| + complete: dart.definiteFunctionType(dart.void, [], [FutureOrOfT()]),
|
| [_completeError]: dart.definiteFunctionType(dart.void, [core.Object, core.StackTrace])
|
| })
|
| });
|
| @@ -18332,12 +18335,14 @@ async._AsyncCompleter$ = dart.generic(T => {
|
| });
|
| async._AsyncCompleter = _AsyncCompleter();
|
| async._SyncCompleter$ = dart.generic(T => {
|
| + let FutureOrOfT = () => (FutureOrOfT = dart.constFn(async.FutureOr$(T)))();
|
| class _SyncCompleter extends async._Completer$(T) {
|
| new() {
|
| super.new();
|
| }
|
| complete(value) {
|
| if (value === void 0) value = null;
|
| + FutureOrOfT()._check(value);
|
| if (!dart.test(this.future[_mayComplete])) dart.throw(new core.StateError("Future already completed"));
|
| this.future[_complete](value);
|
| }
|
| @@ -18347,7 +18352,7 @@ async._SyncCompleter$ = dart.generic(T => {
|
| }
|
| dart.setSignature(_SyncCompleter, {
|
| methods: () => ({
|
| - complete: dart.definiteFunctionType(dart.void, [], [dart.dynamic]),
|
| + complete: dart.definiteFunctionType(dart.void, [], [FutureOrOfT()]),
|
| [_completeError]: dart.definiteFunctionType(dart.void, [core.Object, core.StackTrace])
|
| })
|
| });
|
|
|