Absolutely qualified identifiers

Namespace-qualified identifiersare relative to a “current” namespace, which the programmer can set (and defaults to the root of the global namespace). To ignore the current namespace, an identifier can have anabsolute qualifier.An absolutely qualified name begins with a..For example, the name.base.Listalways refers to the name.base.List,regardless of the current namespace, whereas the namebase.Listwill refer tofoo.base.Listif the current namespace isfoo.

Note thatoperator identifiersmay contain the character..In order for this to not create ambiguity, the rule is as follows:

  1. .by itself is always an operator.
  2. Any other identifier beginning with.is an absolutely qualified identifier.
  3. A.immediately following a namespace is always a namespace separator.
  4. Otherwise a.is treated as part of an operator identifier.

if.is followed by whitespace or another operator character, the.is treated like an operator character. If it's followed by aregular identifiercharacter, it's treated as a namespace separator.