| // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /// @assertion const Symbol(String name) |
| /// Constructs a new Symbol. |
| /// |
| /// 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 preceded 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 no library name declaration). |
| /// @description Checks that ArgumentError is thrown if name starts with an |
| /// underscore. |
| /// @author ilya |
| /// @issue 13715 |
| /// @issue 11669 |
| |
| import "../../../Utils/expect.dart"; |
| |
| main() { |
| Expect.throws(() {new Symbol('_foo');}, (e) => e is ArgumentError); |
| } |