Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(514)

Side by Side Diff: lib/runtime/dart/isolate.js

Issue 1132113003: fixes #177, FunctionDeclarationStatement and closing over `this` (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 removeErrorListener(port) { 125 removeErrorListener(port) {
126 let message = new core.List(2); 126 let message = new core.List(2);
127 message[core.$set](0, "stopErrors"); 127 message[core.$set](0, "stopErrors");
128 message[core.$set](1, port); 128 message[core.$set](1, port);
129 this.controlPort.send(message); 129 this.controlPort.send(message);
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 // Function handleError: (dynamic) → void 134 // Function handleError: (dynamic) → void
135 function handleError(message) { 135 let handleError = message => {
136 let errorDescription = dart.as(dart.dindex(message, 0), core.String); 136 let errorDescription = dart.as(dart.dindex(message, 0), core.String);
137 let stackDescription = dart.as(dart.dindex(message, 1), core.String); 137 let stackDescription = dart.as(dart.dindex(message, 1), core.String);
138 let error = new RemoteError(errorDescription, stackDescription); 138 let error = new RemoteError(errorDescription, stackDescription);
139 controller.addError(error, error.stackTrace); 139 controller.addError(error, error.stackTrace);
140 } 140 };
141 controller = new async.StreamController.broadcast({ 141 controller = new async.StreamController.broadcast({
142 sync: true, 142 sync: true,
143 onListen: (() => { 143 onListen: (() => {
144 port = new RawReceivePort(handleError); 144 port = new RawReceivePort(handleError);
145 this.addErrorListener(port.sendPort); 145 this.addErrorListener(port.sendPort);
146 }).bind(this), 146 }).bind(this),
147 onCancel: (() => { 147 onCancel: (() => {
148 this.removeErrorListener(port.sendPort); 148 this.removeErrorListener(port.sendPort);
149 port.close(); 149 port.close();
150 port = null; 150 port = null;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 _RemoteStackTrace[dart.implements] = () => [core.StackTrace]; 214 _RemoteStackTrace[dart.implements] = () => [core.StackTrace];
215 // Exports: 215 // Exports:
216 exports.Capability = Capability; 216 exports.Capability = Capability;
217 exports.IsolateSpawnException = IsolateSpawnException; 217 exports.IsolateSpawnException = IsolateSpawnException;
218 exports.Isolate = Isolate; 218 exports.Isolate = Isolate;
219 exports.SendPort = SendPort; 219 exports.SendPort = SendPort;
220 exports.ReceivePort = ReceivePort; 220 exports.ReceivePort = ReceivePort;
221 exports.RawReceivePort = RawReceivePort; 221 exports.RawReceivePort = RawReceivePort;
222 exports.RemoteError = RemoteError; 222 exports.RemoteError = RemoteError;
223 })(isolate, core, _isolate_helper, async); 223 })(isolate, core, _isolate_helper, async);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698