OLD | NEW |
1 var isolate; | 1 var isolate; |
2 (function(exports) { | 2 (function(exports) { |
3 'use strict'; | 3 'use strict'; |
4 class Capability extends core.Object { | 4 class Capability extends core.Object { |
5 Capability() { | 5 Capability() { |
6 return new _isolate_helper.CapabilityImpl(); | 6 return new _isolate_helper.CapabilityImpl(); |
7 } | 7 } |
8 } | 8 } |
| 9 let message$ = Symbol('message'); |
9 class IsolateSpawnException extends core.Object { | 10 class IsolateSpawnException extends core.Object { |
| 11 get message() { |
| 12 return this[message$]; |
| 13 } |
10 IsolateSpawnException(message) { | 14 IsolateSpawnException(message) { |
11 this.message = message; | 15 this[message$] = message; |
12 } | 16 } |
13 toString() { | 17 toString() { |
14 return `IsolateSpawnException: ${this.message}`; | 18 return `IsolateSpawnException: ${this.message}`; |
15 } | 19 } |
16 } | 20 } |
17 IsolateSpawnException[dart.implements] = () => [core.Exception]; | 21 IsolateSpawnException[dart.implements] = () => [core.Exception]; |
| 22 let controlPort$ = Symbol('controlPort'); |
| 23 let pauseCapability$ = Symbol('pauseCapability'); |
| 24 let terminateCapability$ = Symbol('terminateCapability'); |
18 let _currentIsolateCache = Symbol('_currentIsolateCache'); | 25 let _currentIsolateCache = Symbol('_currentIsolateCache'); |
19 let _pause = Symbol('_pause'); | 26 let _pause = Symbol('_pause'); |
20 class Isolate extends core.Object { | 27 class Isolate extends core.Object { |
| 28 get controlPort() { |
| 29 return this[controlPort$]; |
| 30 } |
| 31 get pauseCapability() { |
| 32 return this[pauseCapability$]; |
| 33 } |
| 34 get terminateCapability() { |
| 35 return this[terminateCapability$]; |
| 36 } |
21 Isolate(controlPort, opts) { | 37 Isolate(controlPort, opts) { |
22 let pauseCapability = opts && 'pauseCapability' in opts ? opts.pauseCapabi
lity : null; | 38 let pauseCapability = opts && 'pauseCapability' in opts ? opts.pauseCapabi
lity : null; |
23 let terminateCapability = opts && 'terminateCapability' in opts ? opts.ter
minateCapability : null; | 39 let terminateCapability = opts && 'terminateCapability' in opts ? opts.ter
minateCapability : null; |
24 this.controlPort = controlPort; | 40 this[controlPort$] = controlPort; |
25 this.pauseCapability = pauseCapability; | 41 this[pauseCapability$] = pauseCapability; |
26 this.terminateCapability = terminateCapability; | 42 this[terminateCapability$] = terminateCapability; |
27 } | 43 } |
28 static get current() { | 44 static get current() { |
29 return Isolate[_currentIsolateCache]; | 45 return Isolate[_currentIsolateCache]; |
30 } | 46 } |
31 static spawn(entryPoint, message, opts) { | 47 static spawn(entryPoint, message, opts) { |
32 let paused = opts && 'paused' in opts ? opts.paused : false; | 48 let paused = opts && 'paused' in opts ? opts.paused : false; |
33 try { | 49 try { |
34 return dart.as(_isolate_helper.IsolateNatives.spawnFunction(entryPoint,
message, paused).then(dart.as(msg => new Isolate(dart.as(dart.dindex(msg, 1), Se
ndPort), {pauseCapability: dart.as(dart.dindex(msg, 2), Capability), terminateCa
pability: dart.as(dart.dindex(msg, 3), Capability)}), dart.functionType(dart.dyn
amic, [core.List]))), async.Future$(Isolate)); | 50 return dart.as(_isolate_helper.IsolateNatives.spawnFunction(entryPoint,
message, paused).then(dart.as(msg => new Isolate(dart.as(dart.dindex(msg, 1), Se
ndPort), {pauseCapability: dart.as(dart.dindex(msg, 2), Capability), terminateCa
pability: dart.as(dart.dindex(msg, 3), Capability)}), dart.functionType(dart.dyn
amic, [core.List]))), async.Future$(Isolate)); |
35 } catch (e) { | 51 } catch (e) { |
36 let st = dart.stackTrace(e); | 52 let st = dart.stackTrace(e); |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 _IsolateUnhandledException(message, source, stackTrace) { | 198 _IsolateUnhandledException(message, source, stackTrace) { |
183 this.message = message; | 199 this.message = message; |
184 this.source = source; | 200 this.source = source; |
185 this.stackTrace = stackTrace; | 201 this.stackTrace = stackTrace; |
186 } | 202 } |
187 toString() { | 203 toString() { |
188 return 'IsolateUnhandledException: exception while handling message: ' + `
${this.message} \n ` + `${this.source.toString().replaceAll("\n", "\n ")}\n` +
'original stack trace:\n ' + `${this.stackTrace.toString().replaceAll("\n", "\
n ")}`; | 204 return 'IsolateUnhandledException: exception while handling message: ' + `
${this.message} \n ` + `${this.source.toString().replaceAll("\n", "\n ")}\n` +
'original stack trace:\n ' + `${this.stackTrace.toString().replaceAll("\n", "\
n ")}`; |
189 } | 205 } |
190 } | 206 } |
191 _IsolateUnhandledException[dart.implements] = () => [core.Exception]; | 207 _IsolateUnhandledException[dart.implements] = () => [core.Exception]; |
| 208 let stackTrace = Symbol('stackTrace'); |
192 let _description = Symbol('_description'); | 209 let _description = Symbol('_description'); |
193 class RemoteError extends core.Object { | 210 class RemoteError extends core.Object { |
| 211 get stackTrace() { |
| 212 return this[stackTrace]; |
| 213 } |
194 RemoteError(description, stackDescription) { | 214 RemoteError(description, stackDescription) { |
195 this[_description] = description; | 215 this[_description] = description; |
196 this.stackTrace = new _RemoteStackTrace(stackDescription); | 216 this[stackTrace] = new _RemoteStackTrace(stackDescription); |
197 } | 217 } |
198 toString() { | 218 toString() { |
199 return this[_description]; | 219 return this[_description]; |
200 } | 220 } |
201 } | 221 } |
202 RemoteError[dart.implements] = () => [core.Error]; | 222 RemoteError[dart.implements] = () => [core.Error]; |
203 let _trace = Symbol('_trace'); | 223 let _trace = Symbol('_trace'); |
204 class _RemoteStackTrace extends core.Object { | 224 class _RemoteStackTrace extends core.Object { |
205 _RemoteStackTrace(trace) { | 225 _RemoteStackTrace(trace) { |
206 this[_trace] = trace; | 226 this[_trace] = trace; |
207 } | 227 } |
208 toString() { | 228 toString() { |
209 return this[_trace]; | 229 return this[_trace]; |
210 } | 230 } |
211 } | 231 } |
212 _RemoteStackTrace[dart.implements] = () => [core.StackTrace]; | 232 _RemoteStackTrace[dart.implements] = () => [core.StackTrace]; |
213 // Exports: | 233 // Exports: |
214 exports.Capability = Capability; | 234 exports.Capability = Capability; |
215 exports.IsolateSpawnException = IsolateSpawnException; | 235 exports.IsolateSpawnException = IsolateSpawnException; |
216 exports.Isolate = Isolate; | 236 exports.Isolate = Isolate; |
217 exports.SendPort = SendPort; | 237 exports.SendPort = SendPort; |
218 exports.ReceivePort = ReceivePort; | 238 exports.ReceivePort = ReceivePort; |
219 exports.RawReceivePort = RawReceivePort; | 239 exports.RawReceivePort = RawReceivePort; |
220 exports.RemoteError = RemoteError; | 240 exports.RemoteError = RemoteError; |
221 })(isolate || (isolate = {})); | 241 })(isolate || (isolate = {})); |
OLD | NEW |