| OLD | NEW |
| 1 dart_library.library('dart/isolate', null, /* Imports */[ | 1 dart_library.library('dart/isolate', null, /* Imports */[ |
| 2 "dart/_runtime", | 2 "dart/_runtime", |
| 3 'dart/core', | 3 'dart/core', |
| 4 'dart/async' | 4 'dart/async' |
| 5 ], /* Lazy imports */[ | 5 ], /* Lazy imports */[ |
| 6 'dart/_isolate_helper' | 6 'dart/_isolate_helper' |
| 7 ], function(exports, dart, core, async, _isolate_helper) { | 7 ], function(exports, dart, core, async, _isolate_helper) { |
| 8 'use strict'; | 8 'use strict'; |
| 9 let dartx = dart.dartx; | 9 let dartx = dart.dartx; |
| 10 class Capability extends core.Object { | 10 class Capability extends core.Object { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 toString() { | 22 toString() { |
| 23 return `IsolateSpawnException: ${this.message}`; | 23 return `IsolateSpawnException: ${this.message}`; |
| 24 } | 24 } |
| 25 } | 25 } |
| 26 IsolateSpawnException[dart.implements] = () => [core.Exception]; | 26 IsolateSpawnException[dart.implements] = () => [core.Exception]; |
| 27 dart.setSignature(IsolateSpawnException, { | 27 dart.setSignature(IsolateSpawnException, { |
| 28 constructors: () => ({IsolateSpawnException: [IsolateSpawnException, [core.S
tring]]}) | 28 constructors: () => ({IsolateSpawnException: [IsolateSpawnException, [core.S
tring]]}) |
| 29 }); | 29 }); |
| 30 const _pause = Symbol('_pause'); | 30 const _pause = Symbol('_pause'); |
| 31 class Isolate extends core.Object { | 31 class Isolate extends core.Object { |
| 32 Isolate(controlPort, opts) { | 32 Isolate(controlPort, {pauseCapability = null, terminateCapability = null} =
{}) { |
| 33 let pauseCapability = opts && 'pauseCapability' in opts ? opts.pauseCapabi
lity : null; | |
| 34 let terminateCapability = opts && 'terminateCapability' in opts ? opts.ter
minateCapability : null; | |
| 35 this.controlPort = controlPort; | 33 this.controlPort = controlPort; |
| 36 this.pauseCapability = pauseCapability; | 34 this.pauseCapability = pauseCapability; |
| 37 this.terminateCapability = terminateCapability; | 35 this.terminateCapability = terminateCapability; |
| 38 } | 36 } |
| 39 static get current() { | 37 static get current() { |
| 40 return Isolate._currentIsolateCache; | 38 return Isolate._currentIsolateCache; |
| 41 } | 39 } |
| 42 static spawn(entryPoint, message, opts) { | 40 static spawn(entryPoint, message, {paused = false} = {}) { |
| 43 let paused = opts && 'paused' in opts ? opts.paused : false; | |
| 44 try { | 41 try { |
| 45 return _isolate_helper.IsolateNatives.spawnFunction(entryPoint, message,
paused).then(dart.fn(msg => new Isolate(dart.as(dart.dindex(msg, 1), SendPort),
{pauseCapability: dart.as(dart.dindex(msg, 2), Capability), terminateCapability
: dart.as(dart.dindex(msg, 3), Capability)}), Isolate, [dart.dynamic])); | 42 return _isolate_helper.IsolateNatives.spawnFunction(entryPoint, message,
paused).then(dart.fn(msg => new Isolate(dart.as(dart.dindex(msg, 1), SendPort),
{pauseCapability: dart.as(dart.dindex(msg, 2), Capability), terminateCapability
: dart.as(dart.dindex(msg, 3), Capability)}), Isolate, [dart.dynamic])); |
| 46 } catch (e) { | 43 } catch (e) { |
| 47 let st = dart.stackTrace(e); | 44 let st = dart.stackTrace(e); |
| 48 return async.Future$(Isolate).error(e, st); | 45 return async.Future$(Isolate).error(e, st); |
| 49 } | 46 } |
| 50 | 47 |
| 51 } | 48 } |
| 52 static spawnUri(uri, args, message, opts) { | 49 static spawnUri(uri, args, message, {paused = false, packageRoot = null} = {
}) { |
| 53 let paused = opts && 'paused' in opts ? opts.paused : false; | |
| 54 let packageRoot = opts && 'packageRoot' in opts ? opts.packageRoot : null; | |
| 55 if (packageRoot != null) | 50 if (packageRoot != null) |
| 56 dart.throw(new core.UnimplementedError("packageRoot")); | 51 dart.throw(new core.UnimplementedError("packageRoot")); |
| 57 try { | 52 try { |
| 58 if (dart.is(args, core.List)) { | 53 if (dart.is(args, core.List)) { |
| 59 for (let i = 0; dart.notNull(i) < dart.notNull(args[dartx.length]); i
= dart.notNull(i) + 1) { | 54 for (let i = 0; dart.notNull(i) < dart.notNull(args[dartx.length]); i
= dart.notNull(i) + 1) { |
| 60 if (!(typeof args[dartx.get](i) == 'string')) { | 55 if (!(typeof args[dartx.get](i) == 'string')) { |
| 61 dart.throw(new core.ArgumentError(`Args must be a list of Strings
${args}`)); | 56 dart.throw(new core.ArgumentError(`Args must be a list of Strings
${args}`)); |
| 62 } | 57 } |
| 63 } | 58 } |
| 64 } else if (args != null) { | 59 } else if (args != null) { |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 }); | 251 }); |
| 257 // Exports: | 252 // Exports: |
| 258 exports.Capability = Capability; | 253 exports.Capability = Capability; |
| 259 exports.IsolateSpawnException = IsolateSpawnException; | 254 exports.IsolateSpawnException = IsolateSpawnException; |
| 260 exports.Isolate = Isolate; | 255 exports.Isolate = Isolate; |
| 261 exports.SendPort = SendPort; | 256 exports.SendPort = SendPort; |
| 262 exports.ReceivePort = ReceivePort; | 257 exports.ReceivePort = ReceivePort; |
| 263 exports.RawReceivePort = RawReceivePort; | 258 exports.RawReceivePort = RawReceivePort; |
| 264 exports.RemoteError = RemoteError; | 259 exports.RemoteError = RemoteError; |
| 265 }); | 260 }); |
| OLD | NEW |