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).

The following text is non-normative:

Creating non-const Symbol instances may result in larger output. If possible, use MirrorsUsed from "dart:mirrors" to specify which names might be passed to this constructor.

Source

const factory Symbol(String name) = internal.Symbol;