| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 part of dart.core; | 5 part of dart.core; |
| 6 | 6 |
| 7 // TODO(jacobr): move these annotations to a different package. E.g. dart:js | |
| 8 | |
| 9 class JsName { | |
| 10 /// The JavaScript name. | |
| 11 /// Used for classes and libraries. | |
| 12 /// Note that this could be an expression, e.g. `lib.TypeName` in JS, but it | |
| 13 /// should be kept simple, as it will be generated directly into the code. | |
| 14 final String name; | |
| 15 const JsName({this.name}); | |
| 16 } | |
| 17 | |
| 18 class JsPeerInterface { | |
| 19 /// The JavaScript type that we should match the API of. | |
| 20 /// Used for classes where Dart subclasses should be callable from JavaScript | |
| 21 /// matching the JavaScript calling conventions. | |
| 22 final String name; | |
| 23 const JsPeerInterface({this.name}); | |
| 24 } | |
| 25 | |
| 26 /// A Dart interface may only be implemented by a native JavaScript object | |
| 27 /// if it is marked with this annotation. | |
| 28 class SupportJsExtensionMethod { | |
| 29 const SupportJsExtensionMethod(); | |
| 30 } | |
| 31 | |
| 32 /** | 7 /** |
| 33 * The annotation `@Deprecated('expires when')` marks a feature as deprecated. | 8 * The annotation `@Deprecated('expires when')` marks a feature as deprecated. |
| 34 * | 9 * |
| 35 * The annotation `@deprecated` is a shorthand for deprecating until | 10 * The annotation `@deprecated` is a shorthand for deprecating until |
| 36 * an unspecified "next release". | 11 * an unspecified "next release". |
| 37 * | 12 * |
| 38 * The intent of the `@Deprecated` annotation is to inform users of a feature | 13 * The intent of the `@Deprecated` annotation is to inform users of a feature |
| 39 * that they should change their code, even if it is currently still working | 14 * that they should change their code, even if it is currently still working |
| 40 * correctly. | 15 * correctly. |
| 41 * | 16 * |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 158 * | 133 * |
| 159 * Tools that understand `@proxy` should tell the user if a class using `@proxy` | 134 * Tools that understand `@proxy` should tell the user if a class using `@proxy` |
| 160 * does not override the `noSuchMethod` declared on [Object]. | 135 * does not override the `noSuchMethod` declared on [Object]. |
| 161 * | 136 * |
| 162 * The intent of the `@proxy` notation is to create objects that implement a | 137 * The intent of the `@proxy` notation is to create objects that implement a |
| 163 * type (or multiple types) that are not known at compile time. If the types | 138 * type (or multiple types) that are not known at compile time. If the types |
| 164 * are known at compile time, a class can be written that implements these | 139 * are known at compile time, a class can be written that implements these |
| 165 * types. | 140 * types. |
| 166 */ | 141 */ |
| 167 const Object proxy = const _Proxy(); | 142 const Object proxy = const _Proxy(); |
| OLD | NEW |