| OLD | NEW |
| 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 _foreign_helper; | 5 library _foreign_helper; |
| 6 | 6 |
| 7 import 'dart:_js_embedded_names' show JsGetName, JsBuiltin; | 7 import 'dart:_js_embedded_names' show JsGetName, JsBuiltin; |
| 8 | 8 |
| 9 /** | 9 /** |
| 10 * Emits a JavaScript code fragment parameterized by arguments. | 10 * Emits a JavaScript code fragment parameterized by arguments. |
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 191 | 191 |
| 192 /** | 192 /** |
| 193 * Returns the interceptor for class [type]. The interceptor is the type's | 193 * Returns the interceptor for class [type]. The interceptor is the type's |
| 194 * constructor's `prototype` property. [type] will typically be the class, not | 194 * constructor's `prototype` property. [type] will typically be the class, not |
| 195 * an interface, e.g. `JS_INTERCEPTOR_CONSTANT(JSInt)`, not | 195 * an interface, e.g. `JS_INTERCEPTOR_CONSTANT(JSInt)`, not |
| 196 * `JS_INTERCEPTOR_CONSTANT(int)`. | 196 * `JS_INTERCEPTOR_CONSTANT(int)`. |
| 197 */ | 197 */ |
| 198 JS_INTERCEPTOR_CONSTANT(Type type) {} | 198 JS_INTERCEPTOR_CONSTANT(Type type) {} |
| 199 | 199 |
| 200 /** | 200 /** |
| 201 * Returns the prefix used for generated type argument substitutions on classes. | |
| 202 */ | |
| 203 String JS_OPERATOR_AS_PREFIX() {} | |
| 204 | |
| 205 /** | |
| 206 * Returns the field name used for determining if an object or its | |
| 207 * interceptor has JavaScript indexing behavior. | |
| 208 */ | |
| 209 String JS_IS_INDEXABLE_FIELD_NAME() {} | |
| 210 | |
| 211 /** | |
| 212 * Returns the object corresponding to Namer.CURRENT_ISOLATE. | 201 * Returns the object corresponding to Namer.CURRENT_ISOLATE. |
| 213 */ | 202 */ |
| 214 JS_CURRENT_ISOLATE() {} | 203 JS_CURRENT_ISOLATE() {} |
| 215 | 204 |
| 216 /// Returns the name used for generated function types on classes and methods. | |
| 217 String JS_SIGNATURE_NAME() {} | |
| 218 | |
| 219 /// Returns the name used to tag typedefs. | |
| 220 String JS_TYPEDEF_TAG() {} | |
| 221 | |
| 222 /** | |
| 223 * Returns the name used to tag void return in function type representations | |
| 224 * in JavaScript. | |
| 225 */ | |
| 226 String JS_FUNCTION_TYPE_VOID_RETURN_TAG() {} | |
| 227 | |
| 228 /** | |
| 229 * Returns the name used to tag return types in function type representations | |
| 230 * in JavaScript. | |
| 231 */ | |
| 232 String JS_FUNCTION_TYPE_RETURN_TYPE_TAG() {} | |
| 233 | |
| 234 /** | |
| 235 * Returns the name used to tag required parameters in function type | |
| 236 * representations in JavaScript. | |
| 237 */ | |
| 238 String JS_FUNCTION_TYPE_REQUIRED_PARAMETERS_TAG() {} | |
| 239 | |
| 240 /** | |
| 241 * Returns the name used to tag optional parameters in function type | |
| 242 * representations in JavaScript. | |
| 243 */ | |
| 244 String JS_FUNCTION_TYPE_OPTIONAL_PARAMETERS_TAG() {} | |
| 245 | |
| 246 /** | |
| 247 * Returns the name used to tag named parameters in function type | |
| 248 * representations in JavaScript. | |
| 249 */ | |
| 250 String JS_FUNCTION_TYPE_NAMED_PARAMETERS_TAG() {} | |
| 251 | |
| 252 /// Returns the JS name for [name] from the Namer. | 205 /// Returns the JS name for [name] from the Namer. |
| 253 String JS_GET_NAME(JsGetName name) {} | 206 String JS_GET_NAME(JsGetName name) {} |
| 254 | 207 |
| 255 /// Reads an embedded global. | 208 /// Reads an embedded global. |
| 256 /// | 209 /// |
| 257 /// The [name] should be a constant defined in the `_embedded_names` library. | 210 /// The [name] should be a constant defined in the `_embedded_names` library. |
| 258 JS_EMBEDDED_GLOBAL(String typeDescription, String name) {} | 211 JS_EMBEDDED_GLOBAL(String typeDescription, String name) {} |
| 259 | 212 |
| 260 /// Instructs the compiler to execute the [builtinName] action at the call-site. | 213 /// Instructs the compiler to execute the [builtinName] action at the call-site. |
| 261 /// | 214 /// |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 302 } | 255 } |
| 303 | 256 |
| 304 /** | 257 /** |
| 305 * JavaScript string concatenation. Inputs must be Strings. Corresponds to the | 258 * JavaScript string concatenation. Inputs must be Strings. Corresponds to the |
| 306 * HStringConcat SSA instruction and may be constant-folded. | 259 * HStringConcat SSA instruction and may be constant-folded. |
| 307 */ | 260 */ |
| 308 String JS_STRING_CONCAT(String a, String b) { | 261 String JS_STRING_CONCAT(String a, String b) { |
| 309 // This body is unused, only here for type analysis. | 262 // This body is unused, only here for type analysis. |
| 310 return JS('String', '# + #', a, b); | 263 return JS('String', '# + #', a, b); |
| 311 } | 264 } |
| OLD | NEW |