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

Unified Diff: sdk/lib/core/symbol.dart

Issue 140643006: Update documentation on Symbol. Make validation match. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Remove unnecessry lookahead Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | sdk/lib/internal/symbol.dart » ('j') | sdk/lib/internal/symbol.dart » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sdk/lib/core/symbol.dart
diff --git a/sdk/lib/core/symbol.dart b/sdk/lib/core/symbol.dart
index c92001af498dd2c8ffdff3761f09cfc16965311a..9f33e3a6399b65d5e5e8694d90dbe37990a9ee19 100644
--- a/sdk/lib/core/symbol.dart
+++ b/sdk/lib/core/symbol.dart
@@ -9,10 +9,24 @@ class Symbol {
/**
* Constructs a new Symbol.
*
- * An [ArgumentError] is thrown if [name] starts with an underscore, or if
- * [name] is not a [String]. An [ArgumentError] is thrown if [name] is not
- * an empty string and is not a valid qualified identifier optionally
- * followed by [:'=':].
+ * The name must be a valid public Dart member name,
+ * public constructor name, or library name, optionally qualified.
+ *
+ * A qualified name is a valid name preceded by a public identifier name
+ * and a '`.`', e.g., `foo.bar.baz=` is a qualified version of `baz=`.
+ * That means that the content of the [name] String must be either
+ *
+ * * a valid public Dart identifier
+ * (that is, an identifier not starting with "`_`"),
+ * * such an identifier followed by "=" (a setter name),
+ * * the name of a declarable operator
+ * (one of "`+`", "`-`", "`*`", "`/`", "`%`", "`~/`", "`&`", "`|`",
+ * "`^`", "`~`", "`<<`", "`>>`", "`<`", "`<=`", "`>`", "`>=`", "`==`",
+ * "`[]`", "`[]=`", or "`unary-`"),
+ * * any of the above preceeded by any number of qualifiers,
+ * where a qualifier is a non-private identifier followed by '`.`',
+ * * or the empty string (the default name of a library with not library
+ * name declaration).
*
* The following text is non-normative:
*
« no previous file with comments | « no previous file | sdk/lib/internal/symbol.dart » ('j') | sdk/lib/internal/symbol.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698