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

Side by Side Diff: pkg/dev_compiler/tool/input_sdk/lib/js/dart2js/js_dart2js.dart

Issue 2850783002: Dart SDK Spelling b, c, and d. (Closed)
Patch Set: Created 3 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 // 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 /** 5 /**
6 * Support for interoperating with JavaScript. 6 * Support for interoperating with JavaScript.
7 * 7 *
8 * This library provides access to JavaScript objects from Dart, allowing 8 * This library provides access to JavaScript objects from Dart, allowing
9 * Dart code to get and set properties, and call methods of JavaScript objects 9 * Dart code to get and set properties, and call methods of JavaScript objects
10 * and invoke JavaScript functions. The library takes care of converting 10 * and invoke JavaScript functions. The library takes care of converting
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 * * `TypedData`, including its subclasses like `Int32List`, but _not_ 69 * * `TypedData`, including its subclasses like `Int32List`, but _not_
70 * `ByteBuffer` 70 * `ByteBuffer`
71 * * `Window` 71 * * `Window`
72 * 72 *
73 * ## Converting collections with JsObject.jsify() 73 * ## Converting collections with JsObject.jsify()
74 * 74 *
75 * To create a JavaScript collection from a Dart collection use the 75 * To create a JavaScript collection from a Dart collection use the
76 * [JsObject.jsify] constructor, which converts Dart [Map]s and [Iterable]s 76 * [JsObject.jsify] constructor, which converts Dart [Map]s and [Iterable]s
77 * into JavaScript Objects and Arrays. 77 * into JavaScript Objects and Arrays.
78 * 78 *
79 * The following expression creats a new JavaScript object with the properties 79 * The following expression creates a new JavaScript object with the properties
80 * `a` and `b` defined: 80 * `a` and `b` defined:
81 * 81 *
82 * var jsMap = new JsObject.jsify({'a': 1, 'b': 2}); 82 * var jsMap = new JsObject.jsify({'a': 1, 'b': 2});
83 * 83 *
84 * This expression creates a JavaScript array: 84 * This expression creates a JavaScript array:
85 * 85 *
86 * var jsArray = new JsObject.jsify([1, 2, 3]); 86 * var jsArray = new JsObject.jsify([1, 2, 3]);
87 */ 87 */
88 library dart.js; 88 library dart.js;
89 89
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 /// future if Dart2Js is refactored so that its function calling conventions 561 /// future if Dart2Js is refactored so that its function calling conventions
562 /// are more compatible with JavaScript. 562 /// are more compatible with JavaScript.
563 Function/*=F*/ allowInterop/*<F extends Function>*/(Function/*=F*/ f) => f; 563 Function/*=F*/ allowInterop/*<F extends Function>*/(Function/*=F*/ f) => f;
564 564
565 Expando<Function> _interopCaptureThisExpando = new Expando<Function>(); 565 Expando<Function> _interopCaptureThisExpando = new Expando<Function>();
566 566
567 /// Returns a [Function] that when called from JavaScript captures its 'this' 567 /// Returns a [Function] that when called from JavaScript captures its 'this'
568 /// binding and calls [f] with the value of this passed as the first argument. 568 /// binding and calls [f] with the value of this passed as the first argument.
569 /// When called from Dart, [null] will be passed as the first argument. 569 /// When called from Dart, [null] will be passed as the first argument.
570 /// 570 ///
571 /// See the documention for [allowInterop]. This method should only be used with 571 /// See the documentation for [allowInterop]. This method should only be used
572 /// package:js Dart-JavaScript interop. 572 /// with package:js Dart-JavaScript interop.
573 Function allowInteropCaptureThis(Function f) { 573 Function allowInteropCaptureThis(Function f) {
574 var ret = _interopCaptureThisExpando[f]; 574 var ret = _interopCaptureThisExpando[f];
575 if (ret == null) { 575 if (ret == null) {
576 ret = JS( 576 ret = JS(
577 '', 577 '',
578 'function(/*...arguments*/) {' 578 'function(/*...arguments*/) {'
579 ' let args = [this];' 579 ' let args = [this];'
580 ' for (let arg of arguments) {' 580 ' for (let arg of arguments) {'
581 ' args.push(arg);' 581 ' args.push(arg);'
582 ' }' 582 ' }'
583 ' return #(...args);' 583 ' return #(...args);'
584 '}', 584 '}',
585 f); 585 f);
586 _interopCaptureThisExpando[f] = ret; 586 _interopCaptureThisExpando[f] = ret;
587 } 587 }
588 return ret; 588 return ret;
589 } 589 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698