| OLD | NEW |
| 1 var isolate = dart.defineLibrary(isolate, {}); | 1 var isolate = dart.defineLibrary(isolate, {}); |
| 2 var core = dart.import(core); | 2 var core = dart.import(core); |
| 3 var _isolate_helper = dart.lazyImport(_isolate_helper); | 3 var _isolate_helper = dart.lazyImport(_isolate_helper); |
| 4 var async = dart.import(async); | 4 var async = dart.import(async); |
| 5 (function(exports, core, _isolate_helper, async) { | 5 (function(exports, core, _isolate_helper, async) { |
| 6 'use strict'; | 6 'use strict'; |
| 7 class Capability extends core.Object { | 7 class Capability extends core.Object { |
| 8 Capability() { | 8 Capability() { |
| 9 return new _isolate_helper.CapabilityImpl(); | 9 return new _isolate_helper.CapabilityImpl(); |
| 10 } | 10 } |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 this.controlPort = controlPort; | 26 this.controlPort = controlPort; |
| 27 this.pauseCapability = pauseCapability; | 27 this.pauseCapability = pauseCapability; |
| 28 this.terminateCapability = terminateCapability; | 28 this.terminateCapability = terminateCapability; |
| 29 } | 29 } |
| 30 static get current() { | 30 static get current() { |
| 31 return Isolate._currentIsolateCache; | 31 return Isolate._currentIsolateCache; |
| 32 } | 32 } |
| 33 static spawn(entryPoint, message, opts) { | 33 static spawn(entryPoint, message, opts) { |
| 34 let paused = opts && 'paused' in opts ? opts.paused : false; | 34 let paused = opts && 'paused' in opts ? opts.paused : false; |
| 35 try { | 35 try { |
| 36 return dart.as(_isolate_helper.IsolateNatives.spawnFunction(entryPoint,
message, paused).then(dart.fn(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)}), Isolate, [dart.dynamic])),
async.Future$(Isolate)); | 36 return dart.as(_isolate_helper.IsolateNatives.spawnFunction(entryPoint,
message, paused).then(dart.fn(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)}), Isolate, [core.Object])),
async.Future$(Isolate)); |
| 37 } catch (e) { | 37 } catch (e) { |
| 38 let st = dart.stackTrace(e); | 38 let st = dart.stackTrace(e); |
| 39 return new (async.Future$(Isolate)).error(e, st); | 39 return new (async.Future$(Isolate)).error(e, st); |
| 40 } | 40 } |
| 41 | 41 |
| 42 } | 42 } |
| 43 static spawnUri(uri, args, message, opts) { | 43 static spawnUri(uri, args, message, opts) { |
| 44 let paused = opts && 'paused' in opts ? opts.paused : false; | 44 let paused = opts && 'paused' in opts ? opts.paused : false; |
| 45 let packageRoot = opts && 'packageRoot' in opts ? opts.packageRoot : null; | 45 let packageRoot = opts && 'packageRoot' in opts ? opts.packageRoot : null; |
| 46 if (packageRoot != null) | 46 if (packageRoot != null) |
| 47 throw new core.UnimplementedError("packageRoot"); | 47 throw new core.UnimplementedError("packageRoot"); |
| 48 try { | 48 try { |
| 49 if (dart.is(args, core.List)) { | 49 if (dart.is(args, core.List)) { |
| 50 for (let i = 0; dart.notNull(i) < dart.notNull(args[core.$length]); i
= dart.notNull(i) + 1) { | 50 for (let i = 0; dart.notNull(i) < dart.notNull(args[core.$length]); i
= dart.notNull(i) + 1) { |
| 51 if (!(typeof args[core.$get](i) == 'string')) { | 51 if (!(typeof args[core.$get](i) == 'string')) { |
| 52 throw new core.ArgumentError(`Args must be a list of Strings ${arg
s}`); | 52 throw new core.ArgumentError(`Args must be a list of Strings ${arg
s}`); |
| 53 } | 53 } |
| 54 } | 54 } |
| 55 } else if (args != null) { | 55 } else if (args != null) { |
| 56 throw new core.ArgumentError(`Args must be a list of Strings ${args}`)
; | 56 throw new core.ArgumentError(`Args must be a list of Strings ${args}`)
; |
| 57 } | 57 } |
| 58 return dart.as(_isolate_helper.IsolateNatives.spawnUri(uri, args, messag
e, paused).then(dart.fn(msg => new Isolate(dart.as(dart.dindex(msg, 1), SendPort
), {pauseCapability: dart.as(dart.dindex(msg, 2), Capability), terminateCapabili
ty: dart.as(dart.dindex(msg, 3), Capability)}), Isolate, [dart.dynamic])), async
.Future$(Isolate)); | 58 return dart.as(_isolate_helper.IsolateNatives.spawnUri(uri, args, messag
e, paused).then(dart.fn(msg => new Isolate(dart.as(dart.dindex(msg, 1), SendPort
), {pauseCapability: dart.as(dart.dindex(msg, 2), Capability), terminateCapabili
ty: dart.as(dart.dindex(msg, 3), Capability)}), Isolate, [core.Object])), async.
Future$(Isolate)); |
| 59 } catch (e) { | 59 } catch (e) { |
| 60 let st = dart.stackTrace(e); | 60 let st = dart.stackTrace(e); |
| 61 return new (async.Future$(Isolate)).error(e, st); | 61 return new (async.Future$(Isolate)).error(e, st); |
| 62 } | 62 } |
| 63 | 63 |
| 64 } | 64 } |
| 65 pause(resumeCapability) { | 65 pause(resumeCapability) { |
| 66 if (resumeCapability === void 0) | 66 if (resumeCapability === void 0) |
| 67 resumeCapability = null; | 67 resumeCapability = null; |
| 68 if (resumeCapability == null) | 68 if (resumeCapability == null) |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 } | 130 } |
| 131 get errors() { | 131 get errors() { |
| 132 let controller = null; | 132 let controller = null; |
| 133 let port = null; | 133 let port = null; |
| 134 let handleError = message => { | 134 let handleError = message => { |
| 135 let errorDescription = dart.as(dart.dindex(message, 0), core.String); | 135 let errorDescription = dart.as(dart.dindex(message, 0), core.String); |
| 136 let stackDescription = dart.as(dart.dindex(message, 1), core.String); | 136 let stackDescription = dart.as(dart.dindex(message, 1), core.String); |
| 137 let error = new RemoteError(errorDescription, stackDescription); | 137 let error = new RemoteError(errorDescription, stackDescription); |
| 138 controller.addError(error, error.stackTrace); | 138 controller.addError(error, error.stackTrace); |
| 139 }; | 139 }; |
| 140 dart.fn(handleError, dart.void, [dart.dynamic]); | 140 dart.fn(handleError, dart.void, [core.Object]); |
| 141 controller = new async.StreamController.broadcast({sync: true, onListen: d
art.fn((() => { | 141 controller = new async.StreamController.broadcast({sync: true, onListen: d
art.fn((() => { |
| 142 port = new RawReceivePort(handleError); | 142 port = new RawReceivePort(handleError); |
| 143 this.addErrorListener(port.sendPort); | 143 this.addErrorListener(port.sendPort); |
| 144 }).bind(this)), onCancel: dart.fn((() => { | 144 }).bind(this)), onCancel: dart.fn((() => { |
| 145 this.removeErrorListener(port.sendPort); | 145 this.removeErrorListener(port.sendPort); |
| 146 port.close(); | 146 port.close(); |
| 147 port = null; | 147 port = null; |
| 148 }).bind(this))}); | 148 }).bind(this))}); |
| 149 return controller.stream; | 149 return controller.stream; |
| 150 } | 150 } |
| 151 } | 151 } |
| 152 dart.setSignature(Isolate, { | 152 dart.setSignature(Isolate, { |
| 153 methods: () => ({ | 153 methods: () => ({ |
| 154 pause: dart.functionType(Capability, [], [Capability]), | 154 pause: dart.functionType(Capability, [], [Capability]), |
| 155 [_pause]: dart.functionType(dart.void, [Capability]), | 155 [_pause]: dart.functionType(dart.void, [Capability]), |
| 156 resume: dart.functionType(dart.void, [Capability]), | 156 resume: dart.functionType(dart.void, [Capability]), |
| 157 addOnExitListener: dart.functionType(dart.void, [SendPort]), | 157 addOnExitListener: dart.functionType(dart.void, [SendPort]), |
| 158 removeOnExitListener: dart.functionType(dart.void, [SendPort]), | 158 removeOnExitListener: dart.functionType(dart.void, [SendPort]), |
| 159 setErrorsFatal: dart.functionType(dart.void, [core.bool]), | 159 setErrorsFatal: dart.functionType(dart.void, [core.bool]), |
| 160 kill: dart.functionType(dart.void, [], [core.int]), | 160 kill: dart.functionType(dart.void, [], [core.int]), |
| 161 ping: dart.functionType(dart.void, [SendPort], [core.int]), | 161 ping: dart.functionType(dart.void, [SendPort], [core.int]), |
| 162 addErrorListener: dart.functionType(dart.void, [SendPort]), | 162 addErrorListener: dart.functionType(dart.void, [SendPort]), |
| 163 removeErrorListener: dart.functionType(dart.void, [SendPort]) | 163 removeErrorListener: dart.functionType(dart.void, [SendPort]) |
| 164 }), | 164 }), |
| 165 statics: () => ({ | 165 statics: () => ({ |
| 166 spawn: dart.functionType(async.Future$(Isolate), [dart.functionType(dart.v
oid, [dart.dynamic]), dart.dynamic], {ause: core.bool}), | 166 spawn: dart.functionType(async.Future$(Isolate), [dart.functionType(dart.v
oid, [dart.bottom]), core.Object], {ause: core.bool}), |
| 167 spawnUri: dart.functionType(async.Future$(Isolate), [core.Uri, core.List$(
core.String), dart.dynamic], {ause: core.bool, ackageRoo: core.Uri}) | 167 spawnUri: dart.functionType(async.Future$(Isolate), [core.Uri, core.List$(
core.String), core.Object], {ause: core.bool, ackageRoo: core.Uri}) |
| 168 }), | 168 }), |
| 169 names: ['spawn', 'spawnUri'] | 169 names: ['spawn', 'spawnUri'] |
| 170 }); | 170 }); |
| 171 Isolate.IMMEDIATE = 0; | 171 Isolate.IMMEDIATE = 0; |
| 172 Isolate.BEFORE_NEXT_EVENT = 1; | 172 Isolate.BEFORE_NEXT_EVENT = 1; |
| 173 Isolate.AS_EVENT = 2; | 173 Isolate.AS_EVENT = 2; |
| 174 dart.defineLazyProperties(Isolate, { | 174 dart.defineLazyProperties(Isolate, { |
| 175 get _currentIsolateCache() { | 175 get _currentIsolateCache() { |
| 176 return _isolate_helper.IsolateNatives.currentIsolate; | 176 return _isolate_helper.IsolateNatives.currentIsolate; |
| 177 } | 177 } |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 229 _RemoteStackTrace[dart.implements] = () => [core.StackTrace]; | 229 _RemoteStackTrace[dart.implements] = () => [core.StackTrace]; |
| 230 // Exports: | 230 // Exports: |
| 231 exports.Capability = Capability; | 231 exports.Capability = Capability; |
| 232 exports.IsolateSpawnException = IsolateSpawnException; | 232 exports.IsolateSpawnException = IsolateSpawnException; |
| 233 exports.Isolate = Isolate; | 233 exports.Isolate = Isolate; |
| 234 exports.SendPort = SendPort; | 234 exports.SendPort = SendPort; |
| 235 exports.ReceivePort = ReceivePort; | 235 exports.ReceivePort = ReceivePort; |
| 236 exports.RawReceivePort = RawReceivePort; | 236 exports.RawReceivePort = RawReceivePort; |
| 237 exports.RemoteError = RemoteError; | 237 exports.RemoteError = RemoteError; |
| 238 })(isolate, core, _isolate_helper, async); | 238 })(isolate, core, _isolate_helper, async); |
| OLD | NEW |