An AST node representing an identifier.
Identifiers may be short (such as width, int, or public), dotted (such as flash.display.Sprite), or parameterized (such as {@code Vector.}). Identifiers serve two purposes: in a declaration of a class, interface, function, variable, constant, or namespace they provide the name of the thing being defined; otherwise they provide a reference to that definition.
In some cases, such as for packages and language identifiers, the declaration is implicit rather than existing in source code or in byte code.