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

Side by Side Diff: tool/input_sdk/private/foreign_helper.dart

Issue 1200233004: fixes #168, dart:js implementation with a test (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: fix error (window not defined) Created 5 years, 6 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 | « tool/input_sdk/patch/core_patch.dart ('k') | tool/input_sdk/private/isolate_helper.dart » ('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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 library dart._foreign_helper; 5 library dart._foreign_helper;
6 6
7 /** 7 /**
8 * Emits a JavaScript code fragment parameterized by arguments. 8 * Emits a JavaScript code fragment parameterized by arguments.
9 * 9 *
10 * Hash characters `#` in the [codeTemplate] are replaced in left-to-right order 10 * Hash characters `#` in the [codeTemplate] are replaced in left-to-right order
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 /// finishIsolateConstructorFunction in emitter.dart. 120 /// finishIsolateConstructorFunction in emitter.dart.
121 get isolateStatics; 121 get isolateStatics;
122 } 122 }
123 123
124 /** 124 /**
125 * Invokes [function] in the context of [isolate]. 125 * Invokes [function] in the context of [isolate].
126 */ 126 */
127 JS_CALL_IN_ISOLATE(isolate, Function function) {} 127 JS_CALL_IN_ISOLATE(isolate, Function function) {}
128 128
129 /** 129 /**
130 * Converts the Dart closure [function] into a JavaScript closure.
131 *
132 * Warning: This is no different from [RAW_DART_FUNCTION_REF] which means care
133 * must be taken to store the current isolate.
134 */
135 DART_CLOSURE_TO_JS(Function function) {}
136
137 /**
138 * Returns a raw reference to the JavaScript function which implements
139 * [function].
140 *
141 * Warning: this is dangerous, you should probably use
142 * [DART_CLOSURE_TO_JS] instead. The returned object is not a valid
143 * Dart closure, does not store the isolate context or arity.
144 *
145 * A valid example of where this can be used is as the second argument
146 * to V8's Error.captureStackTrace. See
147 * https://code.google.com/p/v8/wiki/JavaScriptStackTraceApi.
148 */
149 RAW_DART_FUNCTION_REF(Function function) {}
150
151 /**
152 * Sets the current isolate to [isolate]. 130 * Sets the current isolate to [isolate].
153 */ 131 */
154 void JS_SET_CURRENT_ISOLATE(isolate) {} 132 void JS_SET_CURRENT_ISOLATE(isolate) {}
155 133
156 /** 134 /**
157 * Creates an isolate and returns it. 135 * Creates an isolate and returns it.
158 */ 136 */
159 JS_CREATE_ISOLATE() {} 137 JS_CREATE_ISOLATE() {}
160 138
161 /** 139 /**
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 } 265 }
288 266
289 /** 267 /**
290 * JavaScript string concatenation. Inputs must be Strings. Corresponds to the 268 * JavaScript string concatenation. Inputs must be Strings. Corresponds to the
291 * HStringConcat SSA instruction and may be constant-folded. 269 * HStringConcat SSA instruction and may be constant-folded.
292 */ 270 */
293 String JS_STRING_CONCAT(String a, String b) { 271 String JS_STRING_CONCAT(String a, String b) {
294 // This body is unused, only here for type analysis. 272 // This body is unused, only here for type analysis.
295 return JS('String', '# + #', a, b); 273 return JS('String', '# + #', a, b);
296 } 274 }
OLDNEW
« no previous file with comments | « tool/input_sdk/patch/core_patch.dart ('k') | tool/input_sdk/private/isolate_helper.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698