| Index: pkg/dev_compiler/lib/js/es6/dart_sdk.js
|
| diff --git a/pkg/dev_compiler/lib/js/es6/dart_sdk.js b/pkg/dev_compiler/lib/js/es6/dart_sdk.js
|
| index 3b8dcbc6e569609eda1ee53ae85b13f4bbd333f9..29dafa9e87d05e2fed73e1a082ec435ae3fabb8a 100644
|
| --- a/pkg/dev_compiler/lib/js/es6/dart_sdk.js
|
| +++ b/pkg/dev_compiler/lib/js/es6/dart_sdk.js
|
| @@ -109,6 +109,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)))();
|
| @@ -9837,7 +9838,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));
|
| @@ -18308,12 +18309,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);
|
| }
|
| @@ -18323,7 +18326,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])
|
| })
|
| });
|
| @@ -18331,12 +18334,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);
|
| }
|
| @@ -18346,7 +18351,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])
|
| })
|
| });
|
|
|