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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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])); | 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])); |
46 } catch (e) { | 46 } catch (e) { |
47 let st = dart.stackTrace(e); | 47 let st = dart.stackTrace(e); |
48 return async.Future$(Isolate).error(e, st); | 48 return async.Future$(Isolate).error(e, st); |
49 } | 49 } |
50 | 50 |
51 } | 51 } |
52 static spawnUri(uri, args, message, opts) { | 52 static spawnUri(uri, args, message, opts) { |
53 let paused = opts && 'paused' in opts ? opts.paused : false; | 53 let paused = opts && 'paused' in opts ? opts.paused : false; |
54 let packageRoot = opts && 'packageRoot' in opts ? opts.packageRoot : null; | 54 let packageRoot = opts && 'packageRoot' in opts ? opts.packageRoot : null; |
55 if (packageRoot != null) | 55 if (packageRoot != null) dart.throw(new core.UnimplementedError("packageRo
ot")); |
56 dart.throw(new core.UnimplementedError("packageRoot")); | |
57 try { | 56 try { |
58 if (dart.is(args, core.List)) { | 57 if (dart.is(args, core.List)) { |
59 for (let i = 0; dart.notNull(i) < dart.notNull(args[dartx.length]); i
= dart.notNull(i) + 1) { | 58 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')) { | 59 if (!(typeof args[dartx.get](i) == 'string')) { |
61 dart.throw(new core.ArgumentError(`Args must be a list of Strings
${args}`)); | 60 dart.throw(new core.ArgumentError(`Args must be a list of Strings
${args}`)); |
62 } | 61 } |
63 } | 62 } |
64 } else if (args != null) { | 63 } else if (args != null) { |
65 dart.throw(new core.ArgumentError(`Args must be a list of Strings ${ar
gs}`)); | 64 dart.throw(new core.ArgumentError(`Args must be a list of Strings ${ar
gs}`)); |
66 } | 65 } |
67 return _isolate_helper.IsolateNatives.spawnUri(uri, args, message, pause
d).then(dart.fn(msg => new Isolate(dart.as(dart.dindex(msg, 1), SendPort), {paus
eCapability: dart.as(dart.dindex(msg, 2), Capability), terminateCapability: dart
.as(dart.dindex(msg, 3), Capability)}), Isolate, [dart.dynamic])); | 66 return _isolate_helper.IsolateNatives.spawnUri(uri, args, message, pause
d).then(dart.fn(msg => new Isolate(dart.as(dart.dindex(msg, 1), SendPort), {paus
eCapability: dart.as(dart.dindex(msg, 2), Capability), terminateCapability: dart
.as(dart.dindex(msg, 3), Capability)}), Isolate, [dart.dynamic])); |
68 } catch (e) { | 67 } catch (e) { |
69 let st = dart.stackTrace(e); | 68 let st = dart.stackTrace(e); |
70 return async.Future$(Isolate).error(e, st); | 69 return async.Future$(Isolate).error(e, st); |
71 } | 70 } |
72 | 71 |
73 } | 72 } |
74 pause(resumeCapability) { | 73 pause(resumeCapability) { |
75 if (resumeCapability === void 0) | 74 if (resumeCapability === void 0) resumeCapability = null; |
76 resumeCapability = null; | 75 if (resumeCapability == null) resumeCapability = Capability.new(); |
77 if (resumeCapability == null) | |
78 resumeCapability = Capability.new(); | |
79 this[_pause](resumeCapability); | 76 this[_pause](resumeCapability); |
80 return resumeCapability; | 77 return resumeCapability; |
81 } | 78 } |
82 [_pause](resumeCapability) { | 79 [_pause](resumeCapability) { |
83 let message = core.List.new(3); | 80 let message = core.List.new(3); |
84 message[dartx.set](0, "pause"); | 81 message[dartx.set](0, "pause"); |
85 message[dartx.set](1, this.pauseCapability); | 82 message[dartx.set](1, this.pauseCapability); |
86 message[dartx.set](2, resumeCapability); | 83 message[dartx.set](2, resumeCapability); |
87 this.controlPort.send(message); | 84 this.controlPort.send(message); |
88 } | 85 } |
(...skipping 16 matching lines...) Expand all Loading... |
105 this.controlPort.send(message); | 102 this.controlPort.send(message); |
106 } | 103 } |
107 setErrorsFatal(errorsAreFatal) { | 104 setErrorsFatal(errorsAreFatal) { |
108 let message = core.List.new(3); | 105 let message = core.List.new(3); |
109 message[dartx.set](0, "set-errors-fatal"); | 106 message[dartx.set](0, "set-errors-fatal"); |
110 message[dartx.set](1, this.terminateCapability); | 107 message[dartx.set](1, this.terminateCapability); |
111 message[dartx.set](2, errorsAreFatal); | 108 message[dartx.set](2, errorsAreFatal); |
112 this.controlPort.send(message); | 109 this.controlPort.send(message); |
113 } | 110 } |
114 kill(priority) { | 111 kill(priority) { |
115 if (priority === void 0) | 112 if (priority === void 0) priority = Isolate.BEFORE_NEXT_EVENT; |
116 priority = Isolate.BEFORE_NEXT_EVENT; | |
117 this.controlPort.send(["kill", this.terminateCapability, priority]); | 113 this.controlPort.send(["kill", this.terminateCapability, priority]); |
118 } | 114 } |
119 ping(responsePort, pingType) { | 115 ping(responsePort, pingType) { |
120 if (pingType === void 0) | 116 if (pingType === void 0) pingType = Isolate.IMMEDIATE; |
121 pingType = Isolate.IMMEDIATE; | |
122 let message = core.List.new(3); | 117 let message = core.List.new(3); |
123 message[dartx.set](0, "ping"); | 118 message[dartx.set](0, "ping"); |
124 message[dartx.set](1, responsePort); | 119 message[dartx.set](1, responsePort); |
125 message[dartx.set](2, pingType); | 120 message[dartx.set](2, pingType); |
126 this.controlPort.send(message); | 121 this.controlPort.send(message); |
127 } | 122 } |
128 addErrorListener(port) { | 123 addErrorListener(port) { |
129 let message = core.List.new(2); | 124 let message = core.List.new(2); |
130 message[dartx.set](0, "getErrors"); | 125 message[dartx.set](0, "getErrors"); |
131 message[dartx.set](1, port); | 126 message[dartx.set](1, port); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 } | 193 } |
199 ReceivePort[dart.implements] = () => [async.Stream]; | 194 ReceivePort[dart.implements] = () => [async.Stream]; |
200 dart.setSignature(ReceivePort, { | 195 dart.setSignature(ReceivePort, { |
201 constructors: () => ({ | 196 constructors: () => ({ |
202 new: [ReceivePort, []], | 197 new: [ReceivePort, []], |
203 fromRawReceivePort: [ReceivePort, [RawReceivePort]] | 198 fromRawReceivePort: [ReceivePort, [RawReceivePort]] |
204 }) | 199 }) |
205 }); | 200 }); |
206 class RawReceivePort extends core.Object { | 201 class RawReceivePort extends core.Object { |
207 static new(handler) { | 202 static new(handler) { |
208 if (handler === void 0) | 203 if (handler === void 0) handler = null; |
209 handler = null; | |
210 return new _isolate_helper.RawReceivePortImpl(handler); | 204 return new _isolate_helper.RawReceivePortImpl(handler); |
211 } | 205 } |
212 } | 206 } |
213 dart.setSignature(RawReceivePort, { | 207 dart.setSignature(RawReceivePort, { |
214 constructors: () => ({new: [RawReceivePort, [], [dart.functionType(dart.void
, [dart.dynamic])]]}) | 208 constructors: () => ({new: [RawReceivePort, [], [dart.functionType(dart.void
, [dart.dynamic])]]}) |
215 }); | 209 }); |
216 class _IsolateUnhandledException extends core.Object { | 210 class _IsolateUnhandledException extends core.Object { |
217 _IsolateUnhandledException(message, source, stackTrace) { | 211 _IsolateUnhandledException(message, source, stackTrace) { |
218 this.message = message; | 212 this.message = message; |
219 this.source = source; | 213 this.source = source; |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 }); | 250 }); |
257 // Exports: | 251 // Exports: |
258 exports.Capability = Capability; | 252 exports.Capability = Capability; |
259 exports.IsolateSpawnException = IsolateSpawnException; | 253 exports.IsolateSpawnException = IsolateSpawnException; |
260 exports.Isolate = Isolate; | 254 exports.Isolate = Isolate; |
261 exports.SendPort = SendPort; | 255 exports.SendPort = SendPort; |
262 exports.ReceivePort = ReceivePort; | 256 exports.ReceivePort = ReceivePort; |
263 exports.RawReceivePort = RawReceivePort; | 257 exports.RawReceivePort = RawReceivePort; |
264 exports.RemoteError = RemoteError; | 258 exports.RemoteError = RemoteError; |
265 }); | 259 }); |
OLD | NEW |