Chromium Code Reviews| 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 { | |
|
vsm
2015/04/03 16:41:20
Can you explain the use case for this annotation?
Jacob
2015/04/03 20:25:59
example
// The d3 library is defined off a JavaSc
| |
| 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 /// Whether an interface is allowed to have JavaScript implementations that | |
| 27 /// use extension methods to provide custom Dart behavior. | |
| 28 class SupportJsExtensionMethod { | |
| 29 const SupportJsExtensionMethod(); | |
| 30 } | |
| 31 | |
| 7 /** | 32 /** |
| 8 * The annotation `@Deprecated('expires when')` marks a feature as deprecated. | 33 * The annotation `@Deprecated('expires when')` marks a feature as deprecated. |
| 9 * | 34 * |
| 10 * The annotation `@deprecated` is a shorthand for deprecating until | 35 * The annotation `@deprecated` is a shorthand for deprecating until |
| 11 * an unspecified "next release". | 36 * an unspecified "next release". |
| 12 * | 37 * |
| 13 * The intent of the `@Deprecated` annotation is to inform users of a feature | 38 * The intent of the `@Deprecated` annotation is to inform users of a feature |
| 14 * that they should change their code, even if it is currently still working | 39 * that they should change their code, even if it is currently still working |
| 15 * correctly. | 40 * correctly. |
| 16 * | 41 * |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 133 * | 158 * |
| 134 * Tools that understand `@proxy` should tell the user if a class using `@proxy` | 159 * Tools that understand `@proxy` should tell the user if a class using `@proxy` |
| 135 * does not override the `noSuchMethod` declared on [Object]. | 160 * does not override the `noSuchMethod` declared on [Object]. |
| 136 * | 161 * |
| 137 * The intent of the `@proxy` notation is to create objects that implement a | 162 * The intent of the `@proxy` notation is to create objects that implement a |
| 138 * type (or multiple types) that are not known at compile time. If the types | 163 * type (or multiple types) that are not known at compile time. If the types |
| 139 * are known at compile time, a class can be written that implements these | 164 * are known at compile time, a class can be written that implements these |
| 140 * types. | 165 * types. |
| 141 */ | 166 */ |
| 142 const Object proxy = const _Proxy(); | 167 const Object proxy = const _Proxy(); |
| OLD | NEW |