| 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:
|
| *
|
|
|