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

Side by Side Diff: tool/input_sdk/lib/core/annotations.dart

Issue 1059583002: Extension method support to move us closer to a valid List implementation. (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 8 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) 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 /// Whether an interface is allowed to have JavaScript implementations that
vsm 2015/04/03 16:41:20 Perhaps: A Dart interface may only be implemented
Jacob 2015/04/03 20:25:59 That is correct and clearer. Done.
27 /// use extension methods to provide custom Dart behavior.
28 class SupportJsExtensionMethod {
Jennifer Messerly 2015/04/03 16:25:29 supports?
Jacob 2015/04/03 20:25:59 This annotation name is bad. Got any better ideas?
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
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();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698