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

Side by Side Diff: lib/runtime/_classes.js

Issue 1243503007: fixes #221, initial sync*, async, async* implementation (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 4 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
« no previous file with comments | « karma.conf.js ('k') | lib/runtime/_generators.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /* This library defines the operations that define and manipulate Dart 5 /* This library defines the operations that define and manipulate Dart
6 * classes. Included in this are: 6 * classes. Included in this are:
7 * - Generics 7 * - Generics
8 * - Class metadata 8 * - Class metadata
9 * - Extension methods 9 * - Extension methods
10 */ 10 */
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 let sig = originalSigFn(); 375 let sig = originalSigFn();
376 for (let name of methodNames) { 376 for (let name of methodNames) {
377 sig[getExtensionSymbol(name)] = sig[name]; 377 sig[getExtensionSymbol(name)] = sig[name];
378 } 378 }
379 return sig; 379 return sig;
380 }); 380 });
381 } 381 }
382 exports.defineExtensionMembers = defineExtensionMembers; 382 exports.defineExtensionMembers = defineExtensionMembers;
383 383
384 function canonicalMember(obj, name) { 384 function canonicalMember(obj, name) {
385 if (obj[_extensionType]) return dartx[name]; 385 if (obj != null && obj[_extensionType]) return dartx[name];
386 return name; 386 return name;
387 } 387 }
388 exports.canonicalMember = canonicalMember; 388 exports.canonicalMember = canonicalMember;
389 389
390 /** Sets the type of `obj` to be `type` */ 390 /** Sets the type of `obj` to be `type` */
391 function setType(obj, type) { 391 function setType(obj, type) {
392 obj.__proto__ = type.prototype; 392 obj.__proto__ = type.prototype;
393 return obj; 393 return obj;
394 } 394 }
395 395
396 /** Sets the element type of a list literal. */ 396 /** Sets the element type of a list literal. */
397 function list(obj, elementType) { 397 function list(obj, elementType) {
398 return setType(obj, _interceptors.JSArray$(elementType)); 398 return setType(obj, _interceptors.JSArray$(elementType));
399 } 399 }
400 exports.list = list; 400 exports.list = list;
401 401
402 function setBaseClass(derived, base) { 402 function setBaseClass(derived, base) {
403 // Link the extension to the type it's extending as a base class. 403 // Link the extension to the type it's extending as a base class.
404 derived.prototype.__proto__ = base.prototype; 404 derived.prototype.__proto__ = base.prototype;
405 } 405 }
406 exports.setBaseClass = setBaseClass; 406 exports.setBaseClass = setBaseClass;
407 407
408 }); 408 });
OLDNEW
« no previous file with comments | « karma.conf.js ('k') | lib/runtime/_generators.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698